mcp-creator
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-creatorSetup
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 |
| Load your persistent profile — setup status, project history. Called first every session. |
| Save setup state, usernames, and project history across sessions |
| Detect what's installed (uv, git, gh, PyPI token) — only walks through missing steps |
| Check if a package name is available on PyPI |
| Create a complete MCP server project from a name + description + tool definitions |
| Add a new tool to an existing scaffolded project |
| Run |
| Run |
| Initialize git, create a GitHub repo, and push the code |
| Create LAUNCHGUIDE.md for marketplace submission |
Publish to MCP Marketplace
Once your server is on PyPI, list it on MCP Marketplace to reach thousands of AI users:
Security scanning — every submission is automatically scanned, and the score is shown to users
One-click install — users add your server to Claude, Cursor, or any MCP client in one click
Built-in payments — set a price (one-time or subscription), connect Stripe, and keep 85% of every sale
Creator dashboard — track installs, revenue, reviews, and license keys
Run generate_launchguide after publishing to create your submission file, then submit at mcp-marketplace.io/submit.
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 PyPIIt scaffolds the project: calls
scaffold_serverwith your tool definitions — generates a complete, runnable projectYou fill in the logic: replace the TODO stubs in
services/with your real API callsBuild & publish:
build_package→publish_package→ live on PyPIPush to GitHub:
setup_githubcreates a repo and pushes your codeSubmit 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.pyThe 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 -vLatest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gmoneyn/mcp-creator'
If you have feedback or need assistance with the MCP directory API, please join our Discord server