🚀 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 的成員。