0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Smithery で人気の MCP サーバー 46 個を調べたら、7 割のツールが「いつ使うか」を書いていなかった

0
Posted at

MCP サーバーのディレクトリ Smithery で利用回数の多いサーバーを 46 個選び、計 1,118 ツールの説明文を調べました。769 ツール(69%)が「いつ使うか」を書いていません。 「何を返すか」が説明文にないツールも 507 個(45%)ありました。似た説明文が並んで取り違えやすいツールの組は、15 サーバーで計 90 組見つかっています。

69% という数字は、前回の調査とまったく同じです。そのときは公開サーバー 8 つの 126 ツールを調べ、87 ツールが「いつ使うか」を書いていませんでした。対象を 9 倍に広げても、割合は変わりませんでした。

調べるのに使ったのは、筆者が作っている MCP のツール説明文の静的リンター Forecall です。

調べ方:Smithery の上位 50 サーバーの説明文を、文字だけで判定した

2026 年 10 月 8 日に、Smithery の公開レジストリの一覧の先頭 500 件(API が返す既定の順)から、重複を除いて利用回数の多い順に 50 個を選び、各サーバーのツール定義を集めました。これを Forecall の CLI(forecall 0.3.2)で採点しています。50 個のうち 4 個は、ツールが 200 個を超えていて CLI の上限に当たったので除きました。残りの 46 サーバー、1,118 ツールが対象です。

一つ注意があります。Smithery の API が返すツール定義には、入力スキーマの required(必須の引数)や出力スキーマが含まれていません。そのため Forecall の総合点は本来より低く出ます。この記事では総合点を使わず、説明文の文字だけで決まる指摘に絞って数えました。 具体的には、「いつ使うか」の有無、説明文に戻り値が書かれているか、説明文が短すぎないか、似た説明文の組の 4 つです。

7 割のツールが「いつ使うか」を書いていない

指摘 ツール数 割合
「いつ使うか」がない 769 69%
説明文に戻り値がない 507 45%
短すぎる、または名前の言い直し 101 9%

サーバー単位で見ると、もっと偏っています。46 サーバー中 16 サーバーは、すべてのツールに「いつ使うか」がありませんでした。8 割以上のツールに欠けているサーバーまで含めると、半分の 23 サーバーになります。

「いつ使うか」は、エージェントが似たツールの中から 1 つを選ぶときの決め手です。ないと、モデルは名前と説明文の雰囲気で選ぶしかありません。

全ツールに同じ注意書きを付けると、ツールの見分けがつかなくなる

取り違えやすい組がいちばん多かったのは PubMed です。7 ツールしかないのに、21 組、つまりすべての組み合わせが「取り違えやすい」と判定されました。似ている順に並べた上位 12 組では、説明文の語の重なりが 0.73〜0.94 あります。

原因は、7 ツールすべての説明文に付いている長い注意書きです。

IMPORTANT - PubMed Database Scope: This server provides access to PubMed, which ONLY indexes biomedical and life sciences literature including: …

各ツールの違いは冒頭の 1 文(「論文を検索する」「メタデータを取る」「関連論文を探す」など)にしかありません。それが同じ注意書きの中に埋もれています。

サーバー全体に共通する注意は、各ツールの説明文ではなく、サーバーの instructions(初期化のときにクライアントへ渡す説明)に 1 回だけ書くのが向いています。ツールの説明文には、そのツールにしかないことを書きます。

「返信を送る」と「返信の下書きを作る」が、ほぼ同じ文で書かれている

Gmail では 7 組が取り違えやすいと判定されました。いちばん似ていたのは次の 2 つで、語の重なりは 0.92 です。

ツール 説明文の冒頭
Gmail_ReplyToEmail Send a reply to an email message, optionally with one or more file attachments.
Gmail_WriteDraftReplyEmail Compose a draft reply to an email message, optionally with one or more file attachments.

2 文目以降は、添付ファイルの渡し方の同じ説明が続きます。違いは「Send」と「Compose a draft」の数語だけです。

この 2 つを取り違えると、下書きを作るつもりがメールを送ってしまいます。取り消せない操作を含むツールこそ、「下書きでよいときは Gmail_WriteDraftReplyEmail を使う」のように、使い分けを 1 文で書いておくべきです。

良い例:Brave Search は、ツール同士のつなぎ方を書いている

一方で、Brave Search の説明文は、ほかのツールとの関係をはっきり書いています。web 検索の brave_web_search はこうです。

Performs web searches using the Brave Search API and returns comprehensive search results with rich metadata. To chain into local-POI enrichment, pass result_filter=locations and feed the resulting locations.results[].id values into brave_local_search.

何を返すか、次にどのツールへどの値を渡すかが書いてあるので、エージェントは複数のツールを順に使えます。Brave Search は 8 ツールすべてが説明文に戻り値を書いていて、取り違えやすい組も 0 でした。

直し方:3 つのことを 1 文ずつ書く

今回の結果から、説明文を直すときの優先順位は次のとおりです。

  1. 使いどころを 1 文書く:「Use this when …」に加え、似たツールがあれば「for …, use X instead」と書きます。
  2. 共通の注意はサーバーの instructions に移す:全ツールに同じ段落を貼ると、ツールの違いが埋もれます。
  3. 似たツールの違いを言葉にする:送るのか、下書きか。消すのか、外すのか。取り消せない操作ほど明記します。

自分のサーバーは、次のコマンドで確かめられます。1 行目でサーバーから tools/list を取り出し、2 行目で採点します。どちらも手元だけで動き、結果をどこにも送りません。

npx forecall dump -o tools.json -- <サーバーを起動するコマンド>
npx forecall lint tools.json

Streamable HTTP のサーバーなら、npx forecall dump https://example.com/mcp > tools.json のように URL を渡します。

まとめ:説明文の弱点は、規模を広げても同じだった

8 サーバーでも 46 サーバーでも、ツールの 7 割が「いつ使うか」を書いていませんでした。人気のあるサーバーでも事情は同じです。直すのに大きな手間はかかりません。使いどころの 1 文と、似たツールとの違いの 1 文を足すだけで、エージェントが選び間違える余地は大きく減ります。

この調査は、データを入れ替えて続ける予定です。次は、公式の MCP Registry に載っているリモートのサーバーを、スキーマまで含めて採点します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?