Express MCP 服务器
使用 Express 和 TypeScript 构建的无状态模型上下文协议 (MCP) 服务器。
特征
- 采用现代 Streamable HTTP 传输的无状态 MCP 服务器实现
- TypeScript 类型安全
- 用于 HTTP 处理的 Express.js
要求
安装
# 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
可用功能
该服务器通过三个 MCP 组件实现了一个简单的回显端点:
- 资源:
echo://{message}
- 将消息作为资源返回 - 工具:
echo
——将提供的消息作为工具响应回显 - 提示:
echo
- 使用提供的消息创建用户提示
MCP 协议
该服务器实现了模型上下文协议(MCP),这是 LLM 与外部数据和功能交互的标准化方式。它公开了一个响应 JSON-RPC 请求的无状态 API 端点。
API 使用
向/mcp
发送一个带有 JSON-RPC 负载的 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"
}
}
}'
呼叫回显工具
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
}'
执照
国际学习中心