MCP MateusData Server について
MCP MateusData Server は、MCP サーバーの実装を学ぶための小規模な TypeScript サンプルです。基本的な JSON-RPC 処理、サンプルツール、SSE 通信、テスト用クライアント例を備えています。
主な機能
- 01JSON-RPC リクエスト処理
- 02add-number と greet のサンプルツール
- 03SSE 通信対応
- 04テスト用クライアント例
活用シーン
- 01MCP サーバーの基本構造を学習
- 02JSON-RPC でツール呼び出しをテスト
- 03SSE による MCP 通信を試す
MCP 対応
add-number と greet のツールを提供する MCP サーバーを実装し、JSON-RPC リクエストと SSE 通信に対応します。テスト用のクライアント例も含まれます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP MateusData サーバー
シンプルな**Model Context Protocol(MCP)**を実装した TypeScript サーバーです。MCP サーバーの仕組みを理解するための、本格的な「Hello World」サンプルです。このプロジェクトには、次のような基本機能が含まれています。
- JSON-RPC リクエストの処理
add-numberやgreetなどのツールのサンプル- リアルタイム通信のための Server-Sent Events(SSE)のサポート
- テストや学習を簡単にするためのシンプルなクライアントおよびサーバーコード
前提条件
- Node.js(v20 以降)
- npm(Node.js に付属)
- Cursor IDE(推奨)
インストール
- リポジトリをクローンします。
git clone [email protected]:mateusdata/mcp-mateusdata-server.git
cd mcp-mateusdata-server
- 依存関係をインストールします。
npm install
プロジェクトの実行
開発モード:
npm run dev
ビルドおよび本番環境での実行:
npm run build
npm start
Cursor への MCP サーバーの追加
Cursor の設定ファイルに、次の内容を追加します。
{
"mcpServers": {
"mateusdata-mcp-server": {
"command": "node",
"args": ["path/to/mcp-mateusdata-server/build/index.js"]
}
}
}
プロジェクト構成
mcp-mateusdata-server/
├── build/ # Compiled JavaScript files
├── src/ # Source code
└── server.ts # Simple MCP server example
│ └── client.js # Simple MCP client example
├── node_modules/ # Project dependencies
├── package.json # Project configuration and dependencies
└── tsconfig.json # TypeScript configuration
概要
このリポジトリでは、Model Context Protocol(MCP)の最小限の実装を紹介します。src/client.js ファイルには、クライアントがサーバーとやり取りする方法の例が含まれており、テストや初めて学ぶ際に役立ちます。
使用例
Bash、Zsh、または Fish を使って、ターミナルから MCP サーバーと直接やり取りできます。たとえば、利用可能なツールを一覧表示するには、次のようにします。
値 a = 3 と b = 5 を指定して、ツール "add-number" を呼び出すには、次のようにします。
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"add-number","arguments":{"a":3,"b":5}}}' | node build/index.js
パラメーター nome = "Mateus" を指定して、ツール "greet" を呼び出すには、次のようにします。
echo '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"greet","arguments":{"name":"Mateus"}}}' | node build/index.js
MCP サーバーでの SSE(Server-Sent Events)の使用
SSE を使ってリアルタイムに通信し、MCP サーバーとやり取りできます。サーバーを起動します。
node build/index.js sse
次のように表示されます。
MCP Server running with SSE on http://localhost:8765/sse
SSE エンドポイントへの接続
新しいターミナルで、curl を使って接続します。
curl http://localhost:8765/sse
出力例:
event: endpoint
data: /messages?sessionId=d9bfe7df-937c-475e-8d80-904a99f9ef4d
サーバーへのメッセージの送信
前の出力から sessionId をコピーし、それを使ってリクエストを送信します。
curl -X POST http://localhost:8765/messages \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"greet","arguments":{"name":"Mateus"}}}'
サーバーはリクエストの結果を SSE 接続経由で返します。
このプロジェクトは MIT License のもとでライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。