mcpforge について
mcpforgeは自然言語の説明から、MCPサーバー開発者向けのFastMCP 3.xプロジェクト一式を生成します。テスト、設定、クライアント向けドキュメントも作成し、実行前に生成物を検証します。
主な機能
- 01自然言語からサーバーコードを生成
- 02入力検証とエラー処理を作成
- 03pytestテストとプロジェクト設定を生成
- 04構文・セキュリティ・テストを検査
- 05バックアップ付きで既存プロジェクトを更新
活用シーン
- 01要件からMCPサーバーを作成
- 02OpenAPI仕様からサーバーを生成
- 03生成したプロジェクトを検証・更新
MCP 対応
ローカルのstdio MCPサーバーとしても動作し、生成、計画、検証、検査、サーバーの検出に使うツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
7掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| model | string | いいえ | |
| strict | boolean | いいえ | |
| dry_run | boolean | いいえ | |
| language | string | いいえ | |
| provider | string | いいえ | |
| template | string | いいえ | |
| transport | string | いいえ | |
| multi_file | boolean | いいえ | |
| no_execute | boolean | いいえ | |
| description | string | はい | |
| output_path | string | いいえ | |
| auth_profile | string | いいえ | |
| from_openapi | string | いいえ | |
| middleware_profiles | any | いいえ |
詳細
mcpforge
英語の1文から、テスト済みで仕様記述不要のFastMCP 3.xサーバーを生成します。
mcpforgeは、平易な英語の説明から、完全なFastMCP 3.x MCPサーバーを生成します。ツール、Pydanticによる入力検証、エラー処理、pytestスイート、実行設定、クライアントのセットアップ手順をすべて連携させ、確認、検証、インストールできる状態にします。MCPのスキーマやプロトコルの定型コードを手書きする必要はありません。説明文が仕様になります。説明を書くと、Claudeが実装を作成し、mcpforgeが生成されたテストスイートとバリデーターを実行してから、実際に起動します。
⚡ 60秒で始める

Python 3.12以降、uv、Anthropic APIキーが必要です。
uv tool install fastmcp-builder # or: pip install fastmcp-builder
export ANTHROPIC_API_KEY="your_anthropic_api_key"
mcpforge generate "A weather server that returns today's forecast for a city" -o weather-server
まだAPIキーをお持ちでない場合は、デモをお試しください。
mcpforge demoは、組み込みの記録データを使って、実際のplan → generate → validateパイプラインを実行し、完全に検証済みの天気サーバーを生成します。APIキーは不要で、料金もかかりません。mcpforgeが生成するものを確認する最速の方法です。uvx --from fastmcp-builder mcpforge demo
ご自身のキーを使用(BYOK)。 生成にはご自身のAnthropic APIキーを使用します。mcpforgeはClaude APIを直接呼び出し、ホスト型サービスを経由してプロキシすることはありません。
generateを1回実行すると、モデルが数回呼び出されます(plan → server → tests)。そのため、デフォルトモデル(claude-sonnet-4-6)では、通常の実行でAPI利用料金は**$0.05~$0.30程度です。この金額は推定値**であり、サーバーの複雑さや選択したモデルに応じて変動します。リアルタイムの測定値ではありません。モデルを呼び出さないvalidate、inspect、list、doctor、initはすべて無料です。
これで一連の流れは完了です。mcpforgeはツールの計画、コードの生成を行い、結果に対して構文、セキュリティ、Lint、インポート、pytestのチェックを実行します。そのため、./weather-server/に生成されるものはすでに検証済みです。
# weather-server/server.py (excerpt)
"""Weather forecast MCP server."""
from fastmcp import FastMCP
mcp = FastMCP("Weather")
# Illustrative lookup — describe a real source and mcpforge wires the call for you.
_FORECASTS: dict[str, dict] = {
"san francisco": {"high_c": 18, "low_c": 12, "summary": "Foggy"},
"denver": {"high_c": 24, "low_c": 9, "summary": "Clear"},
}
@mcp.tool
async def get_forecast(city: str) -> dict:
"""Return today's forecast for a city."""
key = city.strip().lower()
if key not in _FORECASTS:
raise ValueError(f"No forecast available for {city!r}")
return {"city": city, **_FORECASTS[key]}
if __name__ == "__main__":
mcp.run(transport="streamable-http")
生成のたびに、test_server.py(実際のpytestスイート)、pyproject.toml、README.md、MCPクライアントのconfig.jsonも作成されます。これはコードの断片ではなく、完全なプロジェクトです。次のコマンドで実行できます。
cd weather-server
uv run server.py # start the server (streamable-http)
uv run pytest -v # run the generated tests
mcpforge validate . # re-run the full validation suite anytime

