Scryfall MCP Server
Scryfall MCPサーバー
Magic: The Gatheringの検索、ルール参照、価格確認、セット探索、デッキ構築ワークフローのためのScryfall対応MCPサーバーです。
現在、以下の機能をサポートしています:
ローカルMCPクライアント向けの主要トランスポートとしての
stdiosrc/http.tsによるローカル優先のストリーミング可能なHTTP14個のMCPツール、2個のリソース、2個のプロンプト
提供機能
ツール
search_cards: ページング、ソート、オプションの価格フィルタリングを使用してScryfallカード検索を実行します。get_card: 名前、セット/コレクター番号、またはScryfall IDでカードを1枚取得します。get_card_prices: オプションのフォーマットコンテキストと代替案を含む価格データを返します。random_card: オプションのフィルターを使用してランダムなカードを取得します。search_sets: マジックのセットを検索およびフィルタリングします。query_rules: コンテキスト付きでローカルの包括的ルールファイルを検索します。build_scryfall_query: 自然言語を説明可能なScryfallクエリに変換します。search_format_staples: フォーマットの定番カードや役割を果たすカードを見つけます。search_alternatives: より安価なカード、アップグレード版、または類似のカードを見つけます。find_synergistic_cards: カード、テーマ、またはアーキタイプに適したシナジーカードを見つけます。batch_card_analysis: 複数のカードの適法性、価格、シナジー、または構成を分析します。validate_brawl_commander: ブロールおよびスタンダード・ブロールの統率者の適法性を確認します。analyze_deck_composition: デッキリストのマナカーブ、色、構造上の問題を評価します。suggest_mana_base: 色の要件から土地の枚数とマナ基盤のパッケージを推奨します。
リソース
card-database://bulk: キャッシュされたOracleバルクスナップショット。set-database://all: キャッシュされたセットリストスナップショット。
プロンプト
analyze_cardbuild_deck
Related MCP server: MTG-MCP
トランスポート
STDIO
Claude Desktop、Codex、MCP Inspector、およびほとんどのローカルMCPクライアントに推奨されます。
npm run devnpm startストリーミング可能なHTTP
ローカル環境や明示的に制御された環境向けに、個別のエントリーポイントとして利用可能です。
npm run dev:httpnpm run start:httpローカルMCPテスト用:
npm run dev:http:local
npm run smoke:httpスモークテストは /health をチェックし、MCPの initialize を実行し、notifications/initialized を送信して、tools/list を検証します。
また、代表的な validate_brawl_commander および search_cards ツールの呼び出しを行い、ローカルHTTPエンドポイントが探索以外でも機能することを確認します。
現在のHTTPの動作:
デフォルトで
127.0.0.1にバインド/mcpでPOST|GET|DELETEを提供GET /healthを提供HTTP_ALLOWED_ORIGINSが設定されていない限り、デフォルトでループバック以外のOriginヘッダーを拒否
HTTPエントリーポイントは現在有用ですが、保守的にドキュメント化されています。ここではパブリックホスティングの手段としては提示していません。
セットアップ
前提条件
Node.js 18+
npm
インストール
git clone https://github.com/bmurdock/scryfall-mcp.git
cd scryfall-mcp
npm install
cp .env.example .env検証
npm run lint
npm run type-check
npm testビルド
npm run build一般的なコマンド
npm run dev
npm run dev:http
npm start
npm run start:http
npm test
npm run test:watch
npm run test:ui
npm run lint
npm run type-check
npm run inspector設定
標準的な値については .env.example を参照してください。現在使用されている主な変数は以下の通りです:
SCRYFALL_USER_AGENTRATE_LIMIT_MSRATE_LIMIT_QUEUE_MAXSCRYFALL_TIMEOUT_MSCACHE_MAX_SIZECACHE_MAX_MEMORY_MBLOG_LEVELNODE_ENVHEALTHCHECK_DEEPHTTP_HOSTHTTP_PORTHTTP_MCP_PATHHTTP_HEALTH_PATHHTTP_ALLOWED_ORIGINS
運用上の注意:
Scryfall API呼び出しは、共有レートリミッターによってグローバルにシリアル化されます。バッチツールは複数のローカル検索をスケジュールする場合がありますが、上流のScryfallリクエストの完了は設計上1つずつ行われます。
HTTP 429レスポンスは自動的に再試行されません。サーバーはScryfallのスロットルウィンドウを記録し、次のリクエスト開始を遅延させるため、呼び出し側が再試行するかどうかを判断できます。
CACHE_MAX_MEMORY_MBは、card-database://bulkを含む大規模なメモリ内スナップショットを保持できるかどうかを制御します。サイズ超過のバルクスナップショットは現在の読み取りに対して返される可能性がありますが、メタデータではキャッシュされなかったことが報告されます。デッキリスト分析は、まずカード名を正確に解決し、一致しない場合はあいまい検索にフォールバックし、あいまい解決の結果をレスポンスで報告します。
デッキ規模のツールは、Scryfallが基盤となるカード検索をスロットルした場合、部分的な分析結果や明示的な再試行メッセージを返すことがあります。
ローカルHTTP起動の例:
HTTP_HOST=127.0.0.1 HTTP_PORT=3000 npm run start:httpツールの呼び出し例
build_scryfall_query
{
"natural_query": "blue counterspells under $20 for modern",
"optimize_for": "precision"
}search_cards
{
"query": "c:r t:instant mv=1",
"limit": 10,
"order": "name"
}search_sets
{
"type": "expansion",
"released_after": "2020-01-01"
}find_synergistic_cards
{
"focus_card": "Obeka, Splitter of Seconds",
"synergy_type": "theme",
"format": "commander",
"color_identity": "UBR",
"limit": 12
}統率者戦のようなワークフローでは、解決可能なカードではなくテーマに焦点を当てる場合に color_identity を渡してください。焦点がカードに解決されると、ツールはそのカードの固有色を推論し、要求された適法性、Arenaでの利用可能性、固有色に基づいて最終結果をフィルタリングします。
analyze_deck_composition
{
"deck_list": "4 Lightning Bolt\n4 Monastery Swiftspear\n20 Mountain",
"format": "modern",
"strategy": "aggro"
}Claude Desktopとの統合
ビルド済みのstdioエントリーポイントをClaude Desktopの設定に追加してください。
macOSパス: ~/Library/Application Support/Claude/claude_desktop_config.json
Windowsパス: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"scryfall": {
"command": "node",
"args": ["/absolute/path/to/scryfall-mcp/dist/index.js"]
}
}
}運用上の注意
レート制限はプロセス内で強制され、Scryfallリクエスト間のデフォルトの最小間隔は100msです。
検索レスポンス、カード詳細、価格、セット、およびバルクスナップショットは、メモリ制限内でキャッシュされます。
バルクカードリソースは、繰り返し読み取りを高速化するために事前にシリアル化されたスナップショットを保存します。
セットのフィルタリングは、誤ったフィルタ済みキャッシュの再利用を避けるため、1つの標準的なキャッシュ済み
/setsデータセットから派生しています。ヘルスチェックは
ScryfallMCPServer.healthCheck()およびHTTP/healthエンドポイントから利用可能です。MCPコネクタがJSON-RPC/SSEのデシリアライズエラーを報告した場合は、生のHTTPスモークパスと比較してください:
npm run dev:http:local
npm run smoke:httpスモークコマンドが成功した場合は、コネクタのエラーテキストとスモーク出力を合わせてキャプチャしてください。これにより、ローカルエンドポイントのフレームワークとコネクタ固有の解析を切り分けることができます。
ドキュメントマップ
現在の信頼できるドキュメント:
ライセンス
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server for I Want My MTG that enables conversational search of Magic: The Gathering cards/sets and inventory management via API tools.60881MIT
- AlicenseNot gradedqualityCmaintenanceA comprehensive Model Context Protocol server that provides AI assistants with rich Magic: The Gathering information, including card data, comprehensive rules, EDHREC recommendations, combo interactions, and intelligent Commander deck generation.1MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for searching and retrieving Magic: The Gathering card information via the Scryfall API, with support for field presets, multiple output formats, and automatic rate limiting.29MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that searches and retrieves Magic: The Gathering card data from the Scryfall API.29MIT
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bmurdock/scryfall-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server