io.github.stayce/shortcut-mcp
编码与调试by stayce
Shortcut project management. Create, update, search stories and manage workflows.
什么是 io.github.stayce/shortcut-mcp?
Shortcut project management. Create, update, search stories and manage workflows.
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
| Action | Purpose |
|---|---|
search | Find stories (default: your active stories); text query or structured filters |
get | Story details by ID or URL |
update | Change state, estimate, owner, type, name, or description |
comment | Add comment to story |
create | Create story with type, estimate, state, epic, owner, description |
epic | Epic details with its stories |
api | Raw REST API access for everything else |
help | Documentation |
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:
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:
{
"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-here
Authorization: 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):
curl -s https://streamshortcut.staycek.workers.dev/health
Confirm your token is valid, straight against Shortcut:
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:
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
| Symptom | Cause |
|---|---|
401 Missing Shortcut API token | No token sent — use either X-Shortcut-Token or Authorization: Bearer |
Error: API error (401): Unauthorized | Token reached the server but Shortcut rejected it — expired or wrong token, or an unexpanded ${SHORTCUT_API_TOKEN} placeholder sent literally |
403 Forbidden from the worker | Cloudflare 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 edit | Claude needs a restart; it only reads MCP config at startup |
Deploy Your Own (Optional)
If you prefer to self-host:
-
Clone and install:
bashgit clone https://github.com/stayce/streamshortcut-cloudflare cd streamshortcut-cloudflare npm install -
Deploy:
bashnpm run deploy
No server-side secrets needed — users always provide their own token.
Development
npm run dev # local server on http://localhost:8787
npm run typecheck # tsc --noEmit
npm run build # verify the Worker bundles (dry-run deploy)
Examples
{"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
- streamshortcut - Original stdio version for local use
License
MIT
常见问题
io.github.stayce/shortcut-mcp 是什么?
Shortcut project management. Create, update, search stories and manage workflows.
相关 Skills
前端设计
by anthropics
面向组件、页面、海报和 Web 应用开发,按鲜明视觉方向生成可直接落地的前端代码与高质感 UI,适合做 landing page、Dashboard 或美化现有界面,避开千篇一律的 AI 审美。
✎ 想把页面做得既能上线又有设计感,就用前端设计:组件到整站都能产出,难得的是能避开千篇一律的 AI 味。
网页应用测试
by anthropics
用 Playwright 为本地 Web 应用编写自动化测试,支持启动开发服务器、校验前端交互、排查 UI 异常、抓取截图与浏览器日志,适合调试动态页面和回归验证。
✎ 借助 Playwright 一站式验证本地 Web 应用前端功能,调 UI 时还能同步查看日志和截图,定位问题更快。
网页构建器
by anthropics
面向复杂 claude.ai HTML artifact 开发,快速初始化 React + Tailwind CSS + shadcn/ui 项目并打包为单文件 HTML,适合需要状态管理、路由或多组件交互的页面。
✎ 在 claude.ai 里做复杂网页 Artifact 很省心,多组件、状态和路由都能顺手搭起来,React、Tailwind 与 shadcn/ui 组合效率高、成品也更精致。
相关 MCP Server
GitHub
编辑精选by GitHub
GitHub 是 MCP 官方参考服务器,让 Claude 直接读写你的代码仓库和 Issues。
✎ 这个参考服务器解决了开发者想让 AI 安全访问 GitHub 数据的问题,适合需要自动化代码审查或 Issue 管理的团队。但注意它只是参考实现,生产环境得自己加固安全。
Context7 文档查询
编辑精选by Context7
Context7 是实时拉取最新文档和代码示例的智能助手,让你告别过时资料。
✎ 它能解决开发者查找文档时信息滞后的问题,特别适合快速上手新库或跟进更新。不过,依赖外部源可能导致偶尔的数据延迟,建议结合官方文档使用。
by tldraw
tldraw 是让 AI 助手直接在无限画布上绘图和协作的 MCP 服务器。
✎ 这解决了 AI 只能输出文本、无法视觉化协作的痛点——想象让 Claude 帮你画流程图或白板讨论。最适合需要快速原型设计或头脑风暴的开发者。不过,目前它只是个基础连接器,你得自己搭建画布应用才能发挥全部潜力。