mcpField
M
mcpindex

mcpindex

リモート
mcpindex.ai開発ツール1今日更新
リポジトリ公式サイト

mcpindex について

mcpindexは、エージェントがMCPサーバーを検索、比較、インストールするためのMCPサーバーです。ツール呼び出し前の信頼チェックも提供しますが、判定は助言であり、安全性の保証ではありません。

主な機能

  1. 01タスクに応じたサーバー推薦
  2. 02キーワードとセマンティック検索
  3. 03クライアント別のインストール手順
  4. 04サーバーの横並び比較
  5. 05呼び出し前のツール・サーバーチェック

活用シーン

  1. 01エージェントのタスクに合うサーバー探し
  2. 02品質や設定情報の比較
  3. 03ツール実行前のサーバー確認
  4. 04クライアント別インストール設定の取得

MCP 対応

MCPクライアントに、検索、比較、インストール案内、助言的な信頼チェックを行う6つのツールを提供します。ローカルのstdioサーバーまたはホスト型リモートMCPサーバーとして利用できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcpindex.ai/api/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
npmmcp-server-mcpindex0.4.0

ツール

6
パラメーター型必須説明
taskstringはいタスクの自然言語による説明。例:"read PDFs and write to S3"。

詳細

mcp-server-mcpindex

mcpindex npm npm downloads servers indexed screened last commit Smithery Glama

MCP サーバーを検索するための MCP サーバーです。また、エージェントフレームワークがツールを呼び出す前に利用できる、信頼性に関する助言的な判定も提供します。mcpindex.ai 提供。

エージェントのループ内から、ほかの MCP サーバーを検索、比較、インストールし、事前チェックできる、すぐに導入可能な MCP サーバーです。mcpindex.ai が提供するもので、公式レジストリを対象としたエージェント向け MCP サーバーインデックスです(現在の件数は mcpindex.ai/stats)。毎日スクリーニングとドリフト監視を実施しています。

ライブサイト · npx mcp-server-mcpindex · リモート MCP · インストールゲート · ドキュメント · 信頼性

インストール

npm install -g mcp-server-mcpindex

これはディレクトリ/助言用クライアントです(推奨、検索、信頼性確認)。インパス型のドリフトゲートはインストールしません。インストールするには、curl -fsSL https://mcpindex.ai/install.sh | sh を実行してください。

Node 20 以降が必要です。stdio では、2 つのプロトコル世代に対応しています。2026-07-28 リビジョン(server/discover、リクエストごとの _meta エンベロープ)と、現在のすべてのクライアントが使用する initialize ハンドシェイク(2025-11-25 から 2024-10-07 まで)です。接続ごとに選択されます。

またはリモート接続(インストール不要)

何もインストールしたくない場合、mcpindex はホスト型リモート MCP サーバーとしても利用できます。リモート MCP に対応する任意のクライアント(Claude コネクター、Cursor など)で、次の URL に接続してください。

https://mcpindex.ai/api/mcp

Streamable HTTP で、認証情報は不要です。npm パッケージと同じ 6 つのツールを利用できます。

Claude Code
claude mcp add --scope user mcpindex -- npx -y mcp-server-mcpindex@latest
Gemini CLI
gemini mcp add -s user mcpindex npx -y mcp-server-mcpindex@latest

Claude Desktop から使用する

~/Library/Application Support/Claude/claude_desktop_config.json に追加します。

{
  "mcpServers": {
    "mcpindex": {
      "command": "npx",
      "args": ["-y", "mcp-server-mcpindex@latest"]
    }
  }
}

@latest を指定すると、常に最新の状態を保てます。これは助言型の検索サーバーであり(インパス型のドリフト ゲートではありません)、バージョンを固定していません。次回ホストを再起動すると、npx が最新バージョンを取得するため、 手動でアップグレードする必要はありません。

Claude Desktop を再起動して、次のように尋ねてください。

「PDF を読み取り、その内容を S3 に書き込める MCP サーバーを探してください。」

Claude は recommend_mcp_for_task を呼び出し、インストールコマンド付きで、ランキング上位 3 件のサーバーを返します。

Cursor から使用する

.cursor/mcp.json に追加します。

{
  "mcpServers": {
    "mcpindex": {
      "command": "npx",
      "args": ["-y", "mcp-server-mcpindex@latest"]
    }
  }
}

Cline から使用する

cline_mcp_settings.json に追加します。

{
  "mcpServers": {
    "mcpindex": {
      "command": "npx",
      "args": ["-y", "mcp-server-mcpindex@latest"]
    }
  }
}

Zed から使用する

Zed は mcpServers ではなく context_servers から MCP サーバーを読み込みます。~/.config/zed/settings.json に追加します。

{
  "context_servers": {
    "mcpindex": {
      "command": "npx",
      "args": ["-y", "mcp-server-mcpindex@latest"]
    }
  }
}

公開されるツール

