04 MCPModel Context Protocol(エムシーピー)の略。AIに外部ツール(検索・GitHub・データベース等)を繋ぐための共通接続規格。USBのような「差せば繋がる」仕組みでAIの能力を拡張するサーバー — 外部ツールの統合
MCPとは
MCP(Model Context Protocol) は、Claude Codeから外部ツールを利用するための仕組み。
Claude Code
│
├─ brave-search MCP ──→ Brave検索API ──→ Web検索結果
├─ github MCP ────────→ GitHub API ──→ PR・Issue・ファイル
├─ playwright MCP ────→ Chromium ──────→ ブラウザ操作
├─ context7 MCP ──────→ Docs API ─────→ ライブラリドキュメント
├─ discord MCP ───────→ Discord API ──→ メッセージ送受信
├─ mermaid MCP ───────→ Mermaid API ──→ 図表生成
├─ exa MCP ───────────→ Exa API ──────→ セマンティック検索
├─ minimax MCP ───────→ MiniMax API ──→ テキスト処理(コスト削減)
├─ minimax-official ──→ MiniMax API ──→ 画像・音楽・動画生成
├─ minimax-video ─────→ MiniMax API ──→ 動画生成(従量課金)
├─ 4_5v_mcp ──────────→ 画像分析AI ───→ 画像診断・UI模写
└─ web_reader ────────→ URL取得 ──────→ WebページMarkdown化
MCPサーバーを追加すると、Claude Codeがそのサーバーのツールを使えるようになる。各ツールはコンテキストを消費するため、必要なものだけを維持する。
現在の構成(13サーバー・126ツール)
MCPサーバー数が多いため、4つのカテゴリに整理しています。目的のサーバーを探す場合は📑 目次からジャンプしてください。
💡 WSL CLI版(2026-07-02統合): minimax-official / minimax-video は日常セッションClaude Codeの1回の対話単位。起動から終了までの会話と作業状態のこと。長く使うと内容が混ざるため、トピックの区切りで新セッションに引き継ぐ運用をする(claude直)の mcpServers で常時読込(画像/動画/音楽生成を即呼び可能)。※2026-06-30に cc-music プロファイルへ分離していたが、32MB真因が glm-rate-proxy の client_max_size 未設定と判明(9ac5f24fd解決)したため分離撤回・統合。Windows Desktop版は従来通り全MCP常時読込。
📑 サーバー一覧(目次)
- 🤖 LLM・生成AI系(4サーバー) — minimax / minimax-official / minimax-video / gemini
- 🔍 検索・情報取得系(4サーバー) — brave-search / exa / context7 / web_reader
- 🛠️ 開発・自動化系(4サーバー) — github(無効化)/ playwright / discord / mermaid
- 📊 画像分析系(1サーバー) — 4_5v_mcp
🤖 LLM・生成AI系(4サーバー)
minimax(自作テキスト処理 / 17ツール / ~1kトークンAIにとっての「文字数」のようなもの。AIは文章をトークンという小片に区切って処理する。課金や入力上限(コンテキストウィンドウ)はこの単位で数えられる)
LLM委譲用MCPサーバー(自作・MiniMax-M3使用)。環境によって役割が異なる。
| 環境 | 役割 |
|---|---|
| Windows Desktop版 | SonnetがMCP経由でMiniMaxに処理を委譲。glm MCPと同様の位置づけで、GLMとMiniMaxを用途で使い分ける |
| WSL CLI版 | ① glm-rate-proxyのフォールバックメインの手段が使えなくなった時に、自動的に予備の手段へ切り替える仕組み。「本命が失敗したら副えに任せる」二段構え先(GLMがレート制限短時間の利用回数にかけられる上限。API等で一定時間内のリクエスト数が制限されること。超えると一時的にエラーになる・エラー時に自動切替) ② 明示的にMCPツールとして呼び出すことも可能(要約・翻訳・データ処理等でコスト削減) |
| ツール | 用途 |
|---|---|
minimax_ask |
汎用LLM呼び出し |
minimax_summarize_file |
ファイル要約 |
minimax_summarize_url |
URL要約 |
minimax_translate_file |
ファイル翻訳 |
minimax_extract_keywords |
キーワード抽出 |
minimax_convert_format |
フォーマット変換 |
minimax_clean_data |
データクリーニング |
minimax_generate_test_data |
テストデータ生成 |
minimax_generate_schema |
スキーマデータの型・形の決まり。「このファイルには何の項目が必須か」等の定義。決まりに合っているか機械で検査できる生成 |
minimax_write_email |
メール文面生成 |
minimax_log_analysis |
ログ分析 |
minimax_error_group |
エラーグルーピング |
minimax_diff_summary |
diff要約 |
minimax_diff_releases |
リリース完成したものを外に出すこと。公開・出荷の意味差分変更前後の違い。git diffのように「何がどう変わったか」を示すもの比較 |
minimax_batch_process |
バッチ処理 |
minimax_env_check |
環境チェック |
minimax_cron_helper |
cronクロン。Linuxで「毎日6時」「30分ごと」等の定期実行を予約する仕組み。予約実行の登録表(crontab)に書いて運用する設定補助 |
使いどころ: 要約・フォーマット変換・テストデータ生成・メール文面・キーワード抽出など大量処理タスク。
実装設計や仕様を、実際に動くコードに作り込むこと。「実装済み」=コードとして完成している状態: ~/.claude/scripts/mcp/minimax-mcp-server.py — 自作Pythonスクリプト自動実行できる小さなプログラム。手順を書いたテキストファイルの形をしている(MiniMax-M3使用)。glm-rate-proxyの設定ファイルプログラムの動作を決める設定値を書いたファイル。コード本体を書き換えずに、設定だけ変えられるようにする(config.py)でフォールバック先として指定されているが、MCPサーバーとしては別ファイル。glm-rate-proxyによる自動フォールバック(ピーク時間15-19時・429/エラー時)とMCPによる明示的呼び出しは独立した仕組み。
MiniMax-M3 の context_window 設定(2026-07-12追加)
MINIMAX M3は1Mトークン対応だが minimax-mcp-server.py に CONTEXT_WINDOW 設定が存在しない場合、llm-status.sh が正しい context_window を認識できない。ステータスライン(/tmp/llm-last-used.txt)への書き込みを 🟠 MiniMax-M3|ctx:1000000 に変更することで1M認識を実現する。
MINIMAX_KEY = _load_key()
MINIMAX_URL = 'https://api.minimax.io/anthropic/v1/messages'
MODEL = 'MiniMax-M3'
CONTEXT_WINDOW = 1_000_000
トリガー: minimax-mcp-server.py 起動時・コンテキスト%表示
minimax-official(公式 / 画像・音楽・動画・10ツール)
MiniMax公式MCPサーバー。画像・音楽・動画・音声などのメディア生成機能を提供する。自作の minimax(テキスト処理特化)とは別サーバー。
| ツール | 用途 |
|---|---|
generate_video |
テキストプロンプトAIに渡す指示文のこと。「この機能を作って」「この文を直して」等 or 画像から動画を生成(MiniMax-Hailuo-02等) |
query_video_generation |
非同期動画生成タスクのステータス確認 |
text_to_image |
テキストから画像を生成(image-01) |
text_to_audio |
テキストを音声に変換(TTS) |
music_generation |
テキストプロンプトから音楽を生成 |
voice_clone |
音声ファイルからカスタムボイスを作成 |
voice_design |
テキスト説明からボイスを生成 |
list_voices |
使用可能なボイス一覧を表示 |
play_audio |
生成した音声ファイルを再生 |
image_to_video |
画像を動画に変換(JS/TS実装のみ) |
使いどころ: 「〇〇の動画を生成して」「画像を作って」「BGMを生成して」など、メディア生成タスク全般。
出力先: ~/minimax-output/(WSL内)に自動保存される。
minimax-video(公式 / 動画生成専用・従量課金)
MiniMax公式MCPサーバー(動画生成専用・従量 Cash$ アカウント)。minimax-official と同じバイナリ(公式パッケージ配布・インストール可能な形にまとめたソフトウェアの単位。Pythonではpipで入れる部品のこと minimax-mcp)だが、APIApplication Programming Interface(エーピーアイ)の略。あるプログラムの機能を、別のプログラムから呼び出せるようにした「窓口」キー(従量課金アカウント)と出力先を分離した別サーバー。official(無料枠)と使い分けることで、動画生成を大量利用しても無料枠を消費しない。
| 項目 | minimax-official | minimax-video |
|---|---|---|
| バイナリ | 公式 minimax-mcp |
同じ(公式 minimax-mcp) |
| APIキー | 無料枠アカウント(MINIMAX_API_KEY) |
従量 Cash$(MINIMAX_API_KEY_VIDEO・別アカウント) |
| 出力先 | ~/minimax-output/ |
~/minimax-output-video/ |
| 用途 | メディア生成全般 | 動画生成の大量利用 |
使いどころ: 動画生成を大量に行いたい場合。official の無料枠とは課金体系が独立しているため、動画専用に従量アカウントを分けて運用する。
実装: ~/.claude/scripts/mcp/start-minimax-video-mcp.sh — 公式パッケージ minimax-mcp を VIDEO キーで起動(export MINIMAX_API_KEY="${MINIMAX_API_KEY_VIDEO}" でマップ)。minimax-official と同じバイナリ・別アカウント・別出力先。2026-06-14 追加。
minimax系のセットアップ(公式2サーバー)
同一の minimax-mcp バイナリを2本起動し、環境変数プログラムの外側(OS側)で設定する値の入れ物。プログラムを書き換えずに設定を切り替えられる。APIキー等の秘密の値はソースコードに直書きせずここに入れるのが安全な定石でAPIキーとアカウントを切り替えてコスト分離する構成。
使い分けのポイント: 同一バイナリのため generate_video 等が両サーバーに生える。動画生成時は必ず mcp__minimax-video__generate_video を使う(minimax-official は Token Plan の動画 quota が枯渇するため)。
- サーバー登録は
claude mcp add -s userで~/.claude.json(userスコープ)へ。settings.jsonのmcpServersは読まれないので注意(2026-06-15検証済み・下記トラブルシューティング「2層問題」参照)。claude mcp add minimax-video -s user -- bash ~/.claude/scripts/mcp/start-minimax-video-mcp.sh - 起動スクリプト:
~/.claude/scripts/mcp/start-minimax-official-mcp.sh/start-minimax-video-mcp.sh - 鍵管理:
~/.secrets.envのMINIMAX_API_KEY(無料枠)/MINIMAX_API_KEY_VIDEO(従量)
注意: MCP接続は起動時確立のため、設定変更後は Claude Code の再起動が必要。
gemini(自作 / レビュー第2オピニオン / 1ツール)
Gemini(無料枠)をコードレビュー書かれたコードを、書いた本人以外の視点で読んで問題を指摘する作業。バグ・読みにくさ・危険な書き方を見つけるのに有効・デバッグ不具合の原因を特定して直すこと。ログや実行の跡を辿って、どこで期待と違う動きをしたかを突き止める作業の第2オピニオンとして呼び出す自作MCPサーバー。GLM/Sonnetとは異なるモデルの視点でコードのバグプログラムの不具合。意図しない動きを引き起こすコードの欠陥・論理エラー・境界ケースを指摘させる用途。
| ツール | 用途 |
|---|---|
review_with_gemini |
コード断片をGeminiに投げてレビュー(focus: bug / logic / boundary 等を指定可能) |
使いどころ: GLM自身のレビューで不安がある時・設計判断を別モデルの視点で検証したい時。「このコードをGeminiにレビューして」等。GLM/Sonnetとは異なるモデルの目を通すことで、見落としを拾う。
実装: ~/.claude/scripts/mcp/gemini-mcp-server.py(自作Python・review_with_gemini の1ツール)。launcher start-gemini-mcp.sh が set -a; source ~/.secrets.env で GEMINI_API_KEY をエクスポート同じPCの中で複数のプログラムが通信を待ち受けるための「窓口番号」。8787番・3000番のように番号で区別する→ exec python3 -u で起動(-u で null byte問題を回避)。safety filter / 429バックオフ / 入力長上限 / key未設定メッセージのエラー処理付き。
セットアップ:
- サーバー登録は
claude mcp add -s userで~/.claude.json(userスコープ)へ。settings.jsonのmcpServersは読まれない(minimax系と同じ注意点・上記「2層問題」参照)。claude mcp add gemini -s user -- bash ~/.claude/scripts/mcp/start-gemini-mcp.sh - 鍵管理:
~/.secrets.envのGEMINI_API_KEY(launcher が source するためenvブロック複数の処理が同時に同じ対象を触って衝突するのを防ぐ「鍵」の仕組み。鍵を持っている間は他の処理は待つか諦める不要) - 認証「あなたは誰か」を確認すること。パスワードや鍵で本人であることを確かめる手続きの落とし穴: Gemini REST API は
x-goog-api-keyヘッダー(or?key=)が必須。欠けると 403 Forbidden。 - Windows Desktop版の場合: 2026-07-06実測時点では
~/.claude/settings.jsonを編集しても反映されなかった(実際に読まれていたのはAppData\Local\Packages\<Claudeのパッケージフォルダ>\LocalCache\Roaming\Claude\claude_desktop_config.json=サンドボックス化パッケージキャッシュ一度得た結果を取っておいて、次回は同じ計算をせず使い回す仕組み。速くなるが、元のデータが変わった時の更新忘れに注意内、command: "wsl",args: ["-d", "Ubuntu", "--", "bash", "/home/<USER>/.claude/scripts/mcp/start-gemini-mcp.sh"]の形式)。⚠️ただしこれは2026-05時点の調査では別ファイルが有効に見えていた実績もあり、アプリ更新で今後また変わりうるため「ここが正解」と決め打ちしない。追加・変更のたびに下記「トラブルシューティング」節の確認手順で都度検証すること。事例は01_DECISIONS/claude-code/2026-07-06_Windows-Desktop版Gemini-MCP真因確定-MSIXconfig特定.md参照。
🔍 検索・情報取得系(4サーバー)
brave-search(6ツール / ~5.5kトークン)
Web検索に関する各種機能。
| ツール | 用途 |
|---|---|
brave_web_search |
一般的なWeb検索 |
brave_image_search |
画像検索 |
brave_video_search |
動画検索 |
brave_news_search |
ニュース検索 |
brave_local_search |
ローカルビジネス検索 |
brave_summarizer |
検索結果のAI要約 |
使いどころ: 最新情報の調査、エラーの検索、技術記事の検索
起動方法: ~/.claude/scripts/mcp/start-brave-search.sh — .secrets.env から BRAVE_API_KEY を読み込んで brave-search-mcp-server を起動。
exa(3ツール / ~1.5kトークン)
セマンティックWeb検索。
| ツール | 用途 |
|---|---|
web_search_exa |
セマンティックWeb検索(技術記事の深掘り) |
web_fetch_exa |
URLの内容をMarkdownで取得(バッチ対応) |
使いどころ: 技術記事の深掘り調査、コード検索
context7(2ツール / ~1.2kトークン)
ライブラリよく使う機能をまとめて再利用可能にした部品集。作りかけの部品を組み込んで使うことで、同じものを一から作らずに済むの公式ドキュメント検索。
| ツール | 用途 |
|---|---|
resolve-library-id |
ライブラリ名からIDを解決 |
query-docs |
ドキュメントを検索・取得 |
使いどころ: ライブラリの最新API確認、使用方法の調査
web_reader(1ツール / ~0.5kトークン)
URL内容取得。
| ツール | 用途 |
|---|---|
webReader |
URLをMarkdownに変換(画像保持オプションコマンドの動作を変えるスイッチ。-x や --verbose のような指定。引数の一種付き) |
使いどころ: Webページ内容の取得、ドキュメント読み込み
🛠️ 開発・自動化系(4サーバー)
github(41ツール / ~9.6kトークン・無効化)
⚠️ 2026-06-21 無効化: 41ツール・9.6kトークンが毎ターンのシステムプロンプトAIに最初から組み込まれている「基本の指示書」。ユーザーの発話とは別に、AIの振る舞い方の土台を決めている。CLAUDE.md等はここに近い形で常に読み込まれるに積まれ、コンテキスト肥大(32MB上限問題)の最大要因となっていたため無効化。Issue/PR/push は gh CLI + git 直接操作に移行した。復元は settings.json の enabledPlugins.github を true に戻すだけ。
最もツール数が多いサーバー。GitHub上のあらゆる操作が可能。
| カテゴリ | ツール例 |
|---|---|
| PR操作 | create_pull_request, merge_pull_request, pull_request_read, update_pull_request |
| Issue操作 | issue_read, issue_write, list_issues, search_issues |
| ファイル操作 | get_file_contents, create_or_update_file, push_files, delete_file |
| コミット | get_commit, list_commits |
| 検索 | search_code, search_repositories, search_users, search_pull_requests |
| レビュー | pull_request_review_write, add_comment_to_pending_review, request_copilot_review |
| その他 | create_branch, create_repository, fork_repository, run_secret_scanning |
使いどころ: PR作成、Issue管理、コード検索、リポジトリ操作
起動方法: ~/.claude/scripts/mcp/start-github.sh — .secrets.env から GITHUB_TOKEN 等を読み込んで github-mcp-server を起動。
playwright(25ツール / ~4.7kトークン)
ブラウザの自動操作。
| カテゴリ | ツール例 |
|---|---|
| ナビゲーション | browser_navigate, browser_navigate_back, browser_tabs |
| 操作 | browser_click, browser_type, browser_hover, browser_drag |
| フォーム | browser_fill_form, browser_select_option, browser_file_upload |
| 情報取得 | browser_snapshot, browser_take_screenshot, browser_console_messages |
| ネットワーク | browser_network_requests, browser_network_request |
| 高度な操作 | browser_evaluate, browser_run_code_unsafe |
使いどころ: Webアプリのテスト、UI確認、スクレイピング
discord(5ツール / ~0.6kトークン)
Discordとの連携。
| ツール | 用途 |
|---|---|
reply |
メッセージ送信 |
fetch_messages |
メッセージ履歴取得 |
edit_message |
メッセージ編集 |
react |
リアクション追加 |
download_attachment |
添付ファイルダウンロード |
使いどころ: Discord経由での通知、メッセージ監視
mermaid(4ツール / ~0.4kトークン)
図表の生成。
| ツール | 用途 |
|---|---|
get_diagram |
図のテンプレート雛形。穴埋め部分だけ差し替えて、同じ形の文書やコードを量産する元になるもの取得 |
get_diagram_examples |
図の例を取得 |
list_diagrams |
対応図の種類一覧 |
readme |
ツールの説明 |
使いどころ: フローチャート、シーケンス図、クラスデータとその操作をひとまとめにした設計図。オブジェクト指向の基本単位図の生成
📊 画像分析系(1サーバー)
4_5v_mcp(画像分析 / ~0.8kトークン)
AI画像分析。
| ツール | 用途 |
|---|---|
analyze_image |
画像の詳細分析(OCR・レイアウト理解・UI複製用プロンプト生成) |
使いどころ: スクリーンショット診断、UI模写、図解理解
環境別の対応(WSL CLI / Windows Desktop)
一部のMCPサーバーは実行環境によって役割・有無が異なる:
| サーバー | WSL CLI版 | Windows Desktop版 | 備考 |
|---|---|---|---|
| minimax | ✅ あり | ✅ あり | コスト削減で明示的に呼び出し(要約・翻訳・データ処理等) |
| minimax-official | ✅ あり | ✅ あり | 動画・画像・音声生成(Hailuo)。両環境で利用可能 |
| minimax-video | ✅ あり | ✅ あり | 動画生成専用(従量・両環境) |
| brave-search | ✅ | ✅ | 共通 |
| github | ❌無効化(2026-06-21) | ✅(CLI版) | 共通・gh CLI+git直接使用に移行 |
| playwright | ✅ | ✅ | 共通 |
| context7 | ✅ | ✅ | 共通 |
| discord | ✅ | ✅ | 共通 |
| mermaid | ✅ | ✅ | 共通 |
| exa | ✅ | ✅ | 共通 |
| 4_5v_mcp | ✅ | ✅ | 共通 |
| web_reader | ✅ | ✅ | 共通 |
| glm | ❌ 不要 | ✅ あり | WSL CLI版は自分自身がGLMで動作。Windows版はSonnet→GLM委譲用(下記参照) |
注意: WSL CLI版はClaude Code自体のエンドポイントがglm-rate-proxy経由でGLMを指しているため、セッション全体がすでにGLMで動作している。その中でglm MCPをさらに呼ぶのは二重になるため不要。Windows Desktop版はSonnetで動作するため、GLMに委譲する手段としてglm MCPが有効。
将来変更の可能性: 現在はGLMだが、プロバイダー乗り換えやコスト変化でルーティング先が変わる可能性がある。その場合はglm MCPの要否を再評価すること。変更はglm-rate-proxyの向き先を変えるだけでCLI全体に反映される。
glm(Windows Desktop版用 / WSL CLI版では不要・自作 / ~1kトークン)
LLM委譲用MCPサーバー(自作・GLM-5.3/Z.AI API)。WSL CLI版では不要のため「現在の構成(実態12サーバー)」には含まれない。Windows Desktop版でのみ有効。
| 環境 | 役割 |
|---|---|
| Windows Desktop版 | SonnetがMCP経由でGLMに処理を委譲。Sonnetがエンドポイントを変更できないため、会話ごとにglm MCPを呼び出してGLMに回答生成を依頼し、Sonnetが最終回答する |
| WSL CLI版 | Claude Code自体がglm-rate-proxy経由でGLMで動作しているため、このMCPを呼び出すと二重になり実質不要 |
| ツール | 用途 |
|---|---|
glm_ask |
汎用LLM呼び出し(最も頻繁に使う) |
glm_generate_code |
コード生成 |
glm_review_code |
コードレビュー |
glm_explain_code |
コード説明 |
glm_refactor_suggest |
リファクタリング動きを変えずにコードの中身を読みやすく整理すること。機能追加でなく「掃除」の作業提案 |
glm_debug_error |
エラーデバッグ |
glm_generate_tests |
テスト生成 |
glm_security_audit |
セキュリティ監査 |
glm_analyze_file |
ファイル分析 |
glm_generate_docs |
ドキュメント生成 |
glm_write_readme |
README生成 |
glm_write_document |
汎用ドキュメント作成 |
glm_write_dockerfile |
Dockerfile生成 |
glm_design_api |
API設計 |
glm_optimize_sql |
SQL最適化速さ・コスト・品質等の指標が良くなるように調整すること |
glm_generate_regex |
正規表現文字のパターンを記号で表す書き方。「数字3桁」等を簡潔に指定でき、検索・置換・チェックに使う生成 |
glm_generate_changelog |
CHANGELOG生成 |
glm_git_commit_message |
コミットメッセージ生成 |
glm_translate |
翻訳 |
使いどころ: Windows Desktop版でコード生成・レビュー・説明など開発全般の処理をGLMに委譲したい場合。 注意(Windows Desktop版): ZAI APIキーが設定されていないと接続不可。 注意(WSL CLI版): glm-rate-proxyが起動していないと接続不可(ただし実際には呼び出す必要がない)。→ 13_glm-rate-proxy
実装: ~/.claude/scripts/mcp/glm-mcp-server.py — 自作Pythonスクリプト。glm-rate-proxyとは別ファイル。glm-rate-proxyはWSL CLI版のエンドポイント制御担当、glm MCPサーバーはMCPプロトコル経由の呼び出し担当。
zernio(導入済み・現在未接続 / ホストMCP / 280+ツール)
SNS自動投稿MCP。Instagram/TikTok/X/Facebook/YouTube等15プラットフォーム対応。導入済み・投稿テスト済みだが、現在は未接続(必要時に再有効化)。
| カテゴリ | ツール例 |
|---|---|
| 投稿 | posts_publish_now, posts_create, posts_cross_post |
| スケジュール | posts_create(日時指定), posts_list |
| 分析 | get_analytics, get_best_time_to_post |
| DM・コメント | send_inbox_message, reply_to_inbox_post |
| 広告 | create_standalone_ad, boost_post, get_ad_analytics |
| メディア | media_generate_upload_link, media_check_upload_status |
使いどころ: TikTok/Instagram等への自動投稿、SNS分析、投稿スケジュール管理
料金: 最初2アカウント無料 → 3つ目以降 $6/月
セットアップ: 公式プラグイン本体に後から差し込んで機能を足す追加部品。Claude Codeにもプラグイン機構がある方式で導入(手動の url + headers + env 設定は非推奨 — ${VAR} 変数展開$HOME のように変数名が書かれた場所を、実際の値に置き換えることが動作しない場合あり)
/plugin marketplace add zernio-dev/zernio-claude-plugin
/plugin install zernio@zernio
# APIキー入力 → システムキーチェーンに保存
投稿テスト結果(2026-06-13): 4プラットフォーム(Discord / Instagram / TikTok / YouTube)の下書き投稿・クロス投稿・一覧取得・削除まで全て正常動作を確認。即時投稿(publish_now=True)も利用可能。
セキュリティ: APIキーの管理
全MCPサーバーは ~/.secrets.env からAPIキーを読み込むラッパース文字で書かれたデータを、プログラムが扱える構造に変換すること。JSONパース=JSON文字列→データ構造クリプト経由で起動する。settings.jsonにAPIキーを直接記載しない。
settings.json
└ command: "bash ~/.claude/scripts/mcp/start-<name>.sh"
│
start-<name>.sh
└ source ~/.secrets.env ← APIキーはここから読み込む
└ exec <本体スクリプト>
コンテキスト消費のトレードオフ
| サーバー | ツール数 | トークン | コンテキスト比 |
|---|---|---|---|
| github | 41 | 9.6k | 4.8% |
| brave-search | 6 | 5.5k | 2.8% |
| playwright | 25 | 4.7k | 2.4% |
| exa | 3 | ~1.5k | ~0.8% |
| context7 | 2 | 1.2k | 0.6% |
| 4_5v_mcp | 1 | ~0.8k | ~0.4% |
| discord | 5 | 0.6k | 0.3% |
| mermaid | 4 | 0.4k | 0.2% |
| web_reader | 1 | ~0.5k | ~0.3% |
| minimax | 17 | ~1k | ~0.5% |
| minimax-official | 10 | ~1k | ~0.5% |
| minimax-video | 10 | ~1k | ~0.5% |
| 合計 | 125 | ~24.8k | ~12.4% |
- GitHubが最も重い(41ツール = 全MCPの約3割)
- 以前は9サーバー(~35kトークン)だったが、使用頻度分析で最適化後、exa・画像分析・web_readerを追加
- クイックリファレンス: ガイドサイト - MCPサーバーカタログ
現場の知見: MCPツールは呼び出した時だけコストが発生するわけではない。ツール定義だけで毎ターン消費される。使っていないサーバーを残すと、1ターンごとに無駄なトークンを消費し続ける。→ 11_現場の知見
サーバーの追加・削除
追加
claude mcp add <サーバー名> -- <コマンド>
削除
claude mcp remove <サーバー名>
確認
claude mcp list
注意: settings.json だけでなく ~/.claude.json の両方から削除する必要がある場合がある(2ファイル問題)。
トラブルシューティング: 「設定したのに接続されない」(Windows Desktop版)
Windows Desktop版(特にMicrosoft Store版 / サンドボックス化されたインストール)でMCPサーバーを追加しても一向に接続されない場合、編集すべき設定ファイルを間違えている可能性が高い。候補は3つある:
C:\Users\<user>\.claude\settings.json— CLI/共通設定用C:\Users\<user>\AppData\Roaming\Claude\claude_desktop_config.json— 通常版チャットアプリ用C:\Users\<user>\AppData\Local\Packages\<Claudeのパッケージフォルダ>\LocalCache\Roaming\Claude\claude_desktop_config.json— サンドボックス化パッケージキャッシュ内(2026-06・2026-07の2回の実測ではMicrosoft Store版で使われるのはここだった)
⚠️ 上記「候補3が本物」は2回の実測に基づく現時点の知見であり、アプリのバージョンソフトウェアやファイルの「どの時点の状態か」を示す番号。v1.2等。更新のたびに番号が上がるアップや配布形態変更で今後も同じとは限らない。次に同じ問題が起きた時も、この記述を鵜呑みにせず必ず下記「判別方法」で都度再確認すること。
判別方法: 既に動いている他のMCPサーバーのエントリの args(wsl -d Ubuntu -- bash <path> のようなコマンドターミナルに入力してコンピュータに与える一行の指示。lsやcdのように『プログラム名+補足指定』で構成される形式)が、UI上の接続ログ(/mcp → サーバー詳細)に表示される実際の起動コマンドと一致しているファイルが「本物」。3つの候補に同名・類似のサーバーエントリがあっても、起動コマンドが実際のログと食い違っていれば、それは使われていない古いコピーである。
最も手軽な確認手順は、設定画面(設定 → 開発者 → ローカルMCPサーバー)で「設定を編集」ボタンを押し、開いたエクスプローラーが指すファイルパスをそのまま使うこと(2026-07-06のgemini追加でこの手順に気づくまで、無関係な古いclaude_desktop_config.jsonを編集し続けて2回再起動しても直らない、という事故を繰り返した)。
詳細な調査の経緯: 01_DECISIONS/claude-code/2026-06-07_minimax-official-MCP接続トラブル解決と動画生成成功.md(初出・minimax-official)、01_DECISIONS/claude-code/2026-07-06_Windows-Desktop版Gemini-MCP真因確定-MSIXconfig特定.md(再発・gemini・「設定を編集」ボタンでの特定手順を確立)
トラブルシューティング: 「設定ファイルの2層問題」(WSL CLI版)
WSL CLI版でMCPサーバーが Connection closed (-32000) になる場合、settings.json と .claude.json の両方にMCP定義があるか確認する。
どちらが使われているか: /mcp → サーバー選択 → 詳細画面の「Config location」で確認。
よくある原因:
| 原因 | 症状 | 修正 |
|---|---|---|
.claude.json のパス間違い |
-32000 エラー |
scripts/xxx.py → scripts/mcp/xxx.py |
.claude.json が python3 直接起動 |
APIキー未設定でクラッシュ | bash start-*.sh 経由に変更(secrets.env をsource) |
| 一方だけ修正 | 修正が反映されない | 両ファイルの定義を一致させる |
| glm が WSL CLI で不要なのに有効 | 警告が出る | disabled: true を追加 |
診断コマンド:
# 両ファイルのMCP定義を確認(env値は非表示)
python3 -c "
import json
for path in ['.claude/settings.json', '.claude.json']:
s = json.load(open(path))
for name, cfg in s.get('mcpServers', {}).items():
display = {k: v for k, v in cfg.items() if k != 'env'}
print(f'{path} → {name}: {display}')
"
詳細: 01_DECISIONS/claude-code/2026-06-11_MCP設定2層問題と接続トラブル修正.md
MCPをスクリプトに置き換える(コンテキスト節約)
MCPサーバーは便利だが、常時起動するだけでコンテキストを消費する。
定型操作に限れば gh コマンドや curl(webhookClaude Codeの特定のタイミング(ツール実行前後・セッション開始時等)で自動処理を差し込む仕組み。「保存前にチェック」「終了時に記録」等を機械的に強制できる)で代替でき、MCPを切れる。
| 操作 | MCPの代わりに使うもの | 備考 |
|---|---|---|
| GitHub Issue作成 | gh issue create |
gh CLI で完結 |
| GitHub PR確認・マージ分かれていた変更を1つに統合すること。ブランチで進めた作業を本体(main)に取り込む作業 | gh pr list / gh pr merge |
gh CLI で完結 |
| CIContinuous Integration(シーアイ・継続的インテグレーション)の略。コードを変更するたびに自動でテストとチェックを回し、壊れていないかを常に確認する仕組み結果確認 | gh run watch |
gh CLI で完結 |
| Discord への通知送信 | curl + webhookウェブフック。「イベントが起きたら指定URLに自動で通知を送る」仕組み。GitHubで更新があればDiscordに通知が飛ぶ、等の連携に使う URL |
MCP不要・軽量 |
判断基準:
- 「Claudeに話しかけながら操作したい」→ MCP を使う
- 「スクリプトで定型的に実行したい」→ gh コマンド / curl に置き換えてMCPを切る
→ GitHub の基本概念・gh コマンドの詳細は GitHub 基礎ガイド を参照
MCPサーバーのユニットテスト(gemini / glm / MiniMax)
自作MCPサーバー3本(gemini-mcp-server.py / glm-mcp-server.py / minimax-mcp-server.py)には 常駐サーバーの契約を固定するユニットテスト が併設されている(2026-08-18 gemini版に倣って glm / MiniMax版を追加)。これらは urllib をモックテスト用の「偽物」。本物の代わりに決まった値を返すようにして、テスト対象だけを確実に検査できるようにするし実API不要 で、glm MCP / MiniMax MCP に依存するスキルClaude Codeで「特定の作業手順」をパッケージ化したもの。SKILL.mdに手順を書いておくと、対応する場面でAIがその手順を読み込んで従う。経験を再利用する仕組みが全滅しないよう契約(関数一連の処理をまとめて名前を付けたもの。呼び出すたびに同じ処理が実行される。プログラムの基本単位名・引数コマンドや関数に渡す補足の指定。ls -la の -la の部分のように、動作を細かく指示する値・戻り値の型)を担保する。
| サーバー | テストファイル | 実行コマンド |
|---|---|---|
| gemini | ~/.claude/scripts/mcp/test_gemini_mcp_server.py |
cd ~/projects/claude-config && python3 -m pytest scripts/mcp/test_gemini_mcp_server.py -q |
| glm | ~/.claude/scripts/mcp/test_glm_mcp_server.py |
cd ~/projects/claude-config && python3 -m pytest scripts/mcp/test_glm_mcp_server.py -q |
| MiniMax | ~/.claude/scripts/mcp/test_minimax_mcp_server.py |
cd ~/projects/claude-config && python3 -m pytest scripts/mcp/test_minimax_mcp_server.py -q |
使いどころ: 自作MCPのサーバー実装を改修した時の回帰検知、.secrets.env のキー追加で _load_key の探索経路が変わった時の確認(01_DECISIONS/claude-code/2026-08-22__load_secret本番経路Windows側で鍵を読めない の修正と同種の検証基盤)。
MCPツール使い分けガイド
詳細な使い分け基準は別ドキュメントを参照:
💡 やさしい補足(初心者向け)
- 「MCP」= Claudeに後付けする能力: 標準ではできない「Web検索」「GitHub操作」「ブラウザ操作」等を追加できる仕組み
- 追加しすぎると高くつく: 使っていなくても、追加した能力の「説明書」を毎回読み込むので毎回料金がかかる。使わないものは外すのが節約
- 公式と自作がある: 検索等の汎用なものは公式、特注なものは自作可能
- 迷ったら: よく使う機能だけ残す。不要なサーバーは思い切って外すのが一番の節約