使用说明
# 终极MCP服务器
部署为Vercel无服务器功能的生产就绪MCP(模型上下文协议)服务器。
实时链接: https://ultimate-mcp-server.vercel.app/
组织支持
- 我们可以帮助您的组织以低成本设计和构建定制的MCP服务器。
- 我们还为MCP的采用和推出提供免费的架构和决策支持。
执行摘要
- 目的:使用广泛的实用工具集为文本、数据、web、日期/时间、业务、开发人员和AI模板工作流公开单个MCP端点。
- 运行时模型:无状态HTTP JSON-RPC
POST /mcp. - 目前的范围:7个类别的90个工具。
- 平台:Vercel无服务器功能(
api/*.js).
核心能力
- MCP JSON-RPC端点
initialize,tools/list,以及tools/call支持。 - 用于发现的工具目录端点(
GET /tools). - 用于监测的健康端点(
GET /health). - 登录页面端点(
GET /).
系统流程
- MCP客户端向发送JSON-RPC请求
POST /mcp. api/mcp.js验证方法和请求体。- 请求路由器按方法分派:
initialize返回协议/服务器能力元数据。tools/list返回工具元数据和JSON模式。tools/call按名称解析工具并执行其处理程序。
- 工具结果被序列化为MCP响应内容。
- 错误以JSON-RPC错误对象的形式返回。
设计图(HLD)
flowchart LR
A[MCP Client\nClaude/Cursor/Custom] -->|POST /mcp JSON-RPC| B[Vercel Route: /mcp]
B --> C[api/mcp.js\nMCP Handler]
C --> D[Tool Registry\nIn-memory object]
D --> E[Tool Handler Execution]
E --> C
C --> A
F[Health Probe] -->|GET /health| G[api/health.js]
H[Catalog Consumer] -->|GET /tools| I[api/tools.js]
J[Browser/User] -->|GET /| K[api/index.js]
SSD(系统序列图)
sequenceDiagram
autonumber
participant C as MCP Client
participant M as /mcp (api/mcp.js)
participant R as Tool Registry
participant T as Tool Handler
C->>M: POST tools/call {name, arguments}
M->>R: Lookup tool by name
alt tool exists
R-->>M: Tool definition
M->>T: Execute handler(arguments)
T-->>M: Result object
M-->>C: JSON-RPC success response
else tool missing
M-->>C: JSON-RPC error -32601
end
LLD(低级设计)
组件
api/mcp.js:请求解析、CORS/方法保护、JSON-RPC调度、工具执行、错误映射。api/tools.js:按类别分组的公共目录API。api/health.js:用于正常运行时间检查的健康元数据。api/index.js:人类可读的登录页面。vercel.json:从公共路径到无服务器文件的路由映射。
JSON-RPC合约(POST /mcp)
initializetools/listtools/call
错误行为
405对于非POST方法/mcp.400JSON-RPC解析错误导致有效载荷无效。- JSON-RPC
-32601用于未知的方法/工具。 - JSON-RPC
-32000用于运行时处理程序故障。
状态和并发
- 服务器对每个请求都是无状态的。
- 刀具注册表是进程中的常量数据。
- 没有持久的存储依赖关系。
DDD(领域驱动设计视图)
有界上下文
MCP Tool Execution Context:接收协议请求,解析工具,返回确定性结果。
领域概念
- 实体:
ToolDefinition(name,category,description,inputSchema,handler). - 值对象:
JsonRpcRequest(id,method,params). - 值对象:
JsonRpcResponse(result或error). - 总计:
ToolRegistry(所有工具定义的一致性边界)。
域不变量
- 工具名称必须唯一标识一个处理程序。
tools/list必须公开可调用工具的模式和描述。tools/call响应必须序列化为MCP内容文本有效载荷。
API 参考
| 端点 | 方法 | 目的 |
|---|---|---|
/mcp |
POST | MCP JSON-RPC端点 |
/tools |
GET | 工具目录和类别分组 |
/health |
GET | 运行状况和元数据 |
/ |
GET | HTML登录页 |
仓库结构
ultimate-mcp-server/
api/
index.js
health.js
tools.js
mcp.js
lib/
tools/
vercel.json
package.json
README.md
本地开发
npm install
npm run dev
Vercel-dev的默认本地URL:
http://localhost:3000/mcphttp://localhost:3000/toolshttp://localhost:3000/health
部署到Vercel
git clone <repo-url>
cd ultimate-mcp-server
vercel deploy --prod
MCP客户端集成
克劳德桌面
{
"mcpServers": {
"ultimate-mcp": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://YOUR-DEPLOYMENT.vercel.app/mcp"]
}
}
}
通用MCP HTTP示例
curl -X POST https://YOUR-DEPLOYMENT.vercel.app/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
工具类别
- 文本和内容
- 数据与数学
- 网络与研究
- 日期与时间
- 商业与金融
- 开发者工具
- AI提示和模板
操作说明
- CORS已启用
Access-Control-Allow-Origin: *. /mcp手柄OPTIONS用于飞行前请求。- 项目目前没有专用的单元/集成测试套件。
许可证
联系人:pratdala@gmail.com