MCPサーバーを接続して使い始めた人向け
GitHubのissueやデータベースの構造など、MCPサーバーがつないでくれた外部の資料を、コピペせずにClaude Codeへ直接読ませたい場面で動く。プロンプト欄で @github:issue://123 のように資料を指して質問すると、このツールがその中身を読み込んでくれる。資料を公開しているMCPサーバーが接続済みであることが前提。
MCPサーバーをClaude Codeにつないだあと、プロンプト欄で @github:issue://123 のように外部の資料を貼ると、Claudeがその中身を勝手に読み込んでから答えてくれます。このとき裏で動いているのが ReadMcpResourceTool です。
名前に Tool と付くので「ReadMcpResourceTool と打つのかな」と思いがちですが、自分で叩くものではありません。@メンションがすべての入口で、ツールはClaudeが自動で呼びます。
噛み砕くと
新しい職場に入った初日、机の上に「資料は社内サイトのこのリンクから見てね」と貼り紙があるようなものです。リンクを貼られた人(Claude)は、そのリンク先を自分で開いて中身を読みます。
あなたがやるのは「このリンク見て」と渡すことだけ。リンク先のファイルを印刷して手渡す作業は、相手が裏でやってくれます。
ReadMcpResourceTool は、その「リンク先を開いて読む」部分の自動係です。
あなたが書くのは @サーバー名:protocol://資料の場所 という1行。それだけ。
大事な前提:このツールは「MCPサーバーが接続済み」で「資料を公開してる」ときだけ動く
ReadMcpResourceTool は、まずMCPサーバーがつながっていないと出番がありません。接続は claude mcp add ... で行い、状態は /mcp で確認します。
さらに公式docsには「Claude Code automatically provides tools to list and read MCP resources when servers support them」とあります。資料を公開しているサーバーのときだけ、読む道具を自動で用意する、という意味です。
ここが落とし穴の種になります。資料を1つも公開していないサーバーでは、@ を押しても候補に何も出てきません。
もう1つ。読み込む中身は外部サーバーから来ます。公式は「Verify you trust each server before connecting it」と警告しています。信頼できるサーバーだけつなぐ、が大前提です。
「料理ブログのバグ調べ」を例に、実際の手順を見る
料理ブログを運営していて、GitHubに上げたバグ報告のissueをClaude Codeから直接参照したい、という場面で追います。
ステップ1: GitHubのMCPサーバーをつなぐ
まず接続。公式docsのGitHub例のコマンドをそのまま使います。
claude mcp add --transport http github https://api.githubcopilot.com/mcp/ --header "Authorization: Bearer YOUR_GITHUB_PAT"
末尾の YOUR_GITHUB_PAT は、GitHubで発行した自分の合言葉に置き換えます。ここではそのまま伏せておきます。
ステップ2: つながったか確認する
Claude Codeの中で次を打ちます。
/mcp
接続中のサーバー名と、横に道具の数が出ます。github が並んでいれば成功です。
ステップ3: @を打って候補を見る
プロンプト欄で @ を1文字打ちます。すると、接続中のサーバーが公開している資料が、自分のファイルと並んで候補に出てきます。
この「一覧を出す」動きは、ペアの道具である ListMcpResourcesTool 側の仕事です。Read は、ここから1つ選んだあとに動きます。
ステップ4: issueを指して質問する
料理ブログのバグissueが123番だとします。公式docsの例そのままに、こう入力して送ります。
Can you analyze @github:issue://123 and suggest a fix?
送信した瞬間、Claudeが ReadMcpResourceTool を裏で呼び、issue://123 という場所を指定して中身を読み込みます。
読み込んだissueは、添付資料としてそのまま会話に取り込まれます。コピペは不要です。
ステップ5: ここで初心者がやりがちな勘違い
「ReadMcpResourceTool issue://123」みたいに、ツール名を自分で打とうとする人がいます。これは動きません。
入口はあくまで @ です。ツール名を口に出す場面は一度もありません。
ステップ6: 自分で道具を呼んでないことに気づく
ここまでの流れを振り返ると、あなたが書いたのは @github:issue://123 という指定だけ。
一覧(List)も読み込み(Read)も、全部Claudeが自動でやりました。これがこのツールの正体です。
つまり ReadMcpResourceTool は何をしてくれるのか
- やってくれる: @メンションで指した資料1つを、URI(住所指定)で読み込んで会話に添付する
- やってくれない: 資料の一覧を出すこと(それはペアの ListMcpResourcesTool の担当)、コマンドとして手で叩かれること
- 意味が薄い場面: 資料を1つも公開していないサーバー。@を押しても候補が出ないので、このツールの出番がない
使いどころ3シナリオ(料理ブログ運営で再現)
シナリオ1: バグ報告のissueをそのまま直してもらう
レシピ検索ボックスが動かないというissueを読者から上げてもらったとします。
そのissueが123番なら Can you analyze @github:issue://123 and suggest a fix? と書くだけ。
Claudeがissueの本文と再現手順を読み込んでから、修正案を出してきます。ブラウザでissueを開いてコピペする手間が消えます。
シナリオ2: レシピDBの構造を見て、合うSQLを書いてもらう
料理ブログのレシピをPostgreSQL(データベースの一種)で管理しているとします。
テーブル構造を見せたいときは @postgres:schema://users のように指定します。公式docsの例そのままの形です。
Claudeが実際のテーブル構造を読み込んでから、その列名に合ったSQLを書いてくれます。列名を勘で書かれてズレる、が起きにくくなります。
シナリオ3: 2つの資料を突き合わせる
データベースの構造と、設計メモの記述がズレていないか確認したいときがあります。
公式docsの例だと、1つのプロンプトに2つ並べて書けます。
Compare @postgres:schema://users with @docs:file://database/user-model
Claudeが両方を読み込んで、違いを並べてくれます。資料を行き来する手作業がなくなります。
初心者が踏みやすい落とし穴
- ReadMcpResourceTool を手で打つものだと思う。これがいちばん多い誤解です。スラッシュコマンドでもコマンドの後ろに足す指定でもなく、@メンションを使ったときにClaudeが裏で自動で呼びます。
- ListMcpResourcesTool との役割を混ぜる。List は公開されている資料の一覧(@を押したときの候補)、Read は1つを住所指定で読む。一覧して→選んで読む、の2段です。
- 資料を公開していないサーバーで使おうとする。道具だけ提供しているサーバーには資料がなく、@を押しても候補が出ません。「@で何も出ない=そのサーバーが資料に対応していない」ことが多いです。
- MCPの3種類を混同する。資料は
@サーバー:protocol://...、prompts(定型の命令)は/mcp__サーバー__名前でスラッシュ実行、tools(道具)はClaudeが普通に呼ぶ。/mcp__...で呼ぶのは資料ではありません。 - 承認が要らない=安全だと思う。このツールは読むのに承認を求めません。ただし読む中身は外部サーバー由来で、悪意ある指示が混ざるリスクがあります。信頼できるサーバーだけつなぐのが前提です。
- 止めたいときの書き方を間違える。permissions(許可設定)でこのツールを禁止するなら、deny(禁止リスト)に
ReadMcpResourceToolという名前だけを書きます。カッコ付きの指定はつきません。
書き方
@server:protocol://resource/path
(例: @github:issue://123/@postgres:schema://users)
※自分でツール名を打つのではなく、@メンションで資料を指すとClaude Codeが裏でこのツールを呼ぶ
やってみるとこうなる
入力
Can you analyze @github:issue://123 and suggest a fix?
出力例
@github:issue://123 を読み込みました。
このissueは「レシピ検索ボックスが動かない」というバグ報告です。
再現手順と原因を読んだうえで、修正案を提示します……(issueの中身が添付資料として会話に取り込まれ、Claudeがそれを踏まえて回答する)
このページに出てきた言葉
- MCP
- 外部のツールやデータベースをClaude Codeから読んだり操作したりできるようにする、共通の接続の決まりごと
- MCPサーバー
- MCPの決まりに沿って、外部のツールやデータをClaude Codeに渡してくれる窓口役のプログラム
- リソース(resource)
- MCPサーバーが「これ参照していいよ」と外に見せている資料1つ1つ。GitHubのissueやデータベースの構造などがこれにあたる
- @メンション
- プロンプト欄で <code>@</code> を打って、ファイルや資料を「これを見て」と指し示す操作
- URI
- 資料の場所を表す住所みたいな指定文字列。<code>issue://123</code> なら「issueという種類の123番」を指す
- ListMcpResourcesTool
- このツールのペア。接続中のサーバーが公開している資料の一覧を出す側(@を押したときの候補に相当)
- /mcp
- Claude Code内で打つと、接続中のMCPサーバー一覧と提供している道具の数を表示してくれる確認画面
- schema(スキーマ)
- データベースの設計図。どんな名前の表があって、それぞれにどんな列があるかをまとめたもの