ツール機能
recommend_mcp_for_task自然言語でタスクを指定します。推奨理由、インストールコマンド、品質スコアとともに、上位 3 件のサーバーを返します。
search_mcp_serversレジストリ全体を対象に、キーワード検索とセマンティック検索を行います。任意でカテゴリーによる絞り込みが可能です。
get_install_commandサーバーとクライアント(Claude Desktop、Claude Code、Cursor、Gemini CLI、Cline、Zed)を指定して、正確なインストール用 JSON/CLI を取得します。
compare_servers2~5 件のサーバーを並べて比較します。品質スコア、インストール方法、環境変数を確認できます。
check_tool_trustサーバー上の特定のツールに対し、呼び出し前の参考判定を行います。フェイルクローズ方式で、判定がファイルにない場合は UNVERIFIED を返します。
assess_serverサーバー上のすべてのツールを対象に、呼び出し前の総合判定を行います。形式は check_tool_trust と同じです。

エージェントフレームワークとの統合:呼び出し前の参考スクリーニング

check_tool_trust は、インパスの mcpindex-gate ではなく、ディレクトリクライアントの統合インターフェースです。エージェントフレームワーク(Composio、Mastra、LangChain、DSPy、生の LLM ツール呼び出しループ)から、呼び出しをディスパッチする前に参考スクリーニング判定を照会できます。v1 で確認できるのは REVIEW または UNVERIFIED であり、安全性が承認されたことを示すものではありません。

Mastra をお使いですか? 姉妹パッケージ @mcp-index/mastra では、このスクリーニングをすぐに使える beforeToolCall フックとして提供しています。npm i @mcp-index/mastra を実行すれば、配線は不要です。

判定の仕様(v1)

このツールは、API の判定を API から受け取ったとおりに返します(ホストされたエンドポイント /api/mcp が返すものと同じフィールドと値)。さらに、このクライアントが末尾に 4 つのフラットな便宜フィールドを追加します:server_id、tool_name、source_url、fetched_at。

{
  "subject": { "server_id": "github", "tool_name": "create_pull_request", "tool_verified": false },
  "directive": "ALLOW" | "DENY" | "REVIEW" | "UNVERIFIED",
  "status":    "EVALUATED" | "PARTIAL" | "STALE" | "ERROR",
  "granularity": "description-level" | null,  // scope of a PARTIAL screen
  "dimensions": [
    { "id": "tool_safety", "verdict": "PASS", "severity": "INFO" }
  ],
  "expires_at": "2026-06-30T00:00:00Z",
  "honest_limits": [
    "semantic_only_no_conformance",
    "calibrated_false_v1",
    "description_level_screen",
    "advisory",
    "tool_name_not_independently_verified"
  ],
  "verdict_contract_version": "1.1.0",
  "server_id": "github",
  "tool_name": "create_pull_request",
  "source_url": "https://mcpindex.ai/api/v1/trust/tool/github/create_pull_request",
  "fetched_at": "2026-05-28T18:42:11.118Z"
}

verdict_contract_version は API 自身のバージョンであり、このクライアントが書き換えることはありません。subject.tool_verified: false は、API がツール名の存在をサーバー上で確認していないことを意味します。現在のスクリーニングは説明レベルであるため、スクリーニング対象サーバー上のどのツール名にも、そのサーバーの判定が適用されます。

無料プランの判定には、ディレクティブ、ディメンション、新しさの情報が含まれます。証拠の引用、LLM による根拠、履歴チェーンは有料プラン向けの機能であり、意図的にここでは省略されています。

制限事項(ゲートの UI に表示してください)

honest_limits は API が返すリストであり、そのまま中継されます。ゲートでは、ディスパッチの判断ごとにこのリストを必ず表示してください。スクリーニング済みの判定には、スクリーニング自体の制限事項(例:semantic_only_no_conformance、description_level_screen、tool_name_not_independently_verified)が含まれます。判定がファイルにない場合、またはクライアントがフェイルクローズする場合、このリストは v1 の最低限の内容となります:

  1. conformance_monitored_not_enforced - 公開者による自己申告です。mcpindex は差分を監視しますが、ネットワーク層ではブロックしません。
  2. calibrated_false_v1 - ディメンションの重大度は、実際のインシデントデータに基づく調整がまだ行われていません。
  3. advisory_deployment - 判定は参考情報であり、エージェント(またはエージェントを確認する人間)が意思決定者です。

API が返したリストとこの最低限のリストを、クライアントが結合することはありません。結合すると内容が矛盾する可能性があるためです。

履歴のアンカリング:OTS による Bitcoin アンカリング履歴。N=6 確認(約 1 時間)で Bitcoin 上の確定が完了し、約 10 分で保留状態になります。サブウィンドウの精度は主張されているものであり、証明されていません。

統合パターン(LangChain 形式、直接 LLM ツール呼び出しの規約)
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';