上記のコード例は、ドキュメント用の説明的なサンプル(「weather」)です。実際の生成内容は説明に合わせて作成されます。実際に生成されたサーバー(todo、ファイルリーダー、データベースクエリ、Slack通知、TypeScript)については、
examples/をご覧ください。
ビルドしてから監査 — MCP ツールキット
mcpforgeには姉妹プロジェクトの**mcp-audit**(PyPIではmcp-audits)があります。2つのツールで1つのワークフローを構成します。サーバーを作成し、信頼する前に、エージェントが実際にアクセスできる範囲を監査します。
| ステージ | ツール | 機能 |
|---|---|---|
| ビルド | mcpforge | ひとことの説明から、完全なテスト済みのMCP サーバーを生成します。 |
| 監査 | mcp-audit | マシンに接続されているすべてのMCP サーバーをスキャンし、それぞれがアクセスできる範囲のリスクスコアを算出します。 |
# build
mcpforge generate "A weather server that returns today's forecast for a city" -o weather-server
# audit everything your agents can reach (read-only, no install needed)
uvx --from mcp-audits mcp-audit scan --ssrf-check
mcp-auditはデフォルトで読み取り専用です。設定ファイルを編集することはなく、環境変数のキー名のみを報告し、値は報告しません。安心してビルドした後、影響範囲を確認できます。
レジストリ対応のメタデータはserver.jsonに記載されています。MCP Registryの名前は
io.github.saagpatel/mcpforge、PyPIパッケージはfastmcp-builderです。このメタデータは
検出や出自の確認に役立つ情報として扱い、生成されたサーバーがレビューなしで安全に実行できる証拠とはみなさないでください。
MCP サーバーとして使う
mcpforge自体がMCP サーバーです。MCP クライアント(Claude Code、Claude Desktop、Cursor)から接続すると、エージェントは会話の中でMCP サーバーの作成、検証、調査を行えます。stdioを介してローカルで実行されます(ワークスペースにファイルを書き込み、ユーザー自身のキーを使ってモデルプロバイダーを呼び出すため、ホスト型のリモートサーバーとしては提供されていません)。
uvx fastmcp-builder
クライアントの設定に追加します(Claude Codeの例を示します)。generate、update、planはモデルプロバイダーを呼び出すため、サーバーの環境変数にキーを設定してください。
{
"mcpServers": {
"mcpforge": {
"command": "uvx",
"args": ["fastmcp-builder"],
"env": { "ANTHROPIC_API_KEY": "<your-key>", "MCPFORGE_WORKSPACE": "/path/to/workspace" }
}
}
}
ワークスペースのパスはMCPFORGE_WORKSPACEを基準に解決され、その範囲内に制限されます。generateとupdateはファイルを書き込み、モデルプロバイダーの利用料金が発生する点に注意してください(ユーザー自身のキーを使用し、1回あたり約$0.05~$0.30です)。
| ツール | 機能 | 書き込み | コスト | 主な引数 |
|---|---|---|---|---|
generate | 説明から、完全なテスト済みのFastMCP 3.xサーバーを生成します | はい(ワークスペース) | API呼び出し | description、language、transport、output_path、dry_run |
update | 既存の生成済みサーバーに自然言語で変更を適用します | はい(ワークスペース) | API呼び出し | server_path、request |
plan | コードを生成せずに、構造化されたサーバープランを抽出します | いいえ | API呼び出し | description、transport |
validate | 生成済みサーバーに対して構文、リンティング、インポート、pytestのチェックを実行します | いいえ(テストを実行) | なし | server_path |
inspect | 実行せずに生成済みサーバーの概要を表示します | いいえ | なし | server_path |
doctor | ローカルの前提条件とプロバイダーの準備状況を確認します | いいえ | なし | workspace_path |
list_generated_servers | ワークスペース内のmcpforgeで生成されたサーバーを一覧表示します | いいえ | なし | workspace_path、recursive |
特徴
- 平易な英語で生成 — サーバーを自然言語で説明すると、Claude が実装を作成します
- 完全なプロジェクトのひな形 — ツール、Pydantic 入力モデル、エラー処理、
pyproject.toml、pytest スイートをまとめて生成します - FastMCP 3.x ネイティブ対応 — 生成されるコードでは、MCP プロトコルの定型コードを直接記述するのではなく、最新の FastMCP デコレーターとトランスポート設定を使用します
- 実行前に検証 —
mcpforge validateは、生成されたサーバーに対して構文、セキュリティ、リンティング、インポート、pytest のチェックを実行します - 安全に反復 —
mcpforge updateは既存の生成済みサーバーを変更し、書き込み前に変更対象のファイルをバックアップします - 生成済みサーバーを検出 —
mcpforge listはワークスペース内の mcpforge で生成されたプロジェクトを検出します - 調査と診断 —
mcpforge inspectは生成されたサーバーの構成を要約し、mcpforge doctorはローカル環境の準備状況を確認します - 機械可読な出力 — ステータスを返すコマンドでは、エージェントのワークフロー向けに
--jsonを利用できます - OpenAPI の整理機能 — タグの包含・除外、操作の許可リスト、操作数の上限により、生成される連携機能を必要な範囲に絞り込めます
- LLM を使わずにひな形を作成 —
mcpforge initは、ローカルでの反復開発向けに最小限の FastMCP サーバーのひな形を作成します - MCP サーバーモード —
mcpforge-serverは、生成、計画、検証、調査、診断、検出の各ツールを公開し、AI アシスタントが安全に構築できるようにします
その他のコマンド
PyPI ディストリビューションは fastmcp-builder です。インストールされるコマンドは mcpforge と mcpforge-server です。generate 以外のコマンド:
# See it work with no API key — generate a weather server from a built-in recording
mcpforge demo
# Generate a new MCP server
mcpforge generate "A todo list manager with create, read, update, and delete operations"
# Validate an existing generated server
mcpforge validate ./my-server
# Modify an existing generated server
mcpforge update ./my-server "Add a tool to export todos as CSV"
# Find generated servers in the current workspace
mcpforge list . --recursive
# Inspect a generated server without executing it
mcpforge inspect ./my-server
# Check local prerequisites and provider readiness
mcpforge doctor
便利な生成フラグ:
--dry-runは、ファイルを書き込まずに構造化された計画を表示します。--no-executeはファイルを書き込みますが、依存関係のインストールと生成コードの実行をスキップします。Python では、静的な構文、セキュリティ、リントの結果は引き続き報告されますが、インポートと生成されたテストは実行されません。TypeScript でも型チェックと生成されたテストがスキップされ、MCP レスポンスではvalidation_mode: "write_only"とtests_status: "not_run"が報告されます。プロバイダーを利用する計画策定とコード生成では、引き続き API が呼び出される場合があります。従来のtests_okフラグだけでは、テストが実行されたことは確認できません。--strictは、Python のリントエラーを重大な検証失敗として扱います。TypeScript にはリントの段階はありません。--from-openapi FILEは OpenAPI 3.x の仕様から生成します。--openapi-include-tag TAG、--openapi-exclude-tag TAG、--openapi-operation ID、--openapi-limit Nは、OpenAPI の変換対象を選別します。--language python|typescriptは、対象サーバーの言語を選択します。--auth-profile none|api-key|jwtは、Python の任意の認証プロファイルのメタデータと環境変数のドキュメントを追加します。--middleware-profile logging|timing|rate-limitは、Python の任意のミドルウェアプロファイルを追加します。繰り返し指定すると、複数のプロファイルを組み合わせられます。--provider anthropic|openai|openrouterは、生成プロバイダーを選択します。openrouterは「任意のモデルを利用する」方法です。OPENROUTER_API_KEYを設定し、--modelで任意の OpenRouter モデル(例:--model anthropic/claude-opus-4.8)を指定できます。無料や低コストのモデルも利用できます。生成品質と構造化出力の対応状況はモデルによって異なります。推奨モデルは Claude Opus 4.8(xHigh)および/または GPT 5.5(High/Extra High)です。openaiパッケージはデフォルトの依存関係(すべてのインストールに含まれます)です。--provider openaiと--provider openrouterの両方で使用されるためです。OPENAI_API_KEYを使用して OpenAI プロバイダーを直接利用するには、MCPFORGE_ENABLE_OPENAI_PROVIDER=1を設定します。
便利なステータス確認フラグ:
mcpforge list --jsonmcpforge inspect PATH --jsonmcpforge validate PATH --jsonmcpforge doctor --jsonmcpforge version --json
mcpforge doctor --json は常に JSON レポート全体を出力します。レポートの ok が true の場合は終了コード 0、false の場合は終了コード 1 で終了します。通常の doctor と同じ動作です。
Cloud での開発には、ポータブルな MCP Forge Cloud ワークフロースキルを使用してください。 準備済みの起動方法と認証情報を必要としないチェック、認可済みの既存 PR の作業継続、設定された Git 転送がブロックされた場合の検証済み GitHub コネクタへのフォールバックを説明しています。納品前には、リモートの履歴と検証済みの内容を確認します。
技術スタック
| レイヤー | 技術 |
|---|---|
| 言語 | Python 3.12+ |
| 生成 | anthropic SDK 経由の Anthropic Claude、openai SDK 経由の OpenAI と OpenRouter(デフォルトで含まれます) |
| MCP フレームワーク | FastMCP 3.x |
| CLI | Click 8 |
| テンプレート | Jinja2 |
| 検証 | Pydantic v2 |
| 出力 | Rich |
開発環境のセットアップ
このリポジトリでは .python-version に Python 3.12.15 が固定されており、uv 0.13.0 以降が必要です。ロックされた環境をセットアップし、ローカルの全チェックを実行するには、次のコマンドを使用します。
make setup
make check
make check には examples/todo-server の検証も含まれます。macOS では、利用可能な sandbox-exec の隔離境界を使用します。GitHub ホステッドランナーにはこれが用意されていないため、CI ではサンプル検証コマンドに対するラッパーを無効にしています。
アーキテクチャ
generate コマンドは、FastMCP 3.x のイディオムとツールスキーマの契約を含む構造化プロンプトとともに、ユーザーの説明を Claude に送信します。Claude は JSON プラン(ツール名、シグネチャ、説明)を返し、mcpforge はこれを Pydantic モデルに照らして検証してから、Jinja2 テンプレートを使って完全なプロジェクトディレクトリにレンダリングします。生成されたプロジェクトは、構文チェック、セキュリティスキャン、ruff によるリント、インポートチェック、pytest の実行によって検証されます。update コマンドは既存の生成済みサーバーを読み込み、Claude に対象を絞った変更を依頼し、変更したファイルのバックアップを作成して、結果を検証します。
ステータス
スタック
現在のパッケージバージョンは 0.3.4 で、PyPI に fastmcp-builder として公開されています。このバージョンでは fastmcp-builder コンソールスクリプトのエイリアスが追加され、レジストリのメタデータが修正されています。バージョン 0.3.3 では、mcpforge demo、OpenRouter プロバイダー、MCP Registry のメタデータが追加されました。このプロジェクトは Python 3.12 以降と FastMCP 3.x を対象としています。リポジトリのツールチェーンでは Python 3.12.15 を固定し、uv 0.13.0 以降を必須としています。
既知のリスク
- 通常の検証時に生成されたコードが実行されます。macOS では利用可能な場合に
sandbox-execを使用しますが、macOS 以外の検証ではサンドボックスを使用しません。使用前に生成されたコードを確認してください。 - Python の
--no-executeは静的な構文、セキュリティ、リントのチェックのみを実行します。インポートと生成されたテストは実行されません。静的チェックの結果は、実行時の動作を証明するものではありません。 - 現在、update コマンドが対応しているのは Python サーバーです。TypeScript の検証範囲は Python の検証パイプラインより限定的で、Python のリントやセキュリティの各段階は使用しません。
- プロバイダーとの互換性とデプロイの準備状況は、選択したプロバイダーと環境によって異なります。プロバイダーマトリックスを参照してください。
次のステップ
リリース作業を計画する前に、リリース履歴は CHANGELOG.md を、ホスト型プロバイダーの準備状況はプロバイダーマトリックスを参照してください。
バージョン履歴の全容については、CHANGELOG.mdを参照してください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。