mcpField
M
Mcp Server Demo

Mcp Server Demo

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

Mcp Server Demo について

Mcp Server Demoは、MCPサーバーとクライアントを試すための入門用リポジトリです。デモ、ドキュメントアシスタント、US Weatherの例と、エンドツーエンドのメッセージテストを含みます。

主な機能

  1. 01デモMCPサーバー
  2. 02ドキュメントアシスタントのサーバーとクライアント
  3. 03US Weatherサーバー
  4. 04エンドツーエンドのメッセージテスト

活用シーン

  1. 01MCPサーバーの実行例を学ぶ
  2. 02ドキュメントアシスタントの通信を試す
  3. 03MCPの初期化と応答を確認する

MCP 対応

MCPサーバーの例とドキュメントアシスタントのクライアントを収録しています。エンドツーエンドのMCPメッセージテストも用意されています。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

MCP サーバーとクライアントを使い始めるためのリポジトリです。

参考資料: デモ ドキュメントアシスタント 米国の天気

MCP サーバーを実行するには

uv run python server/demo.py 
uv run python server/doc_assistant.py 
uv run python server/us_weather.py 

MCP クライアントを実行するには

uv run python client/doc_assistant_client.py 

エンドツーエンドのメッセージシーケンスをテストするには

uv --directory <path-to-your-server-directory> run demo.py
uv --directory <path-to-your-server-directory> run doc_assistant.py
uv --directory <path-to-your-server-directory> run us_weather.py

標準出力のコンソールで、以下を1つずつ入力します:

jsonc
CopyEdit
// 1️⃣  Client → Server  ─── initialize ──────────────────────────────────────────
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2025-03-26",
    "clientInfo": { "name": "demo-client", "version": "1.0.0" },
    "capabilities": { "tools": {}, "resources": {} }
  }
}

/* 3️⃣  Client → Server  ─── initialized notification -- no id (fire-and-forget) */
{ "jsonrpc": "2.0", "method": "notifications/initialized" }

/* 4️⃣  Client → Server  ─── tools/list ───────────────────────────────────────── */
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list" }

/* 6️⃣  Client → Server  ─── tools/call ───────────────────────────────────────── */
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "calculate_sum",
    "arguments": { "a": 4, "b": 3 }
  }
}

以下のような応答が表示されます:

/* 2️⃣  Server → Client  ─── InitializeResult ─────────────────────────────────── */
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "protocolVersion": "2025-03-26",
    "serverInfo": { "name": "demo-server", "version": "1.0.0" },
    "capabilities": {
      "tools": { "listChanged": true },
      "resources": {}
    }
  }
}

/* 5️⃣  Server → Client  ─── list result -- includes inputSchema ─────────────── */
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "tools": [
      {
        "name": "calculate_sum",
        "description": "Add two numbers together",
        "inputSchema": {
          "type": "object",
          "properties": {
            "a": { "type": "number" },
            "b": { "type": "number" }
          },
          "required": ["a", "b"]
        }
      }
    ]
  }
}

/* 7️⃣  Server → [external world]  ─ (does the addition)  ─────────────────────── */

/* 8️⃣  Server → Client  ─── result -- structure per schema/2025-03-26 ───────── */
{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "content": [
      { "type": "text", "text": "7" }
    ]
  }
}

コメント

MCP は初めてですか?

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

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