This release is a pre-release and may not be stable for production use.
MCP Builder Toolkit
Manifest-driven CLI that generates readable, tested Python MCP server projects with safe regeneration and optional Docker/CI assets.
MCP defines the protocol. MCP Builder Toolkit defines a repeatable way to create, inspect, test, and package an MCP server.
Status: v0.1.0a4 published. Alpha software, not production-ready. Version: derived from the latest git tag via hatch-vcs.
What the YAML controls
The manifest declares project-generation intent:
- FastMCP Python compatibility profile and MCP protocol version;
- stdio or Streamable HTTP transport;
- package name and supported Python range;
- tests, linting, typing, Docker, Compose, GitHub Actions, and structured logs;
- whether to include the replaceable example tool.
Tool behavior and API integrations remain normal, user-owned Python code. The alpha does not generate arbitrary tools from YAML or convert OpenAPI documents. See YAML capabilities and boundaries for the complete boundary and an API integration example.
Install
uv tool install mcp-builder-toolkit
mcp-builder --version
From a source checkout:
uv sync --all-extras
uv run mcp-builder --version
Guided quickstart (recommended)
Full walkthrough (generate → implement tools → test → call with a real MCP client):
Short path
mkdir -p ~/dev/my-mcp && cd ~/dev/my-mcp
mcp-builder init --name my-mcp --transport stdio --no-interactive
mcp-builder validate
mcp-builder generate
uv sync --all-extras
uv run pytest
uv run python -m my_mcp.server
Streamable HTTP + Docker: see the guided quickstart (Step 12) or set transport.type: streamable-http and features.docker/compose: true, then mcp-builder generate.
For generated containers, the server binds to 0.0.0.0 inside the container
while Compose preserves the manifest's conservative host-side publication
(default 127.0.0.1).
Commands
| Command | Purpose |
|---|---|
mcp-builder init |
Create a minimal mcp-builder.yaml |
mcp-builder validate |
Schema + semantic + compatibility checks |
mcp-builder generate |
Plan and write project files (--dry-run, --force-managed) |
mcp-builder doctor |
Manifest, state, drift, and local tool checks |
Architecture
manifest.yaml
→ parse + validate + normalize
→ protocol-independent ProjectSpec
→ FastMCP adapter + Docker/Compose/CI features
→ ArtifactPlan (managed / scaffold-once / derived)
→ locked staged apply + .mcp-builder/state.json
Generated projects do not depend on this builder at runtime.
Compatibility profile
| Field | Value |
|---|---|
| Profile | fastmcp-python-2026.07 |
| FastMCP | >=3.4.4,<3.5 |
| Python | >=3.12,<3.15 |
| MCP protocol | 2025-11-25 |
| Manifest API | mcpbuilder.dev/v1alpha1 (frozen for alpha) |
Development
uv sync --all-extras
uv run ruff check src tests
uv run mypy src
uv run pytest
# optional: pre-commit install
Update golden trees after intentional template changes:
uv run python scripts/update_golden.py
Documentation
| Doc | Content |
|---|---|
CHANGELOG.md |
Version history and alpha boundaries |
specs/001-core-builder/ |
Feature spec, plan, tasks, contracts |
docs/guided-quickstart.md |
Build a working MCP server step by step |
docs/architecture.md |
System architecture |
docs/extending.md |
Target/feature extension guide |
docs/threat-model.md |
Threat model |
docs/yaml-capabilities.md |
YAML capabilities and API integration boundary |
docs/release-readiness-plan.md |
Alpha correction and verification plan |
docs/pilot-feedback.md |
Pilot form (SC-001/SC-002) |
docs/release-notes-0.1.0.md |
Release notes / publish checklist |
SECURITY.md / SUPPORT.md / CONTRIBUTING.md |
Project policies |
Explicit v0.1 boundary
Not in this release: OAuth, policy engines, budgets, audit receipts, A2A, agent contracts, gateways, multi-language generation, hosted control plane.
License
Apache-2.0
Metadata
Release files for mcp-builder-toolkit 0.1.0a7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mcp_builder_toolkit-0.1.0a7.tar.gz | 59.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_builder_toolkit-0.1.0a7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 115.6 kB
Release files / mcp_builder_toolkit-0.1.0a7.tar.gz
| Download URL | mcp_builder_toolkit-0.1.0a7.tar.gz |
|---|---|
| Size | 59.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f1d5fa5d39920f667476331a0d7f5dcd7648a101ccdb961f02f4d7bfb372aa59
|
|
BLAKE2b-256 checksum How to use checksums |
8ce8fbd6058fde72661afc874597adbbd351cc998debcf87dd09f90892978b87
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / mcp_builder_toolkit-0.1.0a7-py3-none-any.whl
| Download URL | mcp_builder_toolkit-0.1.0a7-py3-none-any.whl |
|---|---|
| Size | 55.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
23a2ccefcddf9e3f2df3735b90064edf5c44fae08fa5f04e063195bb5a92c739
|
|
BLAKE2b-256 checksum How to use checksums |
e9179ea01daec9a92d6f5f1800e5e4895e877e4ef6f60aa87d91a781fc65c607
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|