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:
claude mcp add janet-ai --transport http https://mcp.janet.ai/mcp
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:
Use caseExample prompt
Find tickets”Show me my assigned tickets in MAIN”
Search”Search for tickets about authentication”
Create tickets”Create a high-priority bug for the login redirect issue”
Schedule tickets”Schedule a ticket for tomorrow at 9am to review the deployment”
Update tickets”Move MAIN-452 to In Progress”
Manage sprints”Add MAIN-100 and MAIN-101 to Sprint 3”
Create objectives”Create an objective called Q2 Launch with high priority”
Manage objectives”Add MAIN-100 and MAIN-101 to the Q2 Launch objective”
Add comments”Add a comment to MAIN-100 saying the fix is deployed”
Break down work”Create child tasks on MAIN-200 for each component”
Sort & organize”Sort the To Do column by priority”
Web search”What are the best libraries for rate limiting in Node.js?”
Write docs”Create a document called API Design with the proposed structure”

Available Tools

The MCP server exposes 36 tools that your AI agent discovers and uses automatically:
get_workspace_context
Get user info, organization, projects, statuses, and members.
get_platform_guidance
Get platform documentation and usage guidance.
list_tickets
List tickets with optional filters (status, priority, assignee, keyword, dates).
get_tickets
Get full ticket details including description, comments, and child tasks.
create_ticket
Create a ticket with title, description, status, priority, assignees, labels, sprint.
update_tickets
Batch update ticket fields (status, priority, assignees, labels, due date).
delete_ticket
Soft-delete a ticket. Restorable.
restore_ticket
Restore a previously deleted ticket.
move_ticket
Reposition a ticket: top, bottom, at:N, before/after, within kanban, sprint, or objective.
search_tickets_semantic
Semantic search across tickets by meaning.
list_child_tasks
List child tasks for a ticket.
create_child_task
Create a child task on a ticket.
update_child_task
Update a child task’s title, status, priority, or assignee.
delete_child_task
Delete a child task.
list_comments
List comments on a ticket.
add_comment
Add a comment to a ticket.
edit_comment
Edit an existing comment.
delete_comment
Delete a comment.
list_sprints
List sprints with status, dates, and ticket counts.
create_sprint
Create a new sprint.
update_sprint
Update a sprint’s name, dates, status, or description.
add_sprint_tickets
Add tickets to a sprint.
remove_sprint_tickets
Remove tickets from a sprint.
list_sprint_tickets
List tickets in a sprint grouped by status.
list_objectives
List objectives with status, priority, and ticket counts.
create_objective
Create a new objective.
update_objective
Update an objective’s name, status, priority, or assignees.
delete_objective
Delete an objective.
add_objective_tickets
Add tickets to an objective.
remove_objective_tickets
Remove tickets from an objective.
list_objective_tickets
List tickets in an objective grouped by status.
list_documents
List documents in the workspace.
get_document
Get a document’s full content.
create_document
Create a document with title and markdown content.
update_document
Update a document’s title or content.
Search the web for current information.

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:
npm install mcporter
Authenticate once locally:
mcporter auth https://mcp.janet.ai/mcp
Then call any tool directly from the command line:
mcporter call janet-ai.list_tickets --project_key MAIN --status "To Do"
First, install it globally and authenticate on your local machine:
npm install mcporter
mcporter auth https://mcp.janet.ai/mcp
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:
import subprocess

subprocess.run([
    "mcporter", "call", "janet-ai.create_ticket",
    "--title", "Nightly health check failed",
    "--project_key", "MAIN",
    "--priority", "High"
])
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:
npm install mcp-remote
Then trigger the OAuth flow in your terminal:
mcp-remote https://mcp.janet.ai/mcp
Then configure your agent to use it:
{
  "mcpServers": {
    "janet-ai": {
      "command": "mcp-remote",
      "args": ["https://mcp.janet.ai/mcp"]
    }
  }
}
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.