エクスプレスMCPサーバー
Express と TypeScript で構築されたステートレスな Model Context Protocol (MCP) サーバー。
特徴
最新のストリーミング可能な HTTP トランスポートを使用したステートレス MCP サーバーの実装
型安全性のためのTypeScript
HTTP処理用のExpress.js
Related MCP server: OpenAPI MCP Server
要件
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が外部データや機能とやり取りするための標準化された方法であるモデルコンテキストプロトコル(MCP)を実装しています。JSON-RPCリクエストに応答するステートレスAPIエンドポイントを公開します。
APIの使用
JSON-RPC ペイロードを含む POST リクエストを/mcpに送信します。
初期化
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"
}
}
}'
通話エコーツール
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
}'