Shortcut Mcp

io.github.staycePublished by GitHub account staycev1.0.0Updated Oct 24, 2026

Shortcut project management. Create, update, search stories and manage workflows.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowDeveloper Tools

Overview

AI-generated overview

Remote MCP server for Shortcut project management that lets an assistant search, read, create and update stories, comment, and inspect epics through one…

What you can do
  • Search and read stories by text query, structured filters, ID or URL, and view epic details with their stories
  • Create and update stories, including state, estimate, owner, type, name and description
  • Add comments to stories
  • Call the raw Shortcut REST API for anything the other actions do not cover
  • Show built-in documentation through a help action
When to use it
Useful when you work in Shortcut and want an assistant to look up your active stories, triage or update them, file new bugs, or post comments without leaving the chat. It is a lightweight alternative to the official Shortcut MCP, using far fewer tokens for tool definitions.
Requirements
A remote endpoint at the provider's Cloudflare Workers URL; no local install. You must supply your own Shortcut API token, sent as an X-Shortcut-Token header or as an Authorization Bearer header. The client must be restarted after configuration, and some HTTP clients need a normal User-Agent to get past bot protection.
Before you install
The server asks for your personal Shortcut API token, which grants access to your Shortcut workspace; the README recommends putting the literal token in the client config, so it is stored in plain text there. Actions can create and update stories and post comments, and the raw API action can perform other writes. Requests are forwarded to Shortcut with your token.

Installation

In SourceWeft

  1. Open Shortcut Mcp in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.stayce%2Fshortcut-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "shortcut": {
      "type": "http",
      "url": "https://streamshortcut.staycek.workers.dev/mcp"
    }
  }
}

README

StreamShortcut (Cloudflare Workers)

A lightweight Shortcut MCP deployed on Cloudflare Workers. One tool, eight actions.

Live URL: https://streamshortcut.staycek.workers.dev/mcp

Why?

The official @shortcut/mcp uses ~11,652 tokens for tool definitions (52 tools). StreamShortcut uses ~500 tokens — a ~96% reduction.

Actions

ActionPurpose
searchFind stories (default: your active stories); text query or structured filters
getStory details by ID or URL
updateChange state, estimate, owner, type, name, or description
commentAdd comment to story
createCreate story with type, estimate, state, epic, owner, description
epicEpic details with its stories
apiRaw REST API access for everything else
helpDocumentation

Usage with Claude

You must provide your own Shortcut API token. Get one at: https://app.shortcut.com/settings/account/api-tokens

Option 1: claude mcp add (recommended)

One command, no file editing. Replace YOUR_TOKEN with your real token:

bash
claude mcp add --transport http shortcut https://streamshortcut.staycek.workers.dev/mcp --header "X-Shortcut-Token: YOUR_TOKEN"

Use -s user to make it available in every project instead of just the current one.

Option 2: Edit the config directly

Add this to your Claude Desktop / Claude Code config:

json
{  "mcpServers": {    "shortcut": {      "type": "http",      "url": "https://streamshortcut.staycek.workers.dev/mcp",      "headers": {        "X-Shortcut-Token": "your-token-here"      }    }  }}

Put the literal token in the config. A "${SHORTCUT_API_TOKEN}" reference only resolves if the variable is present in the environment the app was launched from. On macOS, apps started from the Dock or Finder do not read ~/.zshrc, so the variable will be undefined and the server will fail to authenticate. Environment references work reliably only when you launch from a terminal.

Either way, restart Claude afterwards so the new server is picked up.

Authentication

The server is stateless and stores nothing — every request carries your own token, and it is never persisted. Send it either way:

X-Shortcut-Token: your-token-hereAuthorization: Bearer your-token-here

X-Shortcut-Token takes precedence if both are present. There is no OAuth flow; an unauthenticated request returns 401 with a WWW-Authenticate header.

Verify It Works

Check the service is up (no token needed):

bash
curl -s https://streamshortcut.staycek.workers.dev/health

Confirm your token is valid, straight against Shortcut:

bash
curl -s -o /dev/null -w "%{http_code}\n" https://api.app.shortcut.com/api/v3/member -H "Shortcut-Token: YOUR_TOKEN"

200 means the token is good; 401 means it's wrong or expired.

Then test the full path — this returns your active stories:

bash
curl -s https://streamshortcut.staycek.workers.dev/mcp -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -H "X-Shortcut-Token: YOUR_TOKEN" -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"shortcut","arguments":{"action":"search"}}}'

Once configured in Claude, just ask: "show me my Shortcut stories."

Troubleshooting

SymptomCause
401 Missing Shortcut API tokenNo token sent — use either X-Shortcut-Token or Authorization: Bearer
Error: API error (401): UnauthorizedToken reached the server but Shortcut rejected it — expired or wrong token, or an unexpanded ${SHORTCUT_API_TOKEN} placeholder sent literally
403 Forbidden from the workerCloudflare bot protection. Some default HTTP clients (e.g. Python's urllib) are blocked by user agent — set a normal User-Agent header
Server missing after config editClaude needs a restart; it only reads MCP config at startup

Deploy Your Own (Optional)

If you prefer to self-host:

  1. Clone and install:

    bash
    git clone https://github.com/stayce/streamshortcut-cloudflarecd streamshortcut-cloudflarenpm install
  2. Deploy:

    bash
    npm run deploy

No server-side secrets needed — users always provide their own token.

Development

bash
npm run dev        # local server on http://localhost:8787npm run typecheck  # tsc --noEmitnpm run build      # verify the Worker bundles (dry-run deploy)

Examples

json
{"action": "search"}{"action": "search", "query": {"owner": "me", "state": "In Progress"}}{"action": "get", "id": "704"}{"action": "update", "id": "704", "state": "Done"}{"action": "comment", "id": "704", "body": "Fixed!"}{"action": "create", "name": "New bug", "type": "bug", "estimate": 3, "state": "Ready", "owner": "me"}{"action": "epic", "id": "308"}{"action": "api", "method": "GET", "path": "/workflows"}{"action": "help"}

Related

License

MIT

Source: README.md at commit 748f962

Tools

0
This server asks for a credential such as an API key, so SourceWeft could not read its tools without one and has not indexed them.

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts