使用说明
scp-mcp
SCP Wikiのページを検索・取得する非公式のMCPサーバーです。SCP Data APIを使い、本文とともに出典・作者・ライセンスを返します。
起動
Node.js 20.19以上とnpmが必要です。
git clone https://github.com/soltonigiri/scp-mcp.git
cd scp-mcp
npm ci
npm run mcp:stdio
Codexから接続する場合は、config.tomlに以下を追加してください。{scp-mcp-path}はcloneしたディレクトリに置き換えます。
[mcp_servers.scp-mcp]
command = "bash"
args = ["-lc", "cd {scp-mcp-path} && npm run --silent mcp:stdio"]
startup_timeout_ms = 20000
Streamable HTTPで起動する場合は、次のコマンドを実行します。
npm run mcp:http
MCPエンドポイントはPOST /mcp、ヘルスチェックはGET /healthzです。
ツール
| ツール | 用途 |
|---|---|
scp_search |
キーワード・タグ・シリーズなどでページを検索 |
scp_get_page |
slug・SCP番号・ページIDからメタデータを取得 |
scp_get_content |
本文をMarkdown・テキスト・HTML・Wikitextで取得 |
scp_get_related |
参照先やhubから関連ページを取得 |
scp_get_attribution |
出典・作者・ライセンスの帰属表示を取得 |
結果はstructuredContentにJSONで返します。本文は行範囲を指定でき、既定では先頭200行を取得します。
プロンプトは、引用用のprompt_quote_with_citationと検索・要約用のprompt_rag_readerです。リソースはscp://about、scp://page/{link}、scp://content/{link}です。
入力・出力の詳細はAPI仕様を参照してください。
設定
| 環境変数 | 既定値 | 内容 |
|---|---|---|
PORT |
3000 |
HTTPの待ち受けポート |
SCP_MCP_RATE_LIMIT_WINDOW_MS |
60000 |
ツールの呼び出し回数を数える期間。単位はミリ秒 |
SCP_MCP_RATE_LIMIT_MAX_REQUESTS |
60 |
上記期間内の呼び出し上限 |
SCP_MCP_AUDIT_LOG_PATH |
未設定 | 呼び出しログのJSONL出力先。未設定時はstderr |
開発
npm test
npm run build
npm run lint
npm run format:check
ライセンス
コードはMITです。SCP Wikiのコンテンツは原則CC BY-SA 3.0で、二次利用には帰属表示と同じライセンスでの公開が必要です。詳細はSCP Wikiのライセンスガイドを参照してください。