mcpField
S
shortcut-mcp

shortcut-mcp

リモート
github.com/stayce生産性213 週間前に更新
リポジトリ

shortcut-mcp について

shortcut-mcpはCloudflare Workers上で動作するShortcut向けMCPサーバーです。AIクライアントでプロジェクトを管理するチーム向けに、1つのツールから8種類の操作を提供します。

主な機能

  1. 01条件を指定したストーリー検索
  2. 02ストーリーとEpicの詳細表示
  3. 03ストーリーの作成と更新
  4. 04ストーリーへのコメント追加
  5. 05Shortcut REST APIへのアクセス

活用シーン

  1. 01担当者のアクティブなストーリー検索
  2. 02ストーリーの状態や担当者の変更
  3. 03見積もり付きストーリーの作成
  4. 04Epicやワークフローの確認

MCP 対応

MCPクライアントにShortcutの操作を公開します。各リクエストには利用者自身のShortcut APIトークンが必要で、サーバーには保存されません。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://streamshortcut.staycek.workers.dev/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

StreamShortcut(Cloudflare Workers)

Cloudflare Workers にデプロイされた軽量な Shortcut MCP です。1 つのツールで 8 つのアクションを実行できます。

ライブ URL: https://streamshortcut.staycek.workers.dev/mcp

なぜ?

公式の @shortcut/mcp は、ツール定義に約 11,652 トークンを使用します(52 個のツール)。 StreamShortcut では約 500 トークンで済み、約 96%削減できます。

アクション

アクション目的
searchストーリーを検索します(デフォルト:自分のアクティブなストーリー)。テキストクエリまたは構造化フィルターを使用できます
getID または URL でストーリーの詳細を取得します
update状態、見積もり、担当者、タイプ、名前、説明を変更します
commentストーリーにコメントを追加します
createタイプ、見積もり、状態、エピック、担当者、説明を指定してストーリーを作成します
epicエピックとそのストーリーの詳細を取得します
apiその他すべての操作に使える REST API への直接アクセス
helpドキュメント

Claude での使用方法

ご自身の Shortcut API トークンを必ず用意してください。 次の URL で取得できます:https://app.shortcut.com/settings/account/api-tokens

オプション 1:claude mcp add(推奨)

設定ファイルの編集は不要で、コマンド 1 つで追加できます。YOUR_TOKEN を実際のトークンに置き換えてください:

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

現在のプロジェクトだけでなく、すべてのプロジェクトで使用できるようにするには、-s user を指定します。

オプション 2:設定を直接編集する

次の内容を Claude Desktop/Claude Code の設定に追加します:

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

設定にはトークンをそのまま記述してください。 "${SHORTCUT_API_TOKEN}" の参照が解決されるのは、アプリの 起動時 の環境に変数が存在する場合のみです。 macOS では、Dock または Finder から起動したアプリは ~/.zshrc を読み込まないため、変数が未定義となり、サーバーは認証に失敗します。環境変数の参照が確実に機能するのは、ターミナルから起動した場合のみです。

どちらの方法でも、追加したサーバーを認識させるために、設定後は Claude を再起動してください。

認証

このサーバーはステートレスで、何も保存しません。リクエストごとにご自身のトークンを送信し、そのトークンが永続化されることはありません。次のいずれかの方法で送信してください:

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

両方が指定されている場合は、X-Shortcut-Token が優先されます。OAuth フローはありません。認証されていないリクエストには、WWW-Authenticate ヘッダーとともに 401 が返されます。

動作確認

サービスが稼働中か確認します(トークンは不要です):

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

Shortcut に直接リクエストして、トークンが有効か確認します:

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

200 はトークンが有効であることを示し、401 はトークンが誤っているか、期限切れであることを示します。

次に、全体の流れをテストします。アクティブなストーリーが返されます:

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"}}}'

Claude で設定したら、*「自分の Shortcut のストーリーを表示して」*と尋ねるだけです。

トラブルシューティング

症状原因
401 Missing Shortcut API tokenトークンが送信されていません。X-Shortcut-Token または Authorization: Bearer を使用してください
Error: API error (401): Unauthorizedトークンはサーバーに届きましたが、Shortcut に拒否されました。トークンの期限切れ、誤ったトークン、または展開されていない ${SHORTCUT_API_TOKEN} プレースホルダーがそのまま送信された可能性があります
ワーカーからの 403 ForbiddenCloudflare のボット保護です。一部の標準 HTTP クライアント(例:Python の urllib)は、ユーザーエージェントによってブロックされます。通常の User-Agent ヘッダーを設定してください
設定を編集した後、サーバーが見つからないClaude の再起動が必要です。MCP の設定は起動時にのみ読み込まれます

独自にデプロイする(任意)

セルフホストする場合:

  1. クローンしてインストールします:

    git clone https://github.com/stayce/streamshortcut-cloudflare
    cd streamshortcut-cloudflare
    npm install
    
  2. デプロイします:

    npm run deploy
    

サーバー側でシークレットを用意する必要はありません。ユーザーは常に自分のトークンを指定します。

開発

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

例

{"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"}

関連項目

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。