Mcp Forge について
MCP-Forgeは、MCPサーバープロジェクトのひな形作成、機能追加、配布準備を行うコマンドラインフレームワークです。対応するMCPクライアントへの登録にも対応します。
主な機能
- 01テスト付きサーバープロジェクトの生成
- 02プロジェクトへのプロトコル機能追加
- 03MCPクライアントへのサーバー登録
- 04配布用ファイルとパッケージの生成
- 05HTTPトランスポートとOAuth対応
活用シーン
- 01サンプルツール付きのMCPサーバーを開始
- 02リソース、プロンプト、HTTPトランスポートを追加
- 03インストール済みクライアントにサーバーを登録
- 04プラグインやレジストリ向けに配布を準備
MCP 対応
公式Python SDKを使ってMCPサーバーを生成し、リソース、プロンプト、HTTPトランスポートなどの機能を追加できます。インストールコマンドで、生成したサーバーを対応するMCPクライアントに登録します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP-Forge
MCP サーバーを数秒でスキャフォールド、拡張、インストール、配布できます。
生成されるサーバーは、公式のmcp Python SDK 2.x
(MCPServer)と2026-07-28プロトコル改訂版を対象とし、ハンドシェイク方式のクライアントとの互換性も維持します。
インストール
mcp-forgeはPyPIにはありません。PyPI上のmcp-forgeパッケージは別のプロジェクトなので、GitHubからインストールしてください。
uv tool install git+https://github.com/iddv/mcp-forge
または
pipx install git+https://github.com/iddv/mcp-forge
クイックスタート
# Scaffold a new MCP server project
mcp-forge new my-server
cd my-server
# Add features
mcp-forge add resources prompts annotations
# Package as a Claude Code plugin (with an Agent Skill)
mcp-forge add plugin
# Register in your MCP clients
mcp-forge install
コマンド
mcp-forge new <name>
動作するテスト、依存関係、すぐに実行できるサンプルツールを備えた、新しいFastMCPサーバープロジェクトを作成します。
mcp-forge new my-server
cd my-server
# Install, then run with the MCP Inspector
pip install -e ".[test]"
mcp dev server.py
# Run tests (in-process MCP client, no subprocess)
pytest
mcp-forge add <feature>
既存のプロジェクトにMCP機能を追加します。1つ以上の機能を指定してください。すでに追加されている機能を再度追加しても何も起こりません。また、機能を追加すると、その機能が依存する機能も追加されます(例:authを追加するとhttpも追加されます)。
mcp-forge add resources completions # Several at once
mcp-forge add auth # Also adds http
mcp-forge features # List everything available
mcp-forge install
MCP クライアントアプリケーションにサーバーを登録します。インストール済みのクライアントを自動検出するか、特定のクライアントを指定します。
# Auto-detect and install in all found clients
mcp-forge install
# Target a specific client
mcp-forge install --client claude
mcp-forge install --client cursor
mcp-forge install --client vscode
対応クライアント
| クライアント | 設定場所 | スコープ |
|---|---|---|
| Claude Desktop | プラットフォーム固有 | グローバル |
| Cursor | ~/.cursor/mcp.json | グローバル |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | グローバル |
| VS Code | .vscode/mcp.json | プロジェクト |
| Kiro | .kiro/settings/mcp.json | プロジェクト |
| Zed | ~/.config/zed/settings.json | グローバル |
| JetBrains | .junie/mcp.json | プロジェクト |
| Claude Code | .mcp.json | プロジェクト |
| Continue | ~/.continue/config.json | グローバル |
| Cline | ~/Documents/Cline/mcp_settings.json | グローバル |
| Roo Code | ~/.roo-code/mcp.json | グローバル |
| Amazon Q | ~/.aws/amazonq/mcp.json | グローバル |
利用可能な機能
プロトコル機能
| 機能 | 追加される内容 |
|---|---|
resources | タイトルとMIMEタイプを指定できる@mcp.resource()エンドポイント |
resource-templates | パラメーター化されたリソースURI(users://{user_id}/profile) |
prompts | @mcp.prompt()テンプレート |
completions | プロンプトとテンプレートの引数を自動補完する@mcp.completion() |
annotations | ツールのtitleと動作ヒント(read_only_hint、destructive_hintなど) |
structured-output | pydanticモデルを返すツール。outputSchemaとstructuredContentを提供します |
media | 画像コンテンツとResourceLinkの結果 |
errors | モデルに表示され、復旧可能な予期された失敗を表すToolError |
notifications | リソース更新通知とツール一覧変更通知、および実行時に登録されるツール |
context | Contextを介した進捗報告とリクエストメタデータ |
elicitation | Resolve + Elicitで、構造化された入力をユーザーに求めます |
sampling | Resolve + SampleでクライアントのLLMに問い合わせます(2026-07-28仕様では非推奨) |
roots | Resolve + ListRootsでクライアントのワークスペースルートを読み取ります(2026-07-28仕様では非推奨) |
lifespan | すべてのリクエストで共有される、型付きの起動・終了コンテキスト |
middleware | すべてのMCPリクエストをラップするリクエストミドルウェア(処理時間/監査ログ) |
http | Streamable HTTPトランスポート(python server.py --http [--stateless]、アドレスはMCP_HOST/MCP_PORTで指定)、/healthルート、および複数レプリカのデプロイで共有されるMCP_REQUEST_STATE_KEY |
auth | OAuth 2.1リソースサーバー:TokenVerifier + AuthSettings(httpが必要です。プロキシの背後ではMCP_PUBLIC_URLを設定してください) |
apps | MCP Apps拡張:ツールに紐付けられたインタラクティブなui:// HTMLビュー |
Elicitation、sampling、rootsでは、ctx.elicit()を直接呼び出すのではなく、Resolveパラメーターを使用します。
これにより、ステートレスな2026-07-28接続(Multi Round-Trip Requests)と、それ以前のクライアントの両方で動作します。
配布機能
| 機能 | 生成されるもの |
|---|---|
skill | skills/<name>/SKILL.md:サーバーのツールをいつ、どのように使うかを説明するエージェントスキル |
plugin | .claude-plugin/plugin.json(${CLAUDE_PLUGIN_ROOT} を通じてサーバーをバンドル)と marketplace.json。さらに skill も追加します |
mcpb | MCP Bundle 用の manifest.json と .mcpbignore(Claude Desktop からワンクリックでインストールできます) |
docker | Streamable HTTP 経由でサーバーを提供する Dockerfile と .dockerignore(http が必要です) |
registry | MCP Registry 用の server.json と mcp-name README マーカー |
ツールを追加した後に配布機能を追加してください。skill と mcpb には、生成時点で存在するツールが記録されます。既存のファイルは上書きされません。ファイルを削除してから add を再実行すると再生成されます。
プロジェクトを GitHub にプッシュすると、誰でも Claude Code にプラグインをインストールできます。
/plugin marketplace add <you>/<repo>
/plugin install <name>@<name>
Claude Code から mcp-forge を使う
このリポジトリ自体が Claude Code プラグインです。mcp-forge スキルでは、ワークフロー、機能カタログ、SDK 2.x のパターンを Claude に教えます。
/plugin marketplace add iddv/mcp-forge
/plugin install mcp-forge@mcp-forge
次に、Claude に「…を行う MCP サーバーを作って」と依頼するか、/mcp-forge を実行してください。
生成されるプロジェクト
my-server/
server.py # MCPServer with an example tool
pyproject.toml # Dependencies and entry point
tests/
test_server.py # Async tests using an in-process Client
.env.example
.gitignore
README.md
mcp-forge 2.x からのアップグレード
mcp-forge 3 は mcp 2.x 向けのコードを生成します。mcp-forge 2 で作成されたプロジェクトは mcp.server.fastmcp をインポートし、mcp[cli]>=1.6.0 を指定しているため、新規インストールでは mcp 2.x が解決され、インポートに失敗するようになりました。これらのプロジェクトでは mcp[cli]>=1.28,<2 にバージョンを固定するか、移行してください。FastMCP は mcp.server.mcpserver の MCPServer に置き換わります。
SDK 移行ガイドを参照してください。
開発
git clone https://github.com/iddv/mcp-forge.git
cd mcp-forge
pip install -e ".[test]"
pytest
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。