Create, build, and publish Python MCP servers to PyPI — conversationally
Project description
mcp-creator
Create, build, and publish Python MCP servers to PyPI — conversationally.
Install mcp-creator, add it to your AI assistant, and it walks you through the entire process: naming your package, scaffolding a complete project, building, and publishing to PyPI.
Install
pip install mcp-creator
Setup
Add to Claude Code (~/.claude/settings.json):
{
"mcpServers": {
"mcp-creator": {
"command": "mcp-creator",
"args": []
}
}
}
Or for Cursor (.cursor/mcp.json):
{
"mcpServers": {
"mcp-creator": {
"command": "mcp-creator",
"args": []
}
}
}
Tools
| Tool | What it does |
|---|---|
get_creator_profile |
Load your persistent profile — setup status, project history. Called first every session. |
update_creator_profile |
Save setup state, usernames, and project history across sessions |
check_setup |
Detect what's installed (uv, git, gh, PyPI token) — only walks through missing steps |
check_pypi_name |
Check if a package name is available on PyPI |
scaffold_server |
Create a complete MCP server project from a name + description + tool definitions |
add_tool |
Add a new tool to an existing scaffolded project |
build_package |
Run uv build on the project |
publish_package |
Run uv publish to PyPI |
setup_github |
Initialize git, create a GitHub repo, and push the code |
generate_launchguide |
Create LAUNCHGUIDE.md for marketplace submission |
How It Works
- Tell your AI what you want to build: "I want an MCP server that checks the weather"
- It checks the name: calls
check_pypi_nameto verify availability on PyPI - It scaffolds the project: calls
scaffold_serverwith your tool definitions — generates a complete, runnable project - You fill in the logic: replace the TODO stubs in
services/with your real API calls - Build & publish:
build_package→publish_package→ live on PyPI - Push to GitHub:
setup_githubcreates a repo and pushes your code - Submit to marketplace:
generate_launchguidecreates the submission file with your repo URL
What Gets Generated
For a project named my-weather-mcp with a get_weather tool:
my-weather-mcp/
├── pyproject.toml ← hatchling build, mcp[cli] dep, CLI entry point
├── README.md ← install instructions + MCP config JSON
├── .gitignore
├── src/my_weather_mcp/
│ ├── __init__.py
│ ├── server.py ← FastMCP + @mcp.tool() for each tool
│ ├── transport.py
│ ├── tools/
│ │ ├── __init__.py
│ │ └── get_weather.py
│ └── services/
│ ├── __init__.py
│ └── get_weather_service.py ← TODO: your logic here
└── tests/
├── test_server.py
└── test_get_weather.py
The generated server runs immediately — stub services return placeholder data so you can test before implementing real logic.
Requirements
- Python 3.11+
- uv (for building and publishing)
Development
git clone https://github.com/gmoneyn/mcp-creator.git
cd mcp-creator
uv venv .venv && source .venv/bin/activate
uv pip install -e ".[dev]"
pytest -v
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_creator_python-1.0.0.tar.gz.
File metadata
- Download URL: mcp_creator_python-1.0.0.tar.gz
- Upload date:
- Size: 19.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2c3ac595e54db8c4c062f6eeb29ecc2cf148f1448db9906ccb4104de4ed7de3
|
|
| MD5 |
04945b7da7dfb9659c317a76b29d3b25
|
|
| BLAKE2b-256 |
59bd3cbb1b5bef60d8ba55a5c9e07ef6cce96d862a00897e3637e8d61953d779
|
File details
Details for the file mcp_creator_python-1.0.0-py3-none-any.whl.
File metadata
- Download URL: mcp_creator_python-1.0.0-py3-none-any.whl
- Upload date:
- Size: 24.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56b4e65e32e6a281b7a4f25dea5d43bf1b44bd668ed4c26d8cf82737fd66a6f2
|
|
| MD5 |
11e761d89c7642715b689c99dca479df
|
|
| BLAKE2b-256 |
c05d1c30a1a62dc2f2a77655e3a69673203a1570044fb122c5de0f62d845850c
|