Skip to main content
claude — ~/projects/frontend
look at my tickets in “To Do” and make a plan for how I should prioritize and finish them
janet-ai - list_tickets (MCP)(project_key: “SW”, status: “To Do”, assignees: [“me”])
janet-ai - list_tickets (MCP)(project_key: “SW”, status: “To Do”, assignees: [“me”])
You have 4 tickets in To Do. Here’s how I’d tackle them:
1. SW-84 SSO token refresh — blocking other auth work, fix first
2. SW-71 OAuth callback timeout — related to SSO, do right after
3. SW-63 Session cookie fix — standalone, quick win
4. SW-58 Safari redirect — lowest impact, last
Want me to spawn agents to start working through these?
Give AI agents like Claude Code, Cursor, and Codex full access to your Janet AI workspace. Create & resolve tickets, manage sprints, and more.

Setup

Run this command in your terminal:
Then run /mcp in Claude Code and complete the OAuth flow to connect your Janet AI Organization.

What You Can Do

Once connected, just talk to your AI agent naturally:

Available Tools

The MCP server exposes 40 tools that your AI agent discovers and uses automatically.
Get user info, organization, projects, statuses, and members.
Get platform documentation and usage guidance.
List tickets with optional filters (status, priority, assignee, keyword, dates).
Get full ticket details including description, comments, and child tasks for one or more tickets.
Create one or more tickets in a single call (title, description, status, priority, assignees, labels, sprint, due date, scheduled activation).
Batch update ticket fields (status, priority, assignees, labels, due date).
Soft-delete one or more tickets in a single call. Restorable.
Restore one or more previously deleted tickets together with their child tasks.
Reposition a ticket: top, bottom, at:N, before/after, within kanban, sprint, or objective. Also supports column-wide sort and reorder.
Semantic search across tickets by meaning.
Attach context to one or more tickets in a single call. The type arg picks the source: slack (permalink or manual reporter+message), discord (permalink or manual username+message), email (sender, subject, body), pull_request (URL), web_link (URL), or document (Janet AI doc by UUID or exact title — idempotent).
List every context item on a ticket (Slack/Discord/email messages, PRs, web links, linked Janet docs, meetings, Google Docs) with its id + short description. Call this before remove_context_from_ticket.
Remove a context item from a ticket by id (id comes from list_ticket_context). Works on any context type.
List child tasks for a ticket.
Create one or more child tasks on a ticket in a single call.
Batch update child task title, status, priority, or assignee.
Delete one or more child tasks in a single call.
List comments on a ticket.
Add one or more comments to one or more tickets in a single call.
Batch edit existing comments. Edit history is preserved (the original row is deactivated, a new row inserted with the original created_at).
Delete one or more comments in a single call.
List sprints with status, dates, and ticket counts.
Create a new sprint.
Update a sprint’s name, dates, status, or description.
Add tickets to a sprint.
Remove tickets from a sprint.
List tickets in a sprint grouped by status.
List objectives with status, priority, and ticket counts.
Create a new objective.
Update an objective’s name, status, priority, or assignees.
Delete an objective.
Add tickets to an objective.
Remove tickets from an objective.
List tickets in an objective grouped by status.
List documents in the workspace.
Get a document’s full content.
Create a document with title and markdown content.
Update a document’s title or content.
Search the web for current information.
Post an activity message to the user’s JanetClaw feed for distinct JanetClaw actions (creating a ticket from email, adding context, moving tickets when a PR merges, etc.). Pass ticket_key — click-through URLs resolve automatically.

Activity Log

Every MCP tool call is logged and visible in the MCP pageUsage tab in your dashboard. Organization admins see all members’ calls; members see only their own.

Troubleshooting

Cannot connect / authentication errors

If your client fails to connect, try:
  1. Clear existing auth — In your client, remove and re-add the MCP server to trigger a fresh OAuth flow.
  2. Check your organization — During sign-in, make sure you select the correct organization.
  3. Restart your client — Some clients need a full restart after the OAuth flow completes.

FAQ

The MCP server enforces per-user rate limits. If you hit a 429 Too Many Requests error, wait a minute before retrying. Typical limits are 200 requests/minute and 5,000 requests/hour per user.If you consistently hit rate limits, contact support@janet.ai.
mcporter lets you call MCP tools directly as CLI commands — no agent required.First, install it globally:
Authenticate once locally:
Then call any tool directly from the command line:
First, install it globally and authenticate on your local machine:
Credentials are stored in ~/.mcporter/credentials.json — copy that file’s contents as a secret or environment variable in your cloud environment so scripts can run without an interactive OAuth flow.For example, a Python script that creates a ticket:
Some agent runtimes support HTTP-based MCP servers but don’t implement the OAuth PKCE flow required by Janet AI (e.g. OpenClaw). You can proxy through mcp-remote to handle auth transparently.First, install it:
Then trigger the OAuth flow in your terminal:
Then configure your agent to use it:
mcp-remote runs locally, performs the PKCE handshake with https://mcp.janet.ai/mcp on your behalf, and exposes the server over stdio to your agent. This works with any client that supports stdio-based MCP servers.