Express MCP Server について
Express MCP Serverは、MCP連携を開発する人向けの、TypeScriptとExpressによるステートレスなサンプルサーバーです。Streamable HTTPを介したechoリソース、ツール、プロンプトでプロトコルの使い方を示します。
主な機能
- 01ステートレスなMCP実装
- 02Streamable HTTPトランスポート
- 03メッセージ用echoリソース
- 04echoツールによる応答
- 05echoプロンプトの生成
活用シーン
- 01MCP JSON-RPCリクエストのテスト
- 02リソース、ツール、プロンプトの動作確認
- 03TypeScriptとExpressのサンプルを基にした開発
MCP 対応
Streamable HTTPを使うステートレスなMCPエンドポイントで、echoリソース、ツール、プロンプトを公開します。エンドポイント `/mcp` でJSON-RPCリクエストを受け付けます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Express MCP サーバー
Express と TypeScript で構築された、ステートレスな Model Context Protocol(MCP)サーバーです。
特長
- 最新の Streamable HTTP トランスポートを使用した、ステートレスな MCP サーバーの実装
- 型安全性を実現する TypeScript
- HTTP 処理に Express.js を使用
要件
- Node.js 18+
- npm または yarn
インストール
# Clone the repository (or download)
git clone https://github.com/your-username/sample-express-mcp-server.git
cd sample-express-mcp-server
# Install dependencies
npm install
開発
# Build the TypeScript code
npm run build
# Run in development mode with auto-reloading
npm run dev
# Run tests (when added)
npm test
サーバーの構成
src/
├── index.ts # Main application entry point
└── server.ts # MCP server definition with resource, tool, and prompt
利用可能な機能
このサーバーは、3 つの MCP コンポーネントを備えたシンプルなエコーエンドポイントを実装しています。
- リソース:
echo://{message}- メッセージをリソースとして返します - ツール:
echo- 渡されたメッセージをツールの応答として返します - プロンプト:
echo- 渡されたメッセージを含むユーザープロンプトを作成します
MCP プロトコル
このサーバーは、LLM が外部データや機能とやり取りするための標準化された方法である Model Context Protocol(MCP)を実装しています。JSON-RPC リクエストに応答するステートレス API エンドポイントを公開します。
API の使用方法
JSON-RPC ペイロードを指定して、/mcp に POST リクエストを送信します。
初期化
curl -X POST http://localhost:3001/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Accept: text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {
"roots": {
"listChanged": true
},
"sampling": {}
},
"clientInfo": {
"name": "ExampleClient",
"version": "1.0.0"
}
}
}'
Echo ツールの呼び出し
curl -X POST http://localhost:3001/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Accept: text/event-stream" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "echo",
"arguments": {
"message": "Hello, World!"
}
},
"id": 1
}'
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。