Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Generate complete, tested FastMCP 3.x MCP servers from one plain-English sentence.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"mcpforge": {
"command": "uvx",
"args": [
"fastmcp-builder"
]
}
}
}ターミナルでこれを実行します
claude mcp add mcpforge -- uvx fastmcp-builderプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"mcpforge": {
"command": "uvx",
"args": [
"fastmcp-builder"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"mcpforge": {
"type": "stdio",
"command": "uvx",
"args": [
"fastmcp-builder"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント saagpatel で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.3.4)がレジストリに届いたのは4 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Intervals MCP
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Remote MCP server for intervals.icu run data and analysis
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
### One English sentence in. A tested, spec-free FastMCP 3.x server out.
mcpforge turns a plain-English description into a complete FastMCP 3.x MCP server — tools, Pydantic input validation, error handling, a pytest suite, run config, and client setup docs — all wired together and ready to inspect, validate, and install. There's no MCP schema or protocol boilerplate to hand-write: the sentence is the spec. You write it; Claude writes the implementation; mcpforge runs the generated test suite and validators before you ever run it.
You need Python 3.12+, uv, and an Anthropic API key.
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
No key yet? Try the demo.
mcpforge demoruns the real plan → generate → validate pipeline against a built-in recording and writes a complete, validated weather server — no API key, no spend. It's the fastest way to see exactly what mcpforge produces:
`bash
uvx --from fastmcp-builder mcpforge demo
`
Bring your own key (BYOK). Generation runs on *your* Anthropic API key — mcpforge calls the Claude API directly and nothing is proxied through a hosted service. A single
generatemakes a few model calls (plan → server → tests), so a typical run costs roughly $0.05–$0.30 in API usage on the default model (claude-sonnet-4-6). That figure is an estimate — it scales with server complexity and your chosen model, and is not a live measurement. Everything that doesn't call the model —validate,inspect,list,doctor, andinit— is free.
That's the whole loop. mcpforge plans the tools, generates the code, then runs syntax, security, lint, import, and pytest checks against the result — so what lands in ./weather-server/ is already validated:
# weather-server/server.py (excerpt)
"""Weather forecast MCP server."""
from fastmcp import FastMCP
mcp = FastMCP("Weather")
_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")
Every generation also produces test_server.py (a real pytest suite), pyproject.toml, a README.md, and an MCP client config.json — a complete project, not a snippet. Run it with:
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
The snippet above is an illustrative toy ("weather") for the docs. Real generations match your description — see
examples/for live generated servers (todo, file reader, database query, Slack notifier, TypeScript).
mcpforge has a sibling: [mcp-audit](https://github.com/saagpatel/MCPAudit) (mcp-audits on PyPI). They're two halves of one workflow — forge a server, then audit what your agents can actually touch before you trust it.
| Stage | Tool | What it does |
|---|---|---|
| Build | mcpforge | Generate a complete, tested MCP server from one sentence. |
| Audit | mcp-audit | Scan every MCP server wired into your machine and risk-score what each one can reach. |
# build
mcpforge generate "A weather server that returns today's forecast for a city" -o weather-server
uvx --from mcp-audits mcp-audit scan --ssrf-check
mcp-audit is read-only by default — it never edits a config and reports env-var key names only, never values. Build with confidence, then verify your blast radius.
Registry-ready metadata lives in server.json with the MCP Registry name io.github.saagpatel/mcpforge and PyPI package fastmcp-builder. Treat that metadata as discovery/provenance context, not as proof that generated servers are safe to run without review.
mcpforge is itself an MCP server: point an MCP client (Claude Code, Claude Desktop, Cursor) at it and your agent can forge, validate, and inspect MCP servers inside a conversation. It runs locally over stdio (it writes files into your workspace and calls your model provider on your own key), so it is not offered as a hosted remote.
uvx fastmcp-builder
Add it to a client config (Claude Code shown). generate, update, and plan call the model provider, so set the key in the server env:
{
"mcpServers": { "mcpforge": { "command": "uvx", "args": ["fastmcp-builder"], "env": { "ANTHROPIC_API_KEY": " ", "MCPFORGE_WORKSPACE": "/path/to/workspace" } } } }
Workspace paths are resolved against MCPFORGE_WORKSPACE and confined to it. Note that generate and update write files and incur model-provider cost (roughly $0.05 to $0.30 per call on your key).
| Tool | What it does | Writes | Cost | Key args |
|---|---|---|---|---|
generate | Generate a complete, tested FastMCP 3.x server from a description | yes (workspace) | API call | description, language, transport, output_path, dry_run |
update | Apply a natural-language change to an existing generated server | yes (workspace) | API call | server_path, request |
plan | Extract the structured server plan without generating code | no | API call | description, transport |
validate | Run syntax, lint, import, and pytest checks on a generated server | no (executes tests) | none | server_path |
inspect | Summarize a generated server without executing it | no | none | server_path |
doctor | Check local prerequisites and provider readiness | no | none | workspace_path |
list_generated_servers | List mcpforge-generated servers in a workspace | no | none | workspace_path, recursive |
pyproject.toml, and a pytest suite generated togethermcpforge validate runs syntax, security, lint, import, and pytest checks against generated serversmcpforge update modifies an existing generated server and backs up changed files before writingmcpforge list finds mcpforge-generated projects in a workspacemcpforge inspect summarizes generated server shape, while mcpforge doctor checks local readiness--json for agent workflowsmcpforge init creates a minimal FastMCP server skeleton for local iterationmcpforge-server exposes generation, planning, validation, inspection, doctor, and discovery tools so AI assistants can build safelyThe PyPI distribution is fastmcp-builder; the installed commands are mcpforge and mcpforge-server. Beyond generate:
# See it work with no API key — generate a weather server from a built-in recording
mcpforge demo
mcpforge generate "A todo list manager with create, read, update, and delete operations"
mcpforge validate ./my-server
mcpforge update ./my-server "Add a tool to export todos as CSV"
mcpforge list . --recursive
mcpforge inspect ./my-server
mcpforge doctor
Useful generation flags:
--dry-run displays the structured plan without writing files.--no-execute writes files but skips dependency installation and generated-code execution. Python still reports static syntax, security, and lint results; imports and generated tests do not run. TypeScript also skips type checking and generated tests, and its MCP response reports validation_mode: "write_only" and tests_status: "not_run". Provider-backed planning and code generation may still make API calls. The legacy tests_ok flag alone does not prove tests ran.--strict treats Python lint errors as hard validation failures; TypeScript has no lint stage.--from-openapi FILE generates from an OpenAPI 3.x spec.--openapi-include-tag TAG, --openapi-exclude-tag TAG, --openapi-operation ID, and --openapi-limit N curate OpenAPI conversion.--language python|typescript chooses the target server language.--auth-profile none|api-key|jwt adds optional Python auth profile metadata and env docs.--middleware-profile logging|timing|rate-limit adds optional Python middleware profiles; repeat it to combine profiles.--provider anthropic|openai|openrouter selects the generation provider. openrouter is the "bring any model" path: set OPENROUTER_API_KEY and pick any OpenRouter model with --model (e.g. --model anthropic/claude-opus-4.8), including free and low-cost ones. Generation quality and structured-output support vary by model — the recommended models are Claude Opus 4.8 (xHigh) and/or GPT 5.5 (High/Extra High). The openai package is a default dependency (included in all installs) because it backs both --provider openai and --provider openrouter; set MCPFORGE_ENABLE_OPENAI_PROVIDER=1 to enable the direct OpenAI provider for use with OPENAI_API_KEY.Useful status flags:
mcpforge list --jsonmcpforge inspect PATH --jsonmcpforge validate PATH --jsonmcpforge doctor --jsonmcpforge version --jsonmcpforge doctor --json always prints the complete JSON report and exits 0 when the report's
冒頭だけを表示しています。続きはリポジトリで読めます