/ ディレクトリ / プレイグラウンド / Everything (test server)
● 公式 modelcontextprotocol ⚡ 即起動

Everything (test server)

作者 modelcontextprotocol · modelcontextprotocol/servers

MCPリファレンステストサーバー — すべてのプロトコル機能を一箇所に集約。MCPクライアントのデバッグ用であり、本番利用を想定したものではありません。

リファレンス「everything」サーバーです。MCPの全機能を公開します:ツール(同期およびロングランニング)、リソース(静的および動的)、プロンプト、サンプリング、補完。MCPクライアント実装の動作確認や、プロトコルの学習・教育にご利用ください。実際のワークフローでの使用は想定していません。

なぜ使うのか

主な機能

ライブデモ

実際の動作

everything.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "everything": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-everything"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "everything": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-everything"
      ]
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "everything": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-everything"
      ]
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "everything": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-everything"
      ]
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "everything",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-everything"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "everything": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@modelcontextprotocol/server-everything"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add everything -- npx -y @modelcontextprotocol/server-everything

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: Everything (test server)

MCPクライアント実装がすべてのプロトコル機能を処理できるか検証する

👤 MCPクライアント、SDK、またはインテグレーションを構築・デバッグしている開発者 ⏱ ~20 min intermediate

使うタイミング: 新しいMCPクライアント、インテグレーション、またはラッパーをリリースする際に、実際のサーバーに接続する前にツール+リソース+プロンプト+サンプリングを正しく処理できることを証明したい場合。

前提条件
  • テスト対象のMCPクライアント — Claude Desktop、カスタムクライアント、またはテストハーネス
フロー
  1. everythingサーバーを起動し、公開している機能を一覧表示する
    everythingサーバーに接続してください。公開されているすべてのツール、リソース、プロンプトを一覧表示してください。✓ コピーしました
    → 完全なインベントリ — クライアントが全機能を検出できることを確認
  2. 各機能を実行する
    echo、次にadd、次にlongRunningOperation(10秒間)を呼び出してください。静的リソースと動的リソースを読み取ってください。simple_promptプロンプトを実行してください。✓ コピーしました
    → 各呼び出しが正常に完了またはストリーミングされ、キャンセルが機能する
  3. エッジケースをテストする
    サンプリング(sampleLLMツール)、プロンプト引数の補完、意図的にエラーを発生させるツールを試してください。クライアントが各パスを処理できるか確認してください。✓ コピーしました
    → クラッシュなし。エラーは適切なMCPエラーコードとともに表示される

結果: クライアントが実際に実装しているMCP機能のチェック済みマトリクス(エビデンス付き)。

注意点
  • すべてのクライアントがサンプリングを実装しているわけではない — サンプリングはクライアント側のオプション機能です。未対応の場合、sampleLLMツールは明確なエラーを返しますが、これはバグではなく想定された動作です

実際のサーバーを操作してMCPプロトコルを学ぶ

👤 MCPの仕様を読んだ上で、実際の動作を確認したい開発者 ⏱ ~45 min intermediate

使うタイミング: プロトコルを学習中で、ソースコードも並行して読めるサーバーが欲しい場合。

フロー
  1. stdioトランスポートでサーバーを起動し、通信内容を観察する
    npx -y @modelcontextprotocol/server-everythingを実行してクライアントを接続してください。JSON-RPCのやり取り(ツール一覧、呼び出し、レスポンス)をキャプチャしてください。✓ コピーしました
    → 仕様と照合できる生のプロトコルフレーム
  2. 対応するソースコードを読む
    modelcontextprotocol/servers/src/everything を開いてください。先ほど確認したツール、リソース、プロンプトのハンドラーがどのファイルに実装されているか追跡してください。✓ コピーしました
    → ワイヤープロトコルとサーバーコードの1対1の対応
  3. 変更してテストする
    サーバーをフォークし、現在のサーバー稼働時間を返す新しいツールを追加してください。再起動して呼び出してみてください。✓ コピーしました
    → 新しいツールがlist_toolsに表示され、呼び出しに応答する

結果: SDKレベルだけでなく、ワイヤーレベルでMCPを理解できるようになります。

注意点
  • everythingサーバーの機能を本番向けのパターンとして扱ってしまう — このサーバーはテスト用に意図的に過剰な機能を備えています。実際のサーバーでは、本当に必要なツールだけを公開すべきです
組み合わせ: fastmcp

組み合わせ

他のMCPと組み合わせて10倍の力を

everything + fastmcp

FastMCPで構築したサーバーがリファレンスと同等に動作するか検証する

自作のFastMCPサーバーとeverythingサーバーの両方に接続してください。everythingサーバーが公開している各機能について、自作サーバーが同等に処理できるか確認してください。✓ コピーしました
everything + mcp-agent

既知の動作を持つサーバーに対してエージェントの評価を実行する

everythingサーバーを指すmcp-agentをセットアップしてください。ツール呼び出し、リソース読み取り、プロンプト実行のフローを検証するテストスイートを実行してください。✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
echo message: str スモークテスト:リクエスト/レスポンスの動作確認 free
add a: number, b: number シンプルな型付き入力のテスト free
longRunningOperation duration: int (seconds), steps: int クライアントのストリーミング/プログレス表示およびキャンセル処理のテスト free
sampleLLM prompt: str, maxTokens: int MCPサンプリング機能のテスト — サーバーがクライアントにLLM呼び出しを要求する depends on client's sampling backend
getTinyImage none バイナリリソース配信のテスト free
printEnv none MCPクライアントがどの環境変数を渡しているか診断する free
annotatedMessage messageType: str, includeImage: bool アノテーション付きコンテンツ(priority、audience)のレンダリングテスト free

コストと制限

運用コスト

APIクォータ
なし — 完全にローカルで動作
呼び出しあたりのトークン
極少
金額
無料
ヒント
注意点:longRunningOperationsampleLLMはクライアント側のLLMで実際の時間やトークンを消費する場合があります。テスト実行は短めにしてください。

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: なし
データ送信先: デフォルトではなし。printEnvはクライアントが渡した環境変数をすべて公開します。デモ時にシークレットを含むプロセスには接続しないでください

トラブルシューティング

よくあるエラーと対処法

接続後にクライアントにツールが表示されない

stdioトランスポートの設定が一致しているか確認してください。一部のクライアントはサーバープロセスが常駐することを要求します。クライアントの'command'設定が終了せずに実行されるか確認してください。

確認: Run `npx -y @modelcontextprotocol/server-everything` directly; it should block waiting for input
sampleLLMが'sampling not supported'を返す

お使いのクライアントはMCPサンプリングを実装していません(多くのクライアントが未実装です)。現時点ではほとんどのクライアントで想定される動作です。このツールはスキップしてください。

longRunningOperationがプログレスをストリーミングしない

お使いのクライアントがプログレス通知をサブスクライブしていない可能性があります。クライアントのドキュメントでプログレスハンドラーのサポート状況を確認してください。

代替案

Everything (test server) 他との比較

代替案代わりに使う場面トレードオフ
FastMCPリファレンスを使うのではなく、独自のテストサーバーを構築したい場合手間は増えるが、特定の動作を分離してテストできる
Any real server (github, filesystem, etc.)全部入りではなく、現実的で限定されたツール群に対してテストしたい場合対象範囲が狭い — クライアントがサポートすべき機能を見落とす可能性がある

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る