MCP服务器模板(TypeScript)
使用TypeScript和Express.js的模型上下文协议(MCP)服务器模板实现。
概述
此服务器为实现MCP工具和集成提供了基础。它目前包括一个简单的回声工具作为占位符,可以通过其他功能进行扩展。
特性
- MCP协议合规性:全面实施模型上下文协议规范
- 可流式HTTP传输:具有会话管理的现代基于HTTP的传输
- Express.js集成:基于Express.js构建,用于熟悉的web服务器模式
- TypeScript:完全支持TypeScript,具有类型安全性
- 占位符回声工具:用于测试和演示的简单工具
安装
# Install dependencies
pnpm install
# Build the project
pnpm build用法
启动服务器
# Start the server
node dist/server.js服务器将在端口3000(或 PORT 环境变量)。
服务器端点
- POST/mcp:客户端请求的主MCP协议端点
- GET/mcp:通过服务器发送事件(SSE)发送服务器到客户端的通知
- 删除/mcp:会话终止端点
测试服务器
您可以使用curl命令测试服务器:
- 初始化会话:
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test-client", "version": "1.0.0"}}}' \
-v会话ID将在 mcp-session-id 响应标头。寻找一条如下的线:
({
content: [
{
type: 'text',
text: `Result: ${args.someParameter}`,
},
],
}),
);MCP协议特性
此服务器支持以下MCP功能:
- 工具:执行函数并返回结果
- 会话管理:具有会话ID的有状态连接
- 流式HTTP:使用SSE进行通知的现代HTTP传输
后续步骤
此服务器为构建更复杂的MCP集成提供了基础。考虑添加:
- 具有适当输入验证的更复杂的工具
- 用于公开数据的资源端点
- LLM交互的提示模板
- 与外部API或服务集成
与Cline一起使用(VSCode扩展)
将此MCP服务器与 Cline VSCode扩展,将以下配置添加到VSCode设置JSON中:
{
"mcpServers": {
"localhost": {
"url": "http://localhost:3000/mcp",
"disabled": false,
"type": "streamableHttp",
"autoApprove": []
}
}
}在将Cline连接到MCP服务器之前,请确保它在端口3000上运行。
