@sprintsync/mcp
v0.2.0
Published
Model Context Protocol server for Sprint Sync — lets Claude Code, Cursor and other AI tools read and file work directly into your board.
Maintainers
Readme
Sprint Sync MCP server
Connects Sprint Sync to Claude Code, Claude Desktop, Cursor and anything else that speaks the Model Context Protocol. Once it's connected you can ask the assistant to read your board and file work onto it, and it happens directly — no copying task lists out of a chat window.
Setup
1. Get a key. In Sprint Sync, go to Settings → API Keys → Create key. Give it read and write. Copy it — it's shown once.
2. Add it to your tool.
Claude Code:
claude mcp add sprint-sync \
--env SPRINTSYNC_API_KEY=ss_live_your_key_here \
-- npx -y @sprintsync/mcpClaude Desktop or Cursor — add to the MCP config file:
{
"mcpServers": {
"sprint-sync": {
"command": "npx",
"args": ["-y", "@sprintsync/mcp"],
"env": { "SPRINTSYNC_API_KEY": "ss_live_your_key_here" }
}
}
}3. Restart the tool. Ask it "what Sprint Sync projects can you see?" to check.
Using it
Once connected, ask in plain language:
- "Look at the auth module and file the tech debt you find as tasks in EMP"
- "Break the checkout redesign into a sprint with a QA checklist"
- "What's still open in the current sprint?"
- "Move EMP-231 to Done"
For anything bigger than a single task the assistant should use import_plan,
which creates the epic, sprints, tasks, subtasks and QA checks in one
transaction. If any part is invalid, nothing is created — you never end up with
half a sprint to clean up by hand.
Ask for a dry run first if you want to see the shape before it commits: "plan the sprint but show me what you'd create before you create it."
Tools
| Tool | What it does |
|---|---|
| list_projects | Projects this key can reach |
| get_project_config | The exact status, priority and component names this project accepts |
| list_tasks | Tasks in a project, newest first |
| create_task | One task |
| update_task | Change a task, usually to move its status |
| import_plan | A whole breakdown in one transaction |
get_project_config matters more than it looks. Statuses and priorities are
configured per organization, so an assistant that guesses "Urgent" when your org
calls it "Critical" gets rejected. The tool description tells it to check first.
What a key can't do
A key acts as the person who created it and can never do more than they can. On top of that, some things are closed to every key at any permission level:
- Creating, changing or deleting organizations and projects
- Billing, ownership transfer, roles and membership
- Creating other keys, or pointing webhooks somewhere new
Those stay in the app. A leaked key can make a mess of your tasks; it cannot take your account.
You can also limit a key to specific projects when you create it, which is worth doing for anything running unattended in CI.
Configuration
| Variable | Required | Default |
|---|---|---|
| SPRINTSYNC_API_KEY | yes | — |
| SPRINTSYNC_API_URL | no | https://api.sprintsync.balajitech.xyz |
Set SPRINTSYNC_API_URL if you're self-hosting or pointing at a staging server.
Troubleshooting
"No API key" — the env var isn't reaching the process. In Claude Code check
claude mcp list; in a JSON config check the env block is inside the server
entry, not next to it.
"Invalid or revoked API key" — the key was revoked, expired, or belongs to a deactivated user. Create a new one.
"This API key lacks the 'write' scope" — it was created read-only. Keys can't be edited; create a new one with read and write.
"Project X not found" — the API can't create projects by design. Create it in Sprint Sync first, then retry.
Assistant can't see the server — restart the tool completely. Most clients only read MCP config at startup.
Requirements
Node 18 or newer. Sprint Sync on a Premium plan.
