mcpField
M
mcpforge

mcpforge

ローカル
github.com/saagpatel開発ツール02 週間前に更新

mcpforge について

mcpforgeは自然言語の説明から、MCPサーバー開発者向けのFastMCP 3.xプロジェクト一式を生成します。テスト、設定、クライアント向けドキュメントも作成し、実行前に生成物を検証します。

主な機能

  1. 01自然言語からサーバーコードを生成
  2. 02入力検証とエラー処理を作成
  3. 03pytestテストとプロジェクト設定を生成
  4. 04構文・セキュリティ・テストを検査
  5. 05バックアップ付きで既存プロジェクトを更新

活用シーン

  1. 01要件からMCPサーバーを作成
  2. 02OpenAPI仕様からサーバーを生成
  3. 03生成したプロジェクトを検証・更新

MCP 対応

ローカルのstdio MCPサーバーとしても動作し、生成、計画、検証、検査、サーバーの検出に使うツールをMCPクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"saagpatel-mcpforge": {
"command": "uvx",
"args": [
"fastmcp-builder"
]
}
}
}
起動コマンドuvx fastmcp-builder

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypifastmcp-builder0.3.4

ツール

7

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
modelstringいいえ
strictbooleanいいえ
dry_runbooleanいいえ
languagestringいいえ
providerstringいいえ
templatestringいいえ
transportstringいいえ
multi_filebooleanいいえ
no_executebooleanいいえ
descriptionstringはい
output_pathstringいいえ
auth_profilestringいいえ
from_openapistringいいえ
middleware_profilesanyいいえ

詳細

mcpforge

PyPI Python CI License: MIT

英語の1文から、テスト済みで仕様記述不要のFastMCP 3.xサーバーを生成します。

mcpforgeは、平易な英語の説明から、完全なFastMCP 3.x MCPサーバーを生成します。ツール、Pydanticによる入力検証、エラー処理、pytestスイート、実行設定、クライアントのセットアップ手順をすべて連携させ、確認、検証、インストールできる状態にします。MCPのスキーマやプロトコルの定型コードを手書きする必要はありません。説明文が仕様になります。説明を書くと、Claudeが実装を作成し、mcpforgeが生成されたテストスイートとバリデーターを実行してから、実際に起動します。

⚡ 60秒で始める

mcpforgeのデモ:1つのコマンドでテスト済み、検証済みのMCPサーバーを生成

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 --json
  • mcpforge inspect PATH --json
  • mcpforge validate PATH --json
  • mcpforge doctor --json
  • mcpforge 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
CLIClick 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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。