Skip to content

MCP Server — Issue Tracking for AI Agents

runloq ships an MCP (Model Context Protocol) server that lets any MCP-capable agent — Claude Code, Cursor, Codex — interact with your issue backlog as a first-class data source.

No UI. No scraping. No cursor automation. The agent reads, creates, updates, and closes tickets through a clean protocol interface.

Why an MCP server for issue tracking?

MCP is the emerging standard for giving AI agents structured access to tools and data sources. When your issue tracker speaks MCP, your agent can:

  • Read the current backlog without screen-scraping or parsing markdown
  • Create tickets with proper fields (agent, model, priority, description)
  • Update ticket status as it works
  • Close tickets with a summary and audit trail
  • Check which tickets are blocked and skip them automatically

This is the difference between an agent that kind of manages tasks (pastes into chat, hopes context sticks) and an agent that drives a structured backlog end-to-end.

Installation

  1. Install runloq:

    Terminal window
    pipx install runloq
  2. Initialize in your project:

    Terminal window
    cd your-project
    runloq init

    This creates runloq.config.toml at your project root.

  3. Start the MCP server:

    Terminal window
    runloq-mcp

    The server starts on stdio (the MCP transport standard). Your MCP client connects to it automatically.

Configuring your MCP client

Claude Code (claude_desktop_config.json)

{
"mcpServers": {
"prism": {
"command": "runloq-mcp",
"args": [],
"env": {}
}
}
}

Cursor

Add to .cursor/mcp.json in your project:

{
"mcpServers": {
"prism": {
"command": "runloq-mcp"
}
}
}

Available MCP tools

Once connected, your agent has access to these tools:

ToolDescription
prism_listList tickets — filter by status, assignee, project, priority
prism_showGet full ticket detail including audit log and comments
prism_createCreate a new ticket with agent, model, priority, description
prism_updateUpdate ticket fields — status, priority, assignee, agent, model
prism_closeClose a ticket with a summary, files changed, and refs
prism_searchFull-text search across all tickets (FTS5)
prism_contextGet session context — what’s in_progress, what’s scheduled today
prism_commentAdd a comment/activity log entry to a ticket

Example: agent session flow

Agent reads context:
→ prism_context()
→ Returns: SYS-042 in_progress (authentication refactor)
SYS-051 todo/unblocked, P1, agent=backend-dev
Agent picks up SYS-051:
→ prism_show(id="SYS-051")
→ prism_update(id="SYS-051", status="in_progress")
Agent executes the work, then closes:
→ prism_close(
id="SYS-051",
summary="Refactored auth middleware to use PKCE flow",
files=["src/auth/middleware.ts", "src/auth/pkce.ts"],
refs=["PR #123"]
)
runloq auto-removes SYS-051 from blocked_by lists.
If SYS-051 had recurrence=weekly, the next iteration is auto-spawned.

Frequently asked questions

Is there an MCP server for issue tracking? Yes — runloq ships one. runloq-mcp implements the MCP stdio transport and exposes your full backlog to any MCP-capable agent.

Does it work with Claude Code? Yes. runloq has a dedicated Claude Code integration kit that goes beyond the MCP server — it adds CLAUDE.md rules, skills, and hooks so the agent automatically reads and acts on the backlog.

Does it work with Cursor? Yes. Configure it in .cursor/mcp.json as shown above. Cursor’s agent mode will pick up the prism_* tools automatically.

Is the MCP server local or hosted? Local. runloq-mcp reads from your local runloq.db. There is no hosted MCP endpoint. Your data stays on your machine.

Can multiple agents use the same MCP server? Yes. Multiple Claude Code sessions (worktrees, subagents) can connect to the same runloq-mcp instance. The SQLite WAL mode handles concurrent access.

Claude Code integration guide