const mcpindex = new Client({ name: 'gate', version: '1.0.0' }, { capabilities: {} });
await mcpindex.connect(new StdioClientTransport({
  command: 'npx', args: ['-y', 'mcp-server-mcpindex@latest'],
}));

// gateToolCall wraps any agent tool dispatch. Plug it in front of
// the LangChain / DSPy / Mastra / Composio tool-call hook.
async function gateToolCall({ serverId, toolName, invoke, askHuman }) {
  const res = await mcpindex.callTool({
    name: 'check_tool_trust',
    arguments: { server_id: serverId, tool_name: toolName },
  });
  const verdict = JSON.parse(res.content[0].text);

  // Pin the v1 caveats in the audit log no matter what.
  audit.log({ verdict, caveats: verdict.honest_limits });

  switch (verdict.directive) {
    case 'REVIEW':
      // Fail-CLOSED to human. Do NOT auto-execute on REVIEW.
      // At v1 this is the common screened outcome (semantic-only).
      return askHuman({ verdict, action: `${serverId}/${toolName}` });

    case 'UNVERIFIED':
      // No verdict on file (or upstream unreachable). Fail-CLOSED.
      // Recommend human review. Do NOT fail-open to invoke().
      return askHuman({
        verdict,
        action: `${serverId}/${toolName}`,
        note: 'No trust verdict on file. Human review required before first use.',
      });

    case 'ALLOW':
      // Reserved in the contract — not produced by the v1 public screen.
      // Keep the branch for future conformance-earned ALLOW; do not expect it today.
      return invoke();

    case 'DENY':
      // Reserved in the contract — not produced by the v1 public screen.
      throw new Error(
        `mcpindex denied ${serverId}/${toolName}: ${JSON.stringify(verdict.dimensions)}`,
      );

    default:
      // Unknown directive. Fail-CLOSED.
      return askHuman({ verdict, action: `${serverId}/${toolName}` });
  }
}
最も重要なルール:フェイルオープンにしない

判定エンドポイントに到達できない場合、2xx 以外のステータスを返す場合、タイムアウトする場合、不正な JSON を返す場合、API パスをたどるような server_id/tool_name(..、/、空文字列)を受け取った場合、またはそのサーバーの判定がまだ記録されていない場合、check_tool_trust は directive: "UNVERIFIED" と status: "ERROR" を返します。暗黙のうちに ALLOW に変換することはありません。ゲートのコードでは、UNVERIFIED を「人による確認が必要」として扱い、「問題なさそうだからリリースする」と判断しないでください。

status は審査の完全性に関するテレメトリーであり、信頼に関する判断である directive とは異なります。EVALUATED(審査完了)、PARTIAL(説明レベルなど、対象の一部のみ。granularity を参照)、STALE(判定が有効期間を過ぎている)、ERROR(到達不能/判定が記録されていない)。PARTIAL の審査が EVALUATED として報告されることはありません。

これはテスト済みです。test/trust.test.mjs を参照してください。

MCP を使わずにライブラリーを直接使用する

トラストクライアントは、プレーンな ES モジュールとしてもエクスポートされています。

import { checkToolTrust, assessServer } from 'mcp-server-mcpindex/src/trust.mjs';

const verdict = await checkToolTrust({
  serverId: 'github',
  toolName: 'create_pull_request',
});

if (verdict.directive !== 'ALLOW') {
  // Hand to a human, log, or block.
}

バックエンド

デフォルトでは、呼び出しは https://mcpindex.ai に送られます。セルフホストする場合は、MCPINDEX_API_BASE=... で上書きしてください。

無料プランでは、60 req/min/IP にレート制限されています。より高いスループットと、証拠を含む完全な判定(証拠の引用、LLM による根拠、チェーンの履歴)を利用できる有料キーは、近日提供予定です。

関連パッケージ

mcpindex をエージェントに導入する方法は、用途に応じて 3 つあります。

パッケージインストール機能
mcp-server-mcpindex (このパッケージ)npm i -g mcp-server-mcpindexディレクトリーとアドバイザリー審査を MCP サーバーとして提供します。タスクからサーバーを検索し、呼び出し前に check_tool_trust を実行します。
@mcp-index/mastranpm i @mcp-index/mastra同じアドバイザリー審査を beforeToolCall フック(警告/強制)として Mastra に組み込みます。
@mcp-index/sdknpm i @mcp-index/sdkインパス型のドリフトゲートです。MCP セッションを wrap() し、ツールの契約がピン留めした内容から変化した場合、呼び出しを HOLD します。

アドバイザリー審査とドリフトゲート: このパッケージと @mcp-index/mastra は、mcpindex に「このツールは審査済みか」と問い合わせます(ネットワーク上の判定)。@mcp-index/sdk は別の質問をローカルで行います。「ピン留めしてから、このツールの契約に変更があったか」です。これらは互いに補完し合うもので、どれも別のパッケージに依存しません。

ライセンス

MIT。

プロジェクト

非公式です。Anthropic とは提携していません。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。