关于 Meta MCP Server
Meta MCP Server 是用于搭建、编写、校验和套用模板创建 MCP 服务项目的 MCP 服务。它帮助开发者根据描述生成项目文件和工具注册,并提供内置模板及结构化工具响应。
主要功能
- 01写入新服务项目文件
- 02列出并获取项目模板
- 03校验 MCP 服务目录
- 04使用 JSON Schema 定义工具
- 05支持 stdio 和 Streamable HTTP 传输
适用场景
- 01搭建新的 MCP 服务项目
- 02创建服务前查看模板
- 03校验服务项目目录
MCP 相关
它向 MCP 客户端提供创建和校验 MCP 服务项目的工具,包括写入文件、浏览模板和检查项目结构。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
1收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| files | array | 是 | |
| outputDir | string | 是 | 创建服务器文件的目录 |
详细介绍
Meta MCP 服务
最初的 MCP 服务,用于创建其他 MCP 服务。它诞生于 Anthropic 发布自家的 mcp-builder 技能之前,如今已更新,以符合 MCP 规范 2025-11-25 和 SDK v1.27+。
功能
meta-mcp-server 提供一些工具,让大模型(或任何 MCP 客户端)能够搭建、编写、验证新 MCP 服务项目并使用模板。你只需描述所需内容,meta-mcp-server 就会为你编写文件,而不必手动设置 package.json、tsconfig.json 和样板工具注册代码。
工具
| 工具 | 描述 |
|---|---|
meta_write_mcp_server | 将新 MCP 服务的文件写入磁盘 |
meta_list_templates | 列出可用的项目模板 |
meta_get_template | 获取指定模板的完整文件内容 |
meta_validate_server | 验证目录是否为格式正确的 MCP 服务项目 |
所有工具都使用显式 JSON Schema(通过 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
Streamable HTTP 传输
npm run start:http
# or
node build/main.js --http
# Listens on http://localhost:3000 (override with PORT env var)
Docker
docker build -t meta-mcp-server .
docker run -p 3000:3000 meta-mcp-server
在 Claude Desktop 中配置
将以下内容添加到 Claude Desktop 配置文件(claude_desktop_config.json)中:
{
"mcpServers": {
"meta-mcp-server": {
"command": "node",
"args": ["/path/to/meta-mcp-server/build/main.js"]
}
}
}
在 Claude Code 中配置
claude mcp add meta-mcp-server node /path/to/meta-mcp-server/build/main.js
模板
meta-mcp-server 附带可直接使用的模板:
- minimal-stdio -- 包含一个工具的最简 MCP 服务,使用 stdio 传输、TypeScript + Zod
- http-dual-transport -- 同时支持 stdio 和 streamable-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-builder 技能(Apache 2.0)。David Montgomery 的版本率先问世。此 v2.0 现代化版本符合当前 MCP 规范和最佳实践,同时保留了原始愿景。
许可证
MIT
附录:实践中的 MCP(代码执行、工具规模与安全性)
最后更新:2026-03-23
为什么要编写此附录
Model Context Protocol(MCP)仍是工具和 Agent 最有用的互操作层之一。需要权衡的是,大型 MCP 服务可能会暴露许多工具,而简单的工具调用可能会让上下文窗口充斥着 Schema、工具调用对话以及无关的调用记录。
实践证明,“更多工具”并不总能带来“更好的结果”。工具覆盖面必须配合适当的执行模式,才能控制令牌用量并确保行为可预测。
转向代码执行 / 代码模式
近期的工作流越来越多地将复杂编排从聊天上下文移至代码执行循环中。这能减少重复的 Schema 令牌,并使工具用法可审计、可测试。
核心阅读:
高级用户的推荐配置
若想以可复现、低干扰的方式使用 MCP,可从面向代码模式的配置开始:
实践提醒:即使配置完善,不同提供商和版本的模型行为仍可能不一致。请保留重试机制、防护措施和确定性回退方案。
Peter Steinberger 风格的封装工作流
一种能显著提升效率的模式是:将 MCP 服务封装为可调用的代码接口和面向任务的命令行工具,而不是始终向模型暴露所有原始工具。
参考工具:
客户端适配指南(简版)
- Claude Code / Codex / Cursor:适合直接使用 MCP 工作流,但仍能从精简的工具范围中受益。
- 代码执行封装(TypeScript/Python 命令行工具):当工具数量较多或任务链包含多个步骤时更合适。
- MCP 控制能力较弱的托管聊天客户端:通常通过预先封装的命令行工具或网关工具使用更安全。
这个领域变化很快。如果你现在阅读本文,其中部分建议可能已经过时。
提示词注入:风险、影响与缓解措施
提示词注入仍是使用工具的 Agent 面临的开放安全问题。它可以管理,但尚未“解决”。
主要风险:
- 隐藏在工具输出或远程内容中的恶意指令。
- 机密数据泄露和未经授权的外部调用。
- 不安全的状态变更(破坏性文件/系统/API 操作)。
后果:
- 数据泄露、账户遭入侵、财务损失和完整性受损。
基本缓解措施:
- 对凭据和工具权限范围实施最小权限原则。
- 将目的地加入允许列表,并强制实施出站流量控制。
- 严格验证输入并强制执行架构约束。
- 对破坏性/高风险操作要求人工确认。
- 在沙盒中执行,并限制资源和时间。
- 采用结构化日志记录、审计跟踪和可重放运行。
- 在将输出重新输入模型前进行过滤/脱敏。
除非经过明确验证,否则应将每项工具输出都视为不可信输入。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。