🚀 Forge MCP Server
Forge MCP Server 是一个强大的工具,它借助自动化多智能体优化技术,将 PyTorch 模型转化为生产级的 CUDA/Triton 内核。通过 32 个并行的 AI 智能体,在推理时进行扩展,能实现比 torch.compile(mode='max-autotune-no-cudagraphs') 快达 14 倍的推理速度,同时保证 100% 的数值正确性。
🚀 快速开始
Forge MCP Server 可将任何 MCP 兼容的 AI 编码智能体连接到 Forge。智能体提交 PyTorch 代码,Forge 利用数据中心的真实 GPU 上的群体智能体对其进行优化,并返回最快的内核作为直接替代品。
✨ 主要特性
- 优化现有内核:提交 PyTorch 代码,可得到针对
torch.compile(max-autotune) 进行基准测试的优化 Triton/CUDA 内核。
- 生成新内核:描述一个操作(例如“融合的 LayerNorm + GELU + Dropout”),可获得一个生产就绪的优化内核。
- 32 个并行群体智能体:编码者 + 评判者智能体对竞争以发现最优内核,同时探索张量核心利用率、内存合并、共享内存分块和内核融合。
- 真实数据中心 GPU 基准测试:每个内核都在实际的数据中心硬件上进行编译、正确性测试和性能分析。
- 250k 令牌/秒推理:几分钟内即可得到结果,而非数小时。
- 智能检测:智能体可自动识别代码何时能从 GPU 优化中受益。
- 一键认证:基于浏览器的 OAuth 登录,无需管理 API 密钥。
📦 安装指南
Claude Code
macOS / Linux:
claude mcp add forge-mcp -- npx -y @rightnow/forge-mcp-server
Windows:
claude mcp add forge-mcp -- cmd /c npx -y @rightnow/forge-mcp-server
Claude Desktop
将以下内容添加到 claude_desktop_config.json 中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"forge": {
"command": "npx",
"args": ["-y", "@rightnow/forge-mcp-server"]
}
}
}
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"forge": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@rightnow/forge-mcp-server"]
}
}
}
VS Code / Copilot
将以下内容添加到 .vscode/mcp.json(工作区)或用户设置中:
{
"servers": {
"forge": {
"command": "npx",
"args": ["-y", "@rightnow/forge-mcp-server"]
}
}
}
Windows: 使用 "command": "cmd" 和 "args": ["/c", "npx", "-y", "@rightnow/forge-mcp-server"]
Cursor
将以下内容添加到 Cursor MCP 设置 (~/.cursor/mcp.json) 中:
{
"mcpServers": {
"forge": {
"command": "npx",
"args": ["-y", "@rightnow/forge-mcp-server"]
}
}
}
Windows: 使用 "command": "cmd" 和 "args": ["/c", "npx", "-y", "@rightnow/forge-mcp-server"]
Windsurf
将以下内容添加到 Windsurf MCP 配置中:
{
"mcpServers": {
"forge": {
"command": "npx",
"args": ["-y", "@rightnow/forge-mcp-server"]
}
}
}
Windows: 使用 "command": "cmd" 和 "args": ["/c", "npx", "-y", "@rightnow/forge-mcp-server"]
OpenCode
将以下内容添加到 opencode.json 中:
{
"mcp": {
"forge": {
"command": "npx",
"args": ["-y", "@rightnow/forge-mcp-server"]
}
}
}
💻 使用示例
基础用法
以下是使用 forge_optimize 工具优化 PyTorch 代码的示例:
npx @rightnow/forge-mcp-server forge_optimize --pytorch_code "$(cat example.py)" --kernel_name "example_kernel"
高级用法
如果你想生成一个新的优化内核,可以使用 forge_generate 工具:
npx @rightnow/forge-mcp-server forge_generate --operation "fused_attention" --description "实现融合注意力操作" --input_shapes "[[8, 512, 768]]"
📚 详细文档
支持的 GPU
所有优化和基准测试都在数据中心级硬件上运行:
| GPU |
架构 |
| B200 |
Blackwell |
| H200 |
Hopper |
| H100 |
Hopper |
| L40S |
Ada Lovelace |
| A100 |
Ampere |
| L4 |
Ada Lovelace |
| A10 |
Ampere |
| T4 |
Turing |
支持的客户端
工具说明
forge_auth
用于与 Forge 服务进行身份验证。会打开浏览器,通过 RightNow 仪表板进行登录。在使用其他工具之前需要先进行此操作。
- 输入:
force(布尔值,可选):即使存在有效令牌,也强制重新认证。
- 返回:认证状态、电子邮件、计划类型和信用余额。
forge_optimize
提交 PyTorch 代码以进行 GPU 内核优化。32 个群体智能体生成优化的 Triton 或 CUDA 内核,在真实数据中心 GPU 上进行评估,并返回最佳结果和加速指标。
- 输入:
pytorch_code(字符串,必需):要优化的完整 PyTorch 代码,最大 500 KB。
kernel_name(字符串,必需):内核的简短名称(例如,"flash_attention")。
output_format(枚举,可选):"triton"(默认)或 "native_cuda"。
target_speedup(数字,可选):目标加速倍数,默认 2.0。
max_iterations(数字,可选):最大优化迭代次数(1 - 100),默认 10。
gpu(枚举,可选):目标 GPU,默认 "H100"。选项:B200, H200, H100, L40S, A100, L4, A10, T4。
user_prompt(字符串,可选):给优化器的指导(例如,"focus on memory bandwidth")。
- 返回:优化后的内核代码、加速指标、延迟比较、迭代历史。
forge_generate
根据自然语言规范从头生成一个优化的 GPU 内核。Forge 会创建一个 PyTorch 基线,然后将其优化为 Triton 或 CUDA 内核。
- 输入:
operation(字符串,必需):操作名称(例如,"fused_attention", "softmax")。
description(字符串,必需):内核应实现的详细描述。
input_shapes(数字数组的数组,必需):输入张量的形状(例如,[[8, 512, 768]])。
output_shape(数字数组,可选):预期的输出形状。
dtype(字符串,可选):数据类型,默认 "float16"。
output_format(枚举,可选):"triton"(默认)或 "native_cuda"。
target_speedup(数字,可选):目标加速倍数,默认 2.0。
max_iterations(数字,可选):最大迭代次数(1 - 100),默认 10。
gpu(枚举,可选):目标 GPU,默认 "H100"。
user_prompt(字符串,可选):额外的指导。
- 返回:生成的内核代码、加速指标、迭代历史。
forge_credits
检查当前的 Forge 信用余额。
- 输入:无
- 返回:信用余额、总购买量、总使用量、计划类型。
forge_status
检查正在运行或已完成的优化作业的状态。
- 输入:
session_id(字符串,必需):forge_optimize 或 forge_generate 的会话 ID。
- 返回:作业状态、当前迭代、最佳加速倍数。
forge_cancel
取消正在运行的优化作业。
- 输入:
session_id(字符串,必需):要取消的作业的会话 ID。
- 返回:取消确认。
forge_sessions
列出过去的优化会话及其结果。
- 输入:
limit(数字,可选):返回的会话数量(1 - 100),默认 10。
status(枚举,可选):按状态过滤:"all", "completed", "failed", "running",默认 "all"。
- 返回:包含任务名称、GPU、加速倍数、状态和日期的会话表格。
工具注解
| 工具 |
只读 |
幂等 |
破坏性 |
forge_auth |
否 |
是 |
否 |
forge_optimize |
否 |
否 |
否 |
forge_generate |
否 |
否 |
否 |
forge_credits |
是 |
是 |
否 |
forge_status |
是 |
是 |
否 |
forge_cancel |
否 |
否 |
是 |
forge_sessions |
是 |
是 |
否 |
资源
| URI |
描述 |
forge://auth/status |
当前认证状态(已认证、令牌过期、是否有刷新令牌) |
forge://credits |
信用余额、使用情况和计划信息 |
提示
forge-optimize
用于优化 GPU 内核的引导式工作流程。指导智能体:
- 检查信用余额。
- 分析代码以确定优化目标。
- 使用适当的参数调用
forge_optimize。
- 解释结果并建议集成。
forge-analyze
教导智能体扫描代码库以寻找 GPU 优化机会,并按预期影响进行排序:
| 优先级 |
模式 |
| 高 |
自定义自动求导函数、注意力机制、融合操作 |
| 中 |
标准 nn.Module 组合、归一化 + 激活融合 |
| 低 |
逐元素操作、简单归约 |
工作原理
┌──────────────┐ stdio ┌──────────────────┐ HTTPS ┌──────────────────┐
│ AI 智能体 │ ──────────────>│ Forge MCP │ ──────────────>│ Forge API │
│ (Claude, │ │ 服务器 │ │ (RightNow AI) │
│ Cursor, │<──────────────│ │<──────────────│ │
│ 等) │ MCP 结果 │ - OAuth + PKCE │ SSE 流 │ - 32 个群体 │
└──────────────┘ │ - SSE 流式传输 │ │ 智能体 │
│ - 令牌管理 │ │ - 真实 GPU │
└──────────────────┘ │ 基准测试 │
└──────────────────┘
- 认证:智能体调用
forge_auth,会打开浏览器。只需登录一次,令牌会存储在本地 ~/.forge/tokens.json 并自动刷新。
- 优化:智能体通过
forge_optimize 发送 PyTorch 代码。MCP 服务器向 Forge API 发送 POST 请求,并实时流式传输 SSE 事件。
- 基准测试:32 个并行的编码者 + 评判者智能体生成内核,编译它们,根据 PyTorch 参考测试正确性,并在真实数据中心 GPU 上进行性能分析。
- 返回:MCP 服务器收集所有结果,并返回优化后的代码、加速指标和迭代历史。输出可直接替代原始代码。
每次优化需要 1 个信用点。仅对成功运行(加速倍数 >= 1.1x)收取信用点。失败的运行和取消的作业不收费。
配置
认证
无需 API 密钥。服务器使用 OAuth 2.0 与 PKCE 进行基于浏览器的安全认证:
- 智能体调用
forge_auth。
- 默认浏览器打开到
dashboard.rightnowai.co。
- 登录或创建账户。
- 授权自动完成。
- 令牌存储在本地
~/.forge/tokens.json(模式 0600)。
- 访问令牌自动刷新,只需登录一次。
信用点
Forge 使用 按需付费 的信用系统。每次优化或生成运行需要 1 个信用点。
| 信用点数量 |
价格 |
每个信用点价格 |
| 1 - 9 |
每个 $15.00 |
$15.00 |
| 10+ |
25% 折扣 |
$11.25 |
| 50 |
$562.50 |
$11.25 |
| 企业版 |
自定义批量定价 |
联系我们 |
免费试用:可优化 1 个内核,无需信用卡。
100% 退款保证:如果 Forge 无法超越 torch.compile,将退还信用点。
可在 dashboard.rightnowai.co 购买信用点。
基准测试
在 NVIDIA B200 上的端到端延迟。Forge 与 torch.compile(mode='max-autotune-no-cudagraphs') 对比:
| 模型 |
torch.compile |
Forge |
加速倍数 |
| Llama-3.1-8B |
42.3ms |
8.2ms |
5.16x |
| Qwen2.5-7B |
38.5ms |
9.1ms |
4.23x |
| Mistral-7B |
35.2ms |
10.4ms |
3.38x |
| Phi-3-mini |
18.7ms |
6.8ms |
2.75x |
| SDXL UNet |
89.4ms |
31.2ms |
2.87x |
| Whisper-large |
52.1ms |
19.8ms |
2.63x |
| BERT-large |
12.4ms |
5.1ms |
2.43x |
完整的基准测试可在 rightnowai.co/forge 查看。
🔧 技术细节
安全
令牌保护
- 错误信息中无令牌:所有错误信息都通过正则表达式过滤器进行清理,在到达智能体之前去除 JWT、Bearer 令牌、十六进制令牌和凭证参数。
- 仅本地存储:令牌存储在
~/.forge/tokens.json,文件模式为 0600(仅所有者可读可写)。
- 自动刷新:访问令牌在 1 小时后过期,并使用存储的刷新令牌自动刷新。
- PKCE 流程:OAuth 使用代码交换证明密钥(SHA - 256),防止授权码拦截。
- 配置中无秘密信息:MCP 服务器不需要任何环境变量或 API 密钥。
输入验证
- PyTorch 代码输入上限为 500 KB,以防止内存耗尽。
- 用户提示上限为 10 KB。
- 所有字符串输入通过 Zod 模式进行最大长度验证。
- 数字输入有最小/最大边界(例如,
max_iterations: 1 - 100)。
网络安全
- 所有 API 通信使用 HTTPS。
- 非 SSE 请求有 30 秒超时,以防止挂起。
- SSE 流有 10 分钟超时,并自动清理。
- 令牌刷新使用 互斥锁,以防止并发请求的竞争条件。
服务器可访问内容
- 网络:仅可访问
dashboard.rightnowai.co 和 forge-api.rightnowai.co。
- 文件系统:仅读写
~/.forge/tokens.json。
- 无代码库访问:MCP 服务器从不读取文件。智能体通过工具参数明确传递代码。
开发
从源代码构建
git clone https://github.com/RightNow-AI/forge-mcp-server.git
cd forge-mcp-server
npm install
npm run build
本地运行
npm run dev
类型检查
npm run typecheck
使用 MCP 检查器调试
npx @modelcontextprotocol/inspector node dist/index.js
这将打开一个 Web UI,你可以在其中调用每个工具、检查输入/输出并交互式调试服务器。
项目结构
forge-mcp-server/
├── src/
│ ├── index.ts # 入口点 (McpServer + StdioServerTransport)
│ ├── server.ts # 注册所有工具、资源、提示
│ ├── constants.ts # URL、客户端 ID、超时、限制
│ ├── types.ts # TypeScript 接口 + 类型守卫 + 清理
│ ├── auth/
│ │ ├── oauth-client.ts # PKCE 流程、令牌刷新、访问令牌管理
│ │ └── token-store.ts # ~/.forge/tokens.json 读写/清除
│ ├── api/
│ │ ├── forge-client.ts # 所有 Forge API 端点的 HTTP 客户端
│ │ └── sse-consumer.ts # 通过原生 fetch + ReadableStream 解析 SSE 流
│ ├── tools/ # 7 个 MCP 工具
│ ├── resources/ # 2 个 MCP 资源
│ └── prompts/ # 2 个 MCP 提示
├── .github/workflows/
│ ├── ci.yml # 推送/拉取请求时进行类型检查 + 构建
│ └── release.yml # 版本标签时进行 npm 发布
├── package.json
├── tsconfig.json
└── tsup.config.ts
🤝 贡献
欢迎贡献代码。请先打开一个问题,讨论你想要进行的更改。
- 分叉仓库。
- 创建一个分支 (
git checkout -b feature/my-feature)。
- 进行更改。
- 运行
npm run typecheck 和 npm run build。
- 提交并推送。
- 打开一个拉取请求。
📄 许可证
MIT
本项目是 RightNow AI 生态系统的一部分,也是 NVIDIA Inception Program 的成员。