Shortcut Fastmcp
Shortcut MCP Server powered by FastMCP - manage stories, epics, iterations & more from Claude
Ask AI about Shortcut Fastmcp
Powered by Claude · Grounded in docs
I know everything about Shortcut Fastmcp. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Shortcut MCP Server (FastMCP)
MCP server for Shortcut project management, built with FastMCP.
Manage stories, epics, iterations, objectives, documents, labels, teams, workflows, and more - directly from Claude.
Setup
1. Get a Shortcut API Token
Go to Shortcut API Tokens and generate a token.
2. Install
cd mcp-server-shortcut-fastmcp
uv sync
3. Connect to Claude
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"shortcut": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-server-shortcut-fastmcp", "run", "server.py"],
"env": {
"SHORTCUT_API_TOKEN": "your-token-here"
}
}
}
}
Claude Code (CLI)
Add to your .claude.json or run:
claude mcp add shortcut -- uv --directory /path/to/mcp-server-shortcut-fastmcp run server.py
Set the env var:
export SHORTCUT_API_TOKEN=your-token-here
Claude Web (Remote via SSE)
Run the server with SSE transport:
SHORTCUT_API_TOKEN=your-token-here fastmcp run server.py --transport sse --port 8000
Then add http://localhost:8000/sse as a remote MCP server in Claude settings.
4. Deploy Remotely (optional)
For remote deployment accessible from Claude Web:
# Install FastMCP CLI
pip install fastmcp
# Deploy (e.g. to a cloud server)
SHORTCUT_API_TOKEN=your-token-here fastmcp run server.py --transport sse --host 0.0.0.0 --port 8000
Environment Variables
| Variable | Required | Description |
|---|---|---|
SHORTCUT_API_TOKEN | Yes | Your Shortcut API token |
SHORTCUT_READONLY | No | Set to true to disable write operations |
Available Tools
Users
users_get_current- Get current userusers_get_current_teams- Get current user's teamsusers_list- List all workspace members
Stories
stories_get_by_id- Get story by IDstories_get_history- Get story change historystories_search- Search stories with filtersstories_get_branch_name- Get git branch name for storystories_create- Create a new storystories_update- Update a storystories_assign_current_user- Assign yourself to a storystories_unassign_current_user- Remove yourself from a storystories_create_comment- Comment on a storystories_create_subtask- Create a sub-taskstories_add_subtask- Add existing story as sub-taskstories_remove_subtask- Remove sub-task from parentstories_add_task- Add checklist taskstories_update_task- Update a checklist taskstories_add_relation- Add story relationshipstories_add_external_link- Add external linkstories_remove_external_link- Remove external linkstories_set_external_links- Replace all external linksstories_get_by_external_link- Find stories by external link
Epics
epics_get_by_id- Get epic by IDepics_search- Search epicsepics_create- Create epicepics_update- Update epicepics_create_comment- Comment on epicepics_delete- Delete epic
Iterations
iterations_get_by_id- Get iteration by IDiterations_get_stories- Get stories in iterationiterations_search- Search iterationsiterations_create- Create iterationiterations_update- Update iterationiterations_delete- Delete iterationiterations_get_active- Get active iterationsiterations_get_upcoming- Get upcoming iterations
Objectives
objectives_get_by_id- Get objective by IDobjectives_search- Search objectives
Teams
teams_get_by_id- Get team by IDteams_list- List all teams
Workflows
workflows_get_default- Get default workflowworkflows_get_by_id- Get workflow by IDworkflows_list- List all workflows
Documents
documents_create- Create documentdocuments_update- Update documentdocuments_list- List documentsdocuments_search- Search documentsdocuments_get_by_id- Get document by ID
Labels
labels_list- List labelslabels_get_stories- Get stories by labellabels_create- Create label
Projects
projects_list- List projectsprojects_get_by_id- Get project by IDprojects_get_stories- Get project stories
Custom Fields
custom_fields_list- List custom fields and values
License
MIT
