ReadMcpResourceTool(リードエムシーピーリソースツール)

組み込みツール
ReadMcpResourceTool
リードエムシーピーリソースツール
@メンションで指したMCPサーバーの資料1つを、その住所(URI)を指定して読み込み、会話に添付してくれる組み込みのツール。自分でコマンドとして叩くものではなく、@server:protocol://... と書いたときにClaude Codeが裏で自動で呼ぶ。

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(スキーマ)
データベースの設計図。どんな名前の表があって、それぞれにどんな列があるかをまとめたもの

関連項目

公式ドキュメント

https://code.claude.com/docs/en/tools-reference

-

← 戻る