关于 Mcp Forge
MCP-Forge 是用于搭建 MCP 服务项目、添加能力并准备分发的命令行框架。它还可将服务注册到受支持的 MCP 客户端。
主要功能
- 01生成带测试的服务项目
- 02为项目添加协议能力
- 03在 MCP 客户端注册服务
- 04生成分发文件和软件包
- 05支持 HTTP 传输与 OAuth
适用场景
- 01从示例工具开始搭建 MCP 服务
- 02添加资源、提示词或 HTTP 传输
- 03在已安装的客户端注册服务
- 04准备以插件或注册表形式分发服务
MCP 相关
它使用官方 Python SDK 生成 MCP 服务,并可添加资源、提示词和 HTTP 传输等协议能力。安装命令可将生成的服务注册到受支持的 MCP 客户端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP-Forge
在几秒钟内搭建、扩展、安装和分发 MCP 服务。
生成的服务以官方 mcp Python SDK 2.x
(MCPServer)和 2026-07-28 协议修订版为目标,并兼容采用握手机制的客户端。
安装
mcp-forge 未发布到 PyPI。PyPI 上的 mcp-forge 包是无关项目,因此请从 GitHub 安装:
uv tool install git+https://github.com/iddv/mcp-forge
或
pipx install git+https://github.com/iddv/mcp-forge
快速开始
# Scaffold a new MCP server project
mcp-forge new my-server
cd my-server
# Add features
mcp-forge add resources prompts annotations
# Package as a Claude Code plugin (with an Agent Skill)
mcp-forge add plugin
# Register in your MCP clients
mcp-forge install
命令
mcp-forge new <name>
创建新的 FastMCP 服务项目,其中包含可运行的测试、依赖项和开箱即用的示例工具。
mcp-forge new my-server
cd my-server
# Install, then run with the MCP Inspector
pip install -e ".[test]"
mcp dev server.py
# Run tests (in-process MCP client, no subprocess)
pytest
mcp-forge add <feature>
为现有项目添加 MCP 功能。可以传入一个或多个功能。若添加的功能已存在,则不会执行任何操作;功能也会自动引入其依赖项(例如,auth 会添加 http)。
mcp-forge add resources completions # Several at once
mcp-forge add auth # Also adds http
mcp-forge features # List everything available
mcp-forge install
将你的服务注册到 MCP 客户端应用程序中。可自动检测已安装的客户端,也可指定特定客户端。
# Auto-detect and install in all found clients
mcp-forge install
# Target a specific client
mcp-forge install --client claude
mcp-forge install --client cursor
mcp-forge install --client vscode
支持的客户端
| 客户端 | 配置位置 | 范围 |
|---|---|---|
| Claude Desktop | 按平台而定 | 全局 |
| Cursor | ~/.cursor/mcp.json | 全局 |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | 全局 |
| VS Code | .vscode/mcp.json | 项目 |
| Kiro | .kiro/settings/mcp.json | 项目 |
| Zed | ~/.config/zed/settings.json | 全局 |
| JetBrains | .junie/mcp.json | 项目 |
| Claude Code | .mcp.json | 项目 |
| Continue | ~/.continue/config.json | 全局 |
| Cline | ~/Documents/Cline/mcp_settings.json | 全局 |
| Roo Code | ~/.roo-code/mcp.json | 全局 |
| Amazon Q | ~/.aws/amazonq/mcp.json | 全局 |
可用功能
协议功能
| 功能 | 添加内容 |
|---|---|
resources | 带有标题和 MIME 类型的 @mcp.resource() 端点 |
resource-templates | 参数化资源 URI(users://{user_id}/profile) |
prompts | @mcp.prompt() 模板 |
completions | 为提示词和模板提供 @mcp.completion() 参数自动补全 |
annotations | 工具的 title 和行为提示(read_only_hint、destructive_hint 等) |
structured-output | 返回 pydantic 模型的工具,提供 outputSchema 和 structuredContent |
media | 图像内容和 ResourceLink 结果 |
errors | 用于预期失败的 ToolError,模型可以看到这些错误并据此恢复 |
notifications | 资源更新和工具列表变更通知,并支持在运行时注册工具 |
context | 通过 Context 报告进度并传递请求元数据 |
elicitation | 使用 Resolve + Elicit 向用户请求结构化输入 |
sampling | 使用 Resolve + Sample 请求客户端的大模型(在 2026-07-28 规范中已弃用) |
roots | 使用 Resolve + ListRoots 读取客户端的工作区根目录(在 2026-07-28 规范中已弃用) |
lifespan | 与每个请求共享的类型化启动/关闭上下文 |
middleware | 包装每个 MCP 请求的请求中间件(计时/审计日志) |
http | Streamable HTTP 传输(python server.py --http [--stateless],通过 MCP_HOST/MCP_PORT 设置地址)、/health 路由,以及供多副本部署共享的 MCP_REQUEST_STATE_KEY |
auth | OAuth 2.1 资源服务:TokenVerifier + AuthSettings(需要 http;在代理后设置 MCP_PUBLIC_URL) |
apps | MCP Apps 扩展:绑定到工具的交互式 ui:// HTML 视图 |
Elicitation、sampling 和 roots 使用 Resolve 参数,而不是直接调用 ctx.elicit()。
这样,它们既适用于无状态的 2026-07-28 连接(Multi Round-Trip Requests),也适用于较旧的客户端。
分发功能
| 功能 | 生成内容 |
|---|---|
skill | skills/<name>/SKILL.md:描述何时以及如何使用服务端工具的 Agent Skill |
plugin | .claude-plugin/plugin.json(通过 ${CLAUDE_PLUGIN_ROOT} 打包服务端)和 marketplace.json;还会添加 skill |
mcpb | 用于 MCP Bundle 的 manifest.json + .mcpbignore(Claude Desktop 一键安装) |
docker | 通过 Streamable HTTP 提供服务的 Dockerfile + .dockerignore(需要 http) |
registry | 用于 MCP Registry 的 server.json 和 mcp-name README 标记 |
请在添加工具后添加分发功能:skill 和 mcpb 会记录生成时已有的工具。现有文件不会被覆盖。删除文件,然后重新运行 add 即可重新生成。
将项目推送到 GitHub 后,任何人都可以在 Claude Code 中安装该插件:
/plugin marketplace add <you>/<repo>
/plugin install <name>@<name>
在 Claude Code 中使用 mcp-forge
此仓库本身就是一个 Claude Code 插件。其 mcp-forge skill 会教 Claude 工作流、功能目录和 SDK 2.x 模式:
/plugin marketplace add iddv/mcp-forge
/plugin install mcp-forge@mcp-forge
然后让 Claude“构建一个……的 MCP 服务”,或运行 /mcp-forge。
生成的项目
my-server/
server.py # MCPServer with an example tool
pyproject.toml # Dependencies and entry point
tests/
test_server.py # Async tests using an in-process Client
.env.example
.gitignore
README.md
从 mcp-forge 2.x 升级
mcp-forge 3 为 mcp 2.x 生成代码。mcp-forge 2 创建的项目会导入 mcp.server.fastmcp 并声明 mcp[cli]>=1.6.0,因此全新安装现在会解析到 mcp 2.x,并导致导入失败。你可以在这些项目中固定版本为 mcp[cli]>=1.28,<2,或迁移这些项目:FastMCP 变为 mcp.server.mcpserver 中的 MCPServer。请参阅 SDK 迁移指南。
开发
git clone https://github.com/iddv/mcp-forge.git
cd mcp-forge
pip install -e ".[test]"
pytest
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。