Meta MCP服务器
创建其他MCP服务器的原始MCP服务器。在Anthropic发货之前建造 mcp构建器技能 --现已现代化,符合MCP规范 2025-11-25 以及SDK v1.27+。
它的作用
meta-mcp服务器公开了允许LLM(或任何mcp客户端)构建、编写、验证和模板新mcp服务器项目的工具。而不是手动设置 package.json, tsconfig.json,以及样板工具注册,您描述所需内容,然后由元mcp服务器写入。
工具
| 工具 | 说明 |
|---|---|
meta_write_mcp_server | 将新MCP服务器的文件写入磁盘 |
meta_list_templates | 列出可用的项目模板 |
meta_get_template | 获取命名模板的完整文件内容 |
meta_validate_server | 验证目录是否是格式良好的MCP服务器项目 |
所有工具都使用显式JSON模式(通过Zod)、工具注释(readOnlyHint, destructiveHint, idempotentHint, openWorldHint),以及用于模型自校正的结构化误差响应。
需求
- Node.js>=18
- npm
安装
git clone https://github.com/DMontgomery40/meta-mcp-server.git
cd meta-mcp-server
npm install
npm run build用法
stdio传输(默认)
npm start
# or
node build/main.js可流式HTTP传输
npm run start:http
# or
node build/main.js --http
# Listens on http://localhost:3000 (override with PORT env var)码头工人
docker build -t meta-mcp-server .
docker run -p 3000:3000 meta-mcp-server在Claude桌面中配置
添加到您的Claude桌面配置(claude_desktop_config.json):
{
"mcpServers": {
"meta-mcp-server": {
"command": "node",
"args": ["/path/to/meta-mcp-server/build/main.js"]
}
}
}在Claude代码中配置
claude mcp add meta-mcp-server node /path/to/meta-mcp-server/build/main.js模板
meta-mcp服务器附带了现成的模板:
- 最低标准偏差 --使用一个工具的最小MCP服务器,stdio传输,TypeScript+Zod
- http双传输 --支持stdio和流式HTTP传输的MCP服务器
使用 meta_list_templates 浏览, meta_get_template 检索,以及 meta_write_mcp_server 写。
测试
npm run build
npm test测试使用Node.js内置的测试运行器和MCP SDK InMemoryTransport 用于快速的过程中测试。
项目历史
这是有史以来最早建造的MCP服务器之一——一个创建其他MCP服务器的元服务器。Anthropic后来发布了自己的mcp构建器技能(Apache 2.0)。大卫·蒙哥马利是第一个。此v2.0现代化与当前的MCP规范和最佳实践保持一致,同时保留了原始愿景。
许可证
麻省理工学院
______________________________________________________________________
附录:MCP实践(代码执行、工具规模和安全)
最后更新时间:2026-03-23
为何存在此附录
模型上下文协议(MCP)仍然是工具和代理最有用的互操作层之一。权衡的是,大型MCP服务器可能会暴露许多工具,而简单的工具调用可能会用模式、工具聊天和无关的调用痕迹淹没上下文窗口。
在实践中,“更多的工具”并不总是“更好的结果”。工具表面积必须与执行模式相匹配,以保持令牌使用的限制和行为的可预测性。
转换到代码执行/代码模式
最近的工作流程越来越多地将复杂的编排从聊天环境转移到代码执行循环中。这减少了重复的模式标记,使工具使用可审计和可测试。
核心阅读:
高级用户的推荐设置
对于希望使用可重复和低噪声MCP的用户,请从面向代码模式的设置开始:
实际警告:即使有强大的设置,模型行为在提供者和版本之间仍然可能不一致。保持重试、护栏和确定性回退到位。
Peter Steinberger风格包装工作流程
一种高杠杆模式是将MCP服务器封装到可调用的代码接口和以任务为中心的CLI中,而不是始终将每个原始工具暴露给模型。
参考工具:
客户适合指南(简短版)
- 克劳德代码/代码/光标:适用于直接MCP工作流程,但仍受益于狭窄的工具表面。
- 代码执行包装器(TypeScript/Python CLI):当工具数量较多或任务链包含多个步骤时更好。
- MCP控制较弱的托管聊天客户端:通过预包装的CLI或网关工具通常更安全。
这个空间变化很快。如果你现在正在阅读这篇文章,那么这篇指南的部分内容可能已经过时了。
快速注射:风险、影响和缓解措施
对于使用工具的代理来说,快速注入仍然是一个悬而未决的安全问题。它是可控的,但不是“解决”的
主要风险:
- 隐藏在工具输出或远程内容中的恶意指令。
- 秘密渗透和未经授权的外部通话。
- 不安全的状态更改(破坏性文件/系统/API操作)。
后果:
- 数据泄露、账户泄露、财务损失和完整性故障。
缓解基线:
- 凭据和工具范围的最低权限。
- 列出目的地并实施出口控制。
- 严格的输入验证和模式执行。
- 人为确认破坏性/高风险行为。
- 具有资源/时间限制的沙盒执行。
- 结构化日志记录、审计跟踪和可回放运行。
- 模型重新摄取前的输出过滤/编辑。
除非明确验证,否则将每个工具输出视为不受信任的输入。
