Stack Overflow MCPサーバーをClaude Codeに接続する手順と1日100回の枠
Stack OverflowのMCPサーバー(beta)をClaude Codeに接続する手順と、1日100回の呼び出し枠を使い切らないエラー調査の進め方をまとめます。
Stack Overflow MCPサーバーとは
Stack Overflow MCPサーバーは、Stack Overflowの質問・回答・コメントをAIエージェントから検索して取り出すための、リモートのMCP(Model Context Protocol)サーバーです。Stack Exchange APIのドキュメントでは、開発者の知識をAIツールやエージェントに標準的な形で渡す仕組みとして説明されています。
Claude Codeに繋ぐと、エラーメッセージで質問を探し、該当の回答本文までClaudeに読ませられます。手元のコードを見ながら、過去の質問と照らし合わせる使い方です。
先に押さえておく条件は3つあります。
接続前に確認する3つの条件
呼び出し枠
100回/日
Stack Exchangeユーザーごと
提供状態
beta
今後の投資は未定と明記
認証
必須
Stack Overflowアカウントでログイン
100回を超える用途は、営業部門への問い合わせが案内されています。個人の調査や小さなチームの試作なら枠内に収まる設計ですが、Claudeに自由に検索させると意外な速さで減ります。枠の守り方は後半で扱います。
用意されている2つのツール
このサーバーが公開しているツールは、2つだけです。
| ツール | できること |
|---|---|
so_search | できること質問に対する語句一致型(lexical)の検索 |
get_content | できること質問・回答・コメントをIDで取得 |
「Additional tools may be added in future phases」とあるため、将来ツールが増える可能性はあります。いまは検索して、IDで本文を引く二段構えです。
so_searchは語句一致型と書かれています。意味の近さで探す検索ではないので、質問文を丸ごと投げるより、エラーメッセージの固有部分や関数名のような短い語を渡したほうが当たりやすくなります。語句一致という仕様から導いた見立てなので、結果の質は手元のエラーで試して確かめてください。
検索結果を使うときは出典も重要です。取得したコンテンツには常にStack Overflowへのクレジット表示が付くとされています。回答をそのままコードに貼るなら、元の投稿を示しておくのが無難です。
Claude Codeに接続する手順
設定例は、mcp-remoteというnpxパッケージ経由でリモートサーバーに繋ぐ形です。クライアントの設定ファイルに次のJSONを書く、と案内されています。
{
"mcpServers": {
"stack-mcp-server": {
"command": "npx",
"args": ["mcp-remote", "mcp.stackoverflow.com"]
}
}
}Claude Codeでは設定ファイルを直接編集せず、claude mcp addで同じ内容を登録できます。他のクライアント向けの手順しか書かれていないサーバーは、起動コマンドを--の後ろに置いて追加します。この読み替えはClaude Codeのドキュメントにある方法です。
claude mcp add stack-mcp-server -- npx mcp-remote mcp.stackoverflow.com--より前がClaude Code自身のオプション、後ろがサーバーを起動するコマンドです。--scopeを付けなければ、設定は現在のプロジェクトだけで有効なlocalスコープに保存されます。全プロジェクトで使うなら--scope userを足します。
claude mcp add --scope user stack-mcp-server -- npx mcp-remote mcp.stackoverflow.com.mcp.jsonに書いてチームで共有する方法もありますが、このサーバーは個人のStack Exchangeアカウントに結びつき、1日の枠もユーザー単位です。共有する場合も、各メンバーが自分のアカウントで認証する前提になります。
コマンドで共有用の.mcp.jsonを作るなら、--scope projectを付けます。
claude mcp add --scope project stack-mcp-server -- npx mcp-remote mcp.stackoverflow.comリポジトリのルートに作られる.mcp.jsonにはサーバーの起動定義だけが入ります。ログイン情報は含まれないので、コミットしても各自のアカウントが共有されることはありません。cloneしたメンバーは、claudeを対話モードで起動してプロジェクト共有サーバーを承認します。承認前の状態はclaude mcp getでPending approvalと表示されます。そのあとに各自が初回認証へ進みます。
登録に成功するとAdded ...の行が表示されます。接続状態は次のコマンドで確認できます。
claude mcp get stack-mcp-server初回の認証
登録後にClaude Codeを再起動すると、手順ではStack Exchangeのログインページに誘導されます。流れは次のとおりです。
初回認証の流れ
- 1
ログインする
表示されたStack Exchangeのログインページでサインインします。
- 2
クライアントを認可する
MCPクライアントがサーバーを使うことに同意し、利用規約を読んで承諾します。
- 3
クライアントを再起動する
認可後にもう一度終了して開き直します。
- 4
動作を試す
対応しているタスクをClaudeに頼み、結果が返るか確認します。
セッション内では/mcpでサーバーの状態を見られます。サーバーが未認証と判定されたときは、/mcpの画面から認証をやり直せます。
エラー調査での使い方
接続できたら、依頼文でツールの使い方を絞ります。Stack Overflowの検索を、エラーの切り分けの最後に回すのが基本です。
エラー調査でStack Overflowを引く順番
- Qエラーメッセージの全文を手元に持っているか?答えがいいえ答えがはい
まず再現して全文を取得します。
- Q自分のコードやログから原因を絞り込めたか?答えがいいえ答えがはい
先にログとスタックトレースを読み、手元で見当をつけます。
- Q固有の文字列(例外名、関数名、ライブラリ名)を抜き出せたか?答えがいいえ答えがはい
メッセージから固有部分だけを切り出します。
so_searchに短い語で投げる
検索結果の上位だけget_contentで本文を引き、環境とバージョンが合う回答だけ採用します。
検索語は、エラー文から固有語だけを抜くのがコツです。たとえば長い例外メッセージをそのまま投げるのではなく、例外クラス名とライブラリ名の2語に絞ります。1回目で候補が出なければ、バージョン番号や関数名を足すか外すかして2回目に進みます。検索はこの3回までに収め、残りはget_contentで上位の回答を読むために取っておきます。
頼み方の例は次のとおりです。ツール名を明示し、回数の上限も添えます。
次のエラーについて、so_searchで検索してください。
- 検索は最大3回まで
- 語は例外名とライブラリ名に絞る
- 候補は回答ID付きで一覧にし、get_contentで読むのは上位2件まで
- 古い回答は、対象バージョンが合うか確認してから採用するStack Overflowの回答は投稿された時期が古いものも多く、いまのライブラリのバージョンとは前提が違うことがあります。回答本文の投稿時期とバージョンを確かめてから使うよう、依頼文に含めておくと安全です。
1日100回の枠を守る
枠はso_searchとget_contentの呼び出しを合わせて数える、と読むのが自然です。ただしドキュメントは「100 calls per day per Stack Exchange user」と書くだけで、どの呼び出しをどう数えるかまでは述べていません。2つのツールが別枠かどうかは、ドキュメントに記載がありません。念のため、合算で100回と見ておくのが現実的です。
枠を守るために、Claude Code側でできることがあります。
CLAUDE.mdに調査ルールを書く
## Stack Overflow MCP
- 1日100回の枠があるため、ローカルのログとコードを読んでから使う
- so_searchは1つのエラーにつき最大3回
- get_contentは必要な回答だけ。質問と回答を片端から取得しない
- 採用した回答は、元の質問のURLか投稿を出典として残す呼び出しのたびに確認させる
自動で何度も検索されるのが不安なら、ツールの実行を都度確認にできます。Claude Codeの権限ルールでは、MCPツールをmcp__<サーバー名>__<ツール名>の形で指定します。サーバー名は登録時のstack-mcp-serverです。ルールの書き方と評価の順序は、/permissionsコマンドの解説にまとめています。
出力が大きいときの注意
Claude Codeは、MCPツールの出力が10,000トークンを超えると警告し、既定では25,000トークンで打ち切ります。回答本文が長いときはget_contentの結果が大きくなりえます。上限はMAX_MCP_OUTPUT_TOKENSで変更できますが、上げるほどコンテキストを消費します。必要な回答だけ引く運用のほうが、枠にもコンテキストにも優しい形です。
うまく動かないときの切り分け
| 症状 | 確認すること |
|---|---|
| サーバーが起動しない | 確認することnpxが使えるか(Node.jsが入っているか)を確認 |
| 認証画面が出ない | 確認すること/mcpの状態を見て、未認証なら認証をやり直す |
| 認証済みなのに失敗する | 確認することclaude mcp get stack-mcp-serverのIssue:行を読む |
| 起動が遅くて落ちる | 確認することMCP_TIMEOUTで起動待ち時間を延ばす |
| 検索結果が出ない | 確認すること語を短くして再検索。質問文の丸ごと入力は避ける |
| 回数制限に当たった | 確認すること翌日まで待つか、枠を超える用途は営業への問い合わせ |
MCP_TIMEOUTはサーバー起動のタイムアウトで、MCP_TIMEOUT=10000 claudeのようにミリ秒で指定します。npxが初回にパッケージを取得するときは、起動に時間がかかることがあります。
接続後にMCPサーバーの一覧が遅れて見えるときは、キャッシュ表示の仕組みが関わっていることもあります。仕組みはMCP_DISCOVERY_CACHEの解説にあります。
他のMCPサーバーとの使い分け
Stack Overflow MCPは「過去の人間の知識を引く」サーバーです。ドキュメントを引く系のMCPや、自社データベースを引く系とは役割が違います。
- ライブラリの最新仕様は、そのライブラリ公式のMCPやドキュメントを優先する
- 「同じエラーを踏んだ人はいないか」はStack Overflow MCPが向く
- 自社の運用データやログは、データベース系のMCPが担当する
提供元のMCPをClaude Codeに繋ぐ例は、Twilioの認証不要のAPI仕様検索やTavilyの解説が参考になります。claude mcp addの構文とスコープの全体像は、Claude Code MCP設定ガイドにあります。
運用前に知っておく点
Stack Overflowは、このサーバーをbetaと位置づけています。ドキュメントには、今後の投資を続けるかどうかを判断するためにフィードバックが重要だと書かれています。ツールの追加や仕様変更の余地があり、設定やツール名は変わる可能性があります。業務の必須経路にするより、調査の補助として使う位置づけが合っています。
もう1点、Stack Overflowの投稿はCC BY-SAの下で提供されています。検索結果をそのまま製品やドキュメントに取り込むときは、出典表示などの条件が付きます。
出典を残すなら、Claudeに採用した回答の元の質問URL、回答者名、ライセンス(CC BY-SA)をコメントやPR説明にまとめて書かせる形が簡単です。たとえば依頼文に「参考にした回答は、質問URL・投稿者・CC BY-SAをコメントに残して」と一文足しておけば、コードに貼った後で出典をたどれなくなる事態を避けられます。