mcpField
M
MCP Everything

MCP Everything

ローカル
github.com/s2005開発ツール075 週間前に更新

MCP Everything について

MCP Everythingは、MCPプロトコル機能のデモとテスト用サーバーです。TypeScriptとPythonの実装があり、MCPクライアント開発者向けにツール、リソース、プロンプト、サンプリング、ログ機能を扱います。

主な機能

  1. 01エコーと加算のツール
  2. 02長時間処理の進捗通知
  3. 03LLMサンプリング例
  4. 04テキストとバイナリのリソース
  5. 05プロンプトとログの例

活用シーン

  1. 01MCPクライアントのツール呼び出しテスト
  2. 02リソースのページネーションと購読の確認
  3. 03プロンプト引数処理のテスト
  4. 04サンプリングとログ連携のデモ

MCP 対応

MCPクライアントが接続してテストできるよう、ツール、リソース、プロンプト、サンプリング、ログ機能を実演します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"everything": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
起動コマンドdocker run -i --rm build

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocibuild

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP Everything

注記: このプロジェクトは、単独で動作する実装を作成するために https://github.com/modelcontextprotocol/servers/tree/main/src/everything から抽出されました。

この MCP サーバープロジェクトは、Model Context Protocol(MCP)のさまざまな機能を実演します。TypeScript と Python によるサーバー実装が含まれており、MCP クライアントの開発者向けのテストサーバーとして機能します。どちらの実装も機能の同等性を目指しており、プロンプト、ツール、リソース、サンプリング、ロギングなどの機能を紹介します。

共通機能

ツール
  1. echo

    • 入力メッセージをそのまま返すシンプルなツール
    • 入力:
      • message (string):そのまま返すメッセージ
    • 戻り値:エコーされたメッセージを含むテキストコンテンツ
  2. add

    • 2 つの数値を加算します
    • 入力:
      • a (number):最初の数値
      • b (number):2 番目の数値
    • 戻り値:加算結果のテキスト
  3. longRunningOperation

    • 時間のかかる処理の進捗通知を実演します
    • 入力:
      • duration (number, default: 10):処理時間(秒)
      • steps (number, default: 5):進捗ステップ数
    • 戻り値:処理時間とステップ数を含む完了メッセージ
    • 実行中に進捗通知を送信します
  4. sampleLLM

    • MCP のサンプリング機能を使用した LLM サンプリング機能を実演します
    • 入力:
      • prompt (string):LLM に送信するプロンプト
      • maxTokens (number, default: 100):生成する最大トークン数
    • 戻り値:生成された LLM の応答
  5. getTinyImage

    • 小さなテスト画像を返します
    • 入力は不要です
    • 戻り値:Base64 エンコードされた PNG 画像データ
  6. printEnv

    • すべての環境変数を出力します
    • MCP サーバーの設定のデバッグに便利です
    • 入力は不要です
    • 戻り値:すべての環境変数を含む JSON 文字列
  7. annotatedMessage

    • コンテンツに関するメタデータを提供するためにアノテーションを使用する方法を実演します
    • 入力:
      • messageType (enum: "error" | "success" | "debug):さまざまなアノテーションパターンを示すメッセージの種類
      • includeImage (boolean, default: false):サンプル画像を含めるかどうか
    • 戻り値:さまざまなアノテーションを含むコンテンツ
リソース

サーバーは、2 つの形式で 100 個のテストリソースを提供します。

  • 偶数番号のリソース:

    • プレーンテキスト形式
    • URI パターン:test://static/resource/{even_number}
    • 内容:簡単なテキストの説明
  • 奇数番号のリソース:

    • バイナリブロブ形式
    • URI パターン:test://static/resource/{odd_number}
    • 内容:Base64 エンコードされたバイナリデータ

リソースの機能:

  • ページネーションに対応しています(1 ページあたり 10 項目)
  • リソースの更新を購読できます
  • リソーステンプレートを実演します
  • 購読中のリソースを 5 秒ごとに自動更新します
プロンプト
  1. simple_prompt

    • 引数なしの基本的なプロンプト
    • 戻り値:単一のメッセージ交換
  2. complex_prompt

    • 引数処理を実演する高度なプロンプト
    • 必須の引数:
      • temperature (number):温度設定
    • 任意の引数:
      • style (string):出力スタイルの指定
    • 戻り値:画像を含む複数ターンの会話
ロギング

MCP のロギング機能を実演するため、サーバーは 15 秒ごとにランダムなレベルのログメッセージを送信します。

TypeScript の実装

場所: typescript/

インストール
ローカル開発
# Clone the repository (if not already done)
# git clone https://github.com/modelcontextprotocol/mcp-everything.git
# cd mcp-everything

# Navigate to the TypeScript directory from the repository root
cd typescript

# Install dependencies
npm install

# Build the project
npm run build

# Start the server
npm start
グローバルインストール
# Navigate to the TypeScript directory:
# cd path/to/mcp-everything/typescript
# Then install globally from the local package:
npm install -g .

# Run the server 
# (The command name will depend on the 'bin' field in typescript/package.json, 
#  e.g., 'mcp-everything-ts' or 'mcp-everything' if modified)
# Example:
# mcp-everything-ts

注:グローバルインストールの機能と正確なコマンドは、typescript/package.json 内の bin 設定によって異なります。

Docker
# Build the Docker image from the repository root
# (Assumes Dockerfile is updated to handle APP_DIR build argument or typescript context)
docker build -t mcp-everything-ts -f Dockerfile . --build-arg APP_DIR=typescript

# Run the container
docker run -it mcp-everything-ts
MCP クライアント(例:Claude Desktop)での使用

クライアントの MCP サーバー設定に追加します。パスの調整が必要になる場合があります。

公開済みパッケージ(例:mcp-everything-ts)を npx で使用する場合:

{
  "mcpServers": {
    "everything-ts-npx": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-everything-ts" 
        // Replace 'mcp-everything-ts' with the actual package name if different
      ]
    }
  }
}

ローカルビルドから実行する場合(cwd が typescript ディレクトリであることを確認してください):

{
  "mcpServers": {
    "everything-ts-local": {
      "command": "npm",
      "args": [
        "start"
      ],
      // Ensure 'cwd' points to the 'typescript' directory of this project.
      "cwd": "path/to/mcp-everything/typescript" 
    }
  }
}

"path/to/mcp-everything/typescript" を正しいパスに置き換えてください。


Python の実装

場所: python/

インストールとセットアップ
  1. リポジトリのルートから、Python ディレクトリに移動します。
    cd python
    
  2. (推奨)仮想環境を作成して有効化します。
    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. 依存関係をインストールします。
    pip install -r requirements.txt
    
サーバーの実行

python ディレクトリ内から(仮想環境を使用する場合は有効化した状態で)実行します。

python mcp_server.py

サーバーは標準入出力経由で MCP メッセージを受信します。

MCP クライアント(例:Claude Desktop)での使用

設定例:

{
  "mcpServers": {
    "everything-py": {
      "command": "python", // Or "path/to/python/venv/bin/python"
      "args": ["mcp_server.py"],
      "cwd": "path/to/mcp-everything/python" // Ensure this is the correct path
    }
  }
}

"path/to/mcp-everything/python" を正しいパスに置き換えてください。

GitHub Actions を使ったサーバーのテスト

注記: 実装は進行中です。サーバーはまだ完全には機能しません。

  • テスト 1
  • テスト 2

コメント

MCP は初めてですか?

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

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