🚀 Forge MCP Server
Forge MCP Serverは、任意のAIコーディングエージェントから、低速なPyTorchを高速なCUDA/Tritonカーネルに変換するスワームエージェントです。
インストール ·
ツール ·
リソース ·
プロンプト ·
セキュリティ ·
開発
🚀 クイックスタート
Forgeは、自動化されたマルチエージェント最適化により、PyTorchモデルを本番環境向けのCUDA/Tritonカーネルに変換します。推論時のスケーリングを備えた32の並列AIエージェントを使用し、torch.compile(mode='max-autotune-no-cudagraphs')より最大14倍高速な推論を実現し、同時に100%の数値的正確性を維持します。
このMCPサーバーは、任意のMCP互換AIコーディングエージェントをForgeに接続します。エージェントがPyTorchコードを送信すると、Forgeは実際のデータセンターのGPU上でスワームエージェントを使用してコードを最適化し、最速のカーネルをそのまま置き換え可能な形で返します。
機能の概要
- 既存のカーネルを最適化 - PyTorchコードを送信すると、
torch.compile(max-autotune)と比較した最適化されたTriton/CUDAカーネルが返されます。
- 新しいカーネルを生成 - 操作を記述すると(例:「fused LayerNorm + GELU + Dropout」)、本番環境で使用可能な最適化されたカーネルが生成されます。
- 32の並列スワームエージェント - コーダー+ジャッジのエージェントペアが競争して最適なカーネルを探索し、テンソルコアの利用、メモリの結合、共有メモリのタイリング、カーネルの融合を同時に調査します。
- 実際のデータセンターGPUでのベンチマーク - すべてのカーネルはコンパイルされ、正確性がテストされ、実際のデータセンターのハードウェア上でプロファイリングされます。
- 250kトークン/秒の推論 - 数分で結果が得られ、数時間ではありません。
- スマート検出 - エージェントは、コードがGPU最適化の恩恵を受ける場合を自動的に認識します。
- ワンクリック認証 - ブラウザベースのOAuthサインイン。APIキーの管理は不要です。
サポートされているGPU
すべての最適化とベンチマークは、データセンターグレードのハードウェア上で実行されます。
| GPU |
アーキテクチャ |
| B200 |
Blackwell |
| H200 |
Hopper |
| H100 |
Hopper |
| L40S |
Ada Lovelace |
| A100 |
Ampere |
| L4 |
Ada Lovelace |
| A10 |
Ampere |
| T4 |
Turing |
サポートされているクライアント
📦 インストール
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_auth
Forgeサービスで認証します。ブラウザが開き、RightNowダッシュボードを介してサインインします。他のツールを使用する前に必要です。
- 入力:
force (ブール値, オプション): 有効なトークンが存在する場合でも、再認証を強制します。
- 返り値: 認証ステータス、メールアドレス、プランタイプ、クレジット残高
forge_optimize
GPUカーネル最適化のためにPyTorchコードを送信します。32のスワームエージェントが最適化されたTritonまたはCUDAカーネルを生成し、実際のデータセンターのGPU上で評価し、最良の結果とスピードアップメトリクスを返します。
エージェントは以下の場合に自動的にこのツールを使用します。
-
PyTorchのカスタム操作 (torch.autograd.Function, カスタム forward/backward)
-
より高速になりうる手動のCUDAカーネル
-
パフォーマンスに重要なテンソル操作(アテンション、畳み込み、正規化、ソフトマックス)
-
"slow", "bottleneck", "optimize" などのコメントがあるコード
-
torch.compile() の対象または triton.jit カーネル
-
forward() で大量の計算を行う nn.Module
-
行列乗算、縮約、またはスキャン操作
-
縮約操作を含むカスタム損失関数
-
融合操作の機会(例:LayerNorm + 活性化関数)
-
入力:
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 Agent │ ──────────────>│ Forge MCP │ ──────────────>│ Forge API │
│ (Claude, │ │ Server │ │ (RightNow AI) │
│ Cursor, │<──────────────│ │<──────────────│ │
│ etc.) │ MCP result │ - OAuth + PKCE │ SSE stream │ - 32 swarm │
└──────────────┘ │ - SSE streaming │ │ agents │
│ - Token mgmt │ │ - Real GPU │
└──────────────────┘ │ benchmarking │
└──────────────────┘
- 認証: エージェントが
forge_auth を呼び出し、ブラウザが開きます。一度サインインすると、トークンは ~/.forge/tokens.json にローカルに保存され、自動的に更新されます。
- 最適化: エージェントが
forge_optimize を介してPyTorchコードを送信します。MCPサーバーはForge APIにPOSTし、SSEイベントをリアルタイムでストリーミングします。
- ベンチマーク: 32の並列コーダー+ジャッジエージェントがカーネルを生成し、コンパイルし、PyTorchの参照と比較して正確性をテストし、実際のデータセンターのGPU上でパフォーマンスをプロファイリングします。
- 返却: MCPサーバーはすべての結果を収集し、最適化されたコード、スピードアップメトリクス、および反復履歴を返します。出力は元のコードのそのまま置き換え可能なものです。
各最適化には1クレジットが必要です。クレジットは成功した実行(スピードアップ >= 1.1x)のみに課金されます。失敗した実行やキャンセルされたジョブには課金されません。
設定
認証
APIキーは必要ありません。サーバーはOAuth 2.0 with PKCEを使用して、セキュアなブラウザベースの認証を行います。
- エージェントが
forge_auth を呼び出す
- デフォルトのブラウザが
dashboard.rightnowai.co を開く
- サインインまたはアカウントを作成する
- 認証が自動的に完了する
- トークンは
~/.forge/tokens.json(モード 0600)にローカルに保存される
- アクセストークンは自動的に更新され、一度だけサインインすればよい
クレジット
Forgeは従量制のクレジットシステムを使用しています。各最適化または生成実行には1クレジットが必要です。
| クレジット |
価格 |
1クレジットあたり |
| 1-9 |
1クレジットあたり $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、ベアラートークン、16進数トークン、および資格情報パラメータを取り除く正規表現フィルターを通してサニタイズされます。
- ローカルストレージのみ: トークンは
~/.forge/tokens.json にファイルモード 0600(所有者の読み取り/書き込みのみ)で保存されます。
- 自動更新: アクセストークンは1時間で有効期限が切れ、保存されたリフレッシュトークンを使用して自動的に更新されます。
- PKCEフロー: OAuthはProof Key for Code Exchange (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 # プッシュ/PR時の型チェック + ビルド
│ └── release.yml # バージョンタグでのnpm公開
├── package.json
├── tsconfig.json
└── tsup.config.ts
貢献
貢献は歓迎されます。変更したい内容については、まずissueを開いて議論してください。
- リポジトリをフォークする
- ブランチを作成する (
git checkout -b feature/my-feature)
- 変更を加える
npm run typecheck と npm run build を実行する
- コミットしてプッシュする
- プルリクエストを開く
📄 ライセンス
MIT
RightNow AIエコシステムの一部です。NVIDIA Inception Programのメンバーです。