CLI generator for MCP servers. Like create-react-app, but for MCP.
npm install mcp-newCLI generator for MCP servers in seconds



Like create-react-app, but for Model Context Protocol servers.
Getting Started •
Features •
Presets •
Documentation •
Contributing
---
``bash`
npx mcp-new my-server
Or install globally:
`bash`
npm install -g mcp-new
mcp-new my-server
---
| Feature | Description |
|---------|-------------|
| 🧙 Interactive Wizard | Step-by-step prompts to configure your MCP server |
| 🌍 Multi-Language | TypeScript, Python, Go, Rust, Java, Kotlin, C#, Elixir |
| 📦 Preset Templates | Ready-to-use templates for common use cases |
| 🧩 Prompts & Sampling | Scaffold MCP prompts and sampling/createMessage helper tool |
| 🗂️ Monorepo Support | Manage multiple MCP servers in one workspace |
| 📄 OpenAPI Import | Auto-generate tools from OpenAPI/Swagger specs |
| 🤖 AI Generation | Create tools from natural language using Claude |
| 🌐 Web UI | Visual project generator at mcp-new web |mcp-new dev
| 🔄 Dev Mode | Hot reload with MCP Inspector via |
| 📚 Rich Documentation | Generated README with examples and Claude Desktop config |
---
Skip the setup and start with pre-configured tools:
`bash`
mcp-new my-project --preset
| Preset | Description | Included Tools |
|--------|-------------|----------------|
| database | Database CRUD operations | query insert update delete list_tables |rest-api
| | HTTP client wrapper | http_get http_post http_put http_delete set_base_url |filesystem
| | File system operations | read_file write_file list_directory search_files file_info |
Each preset also ships with prompt templates and enables the sampling helper tool (sampling/createMessage) so your server can request LLM completions from the client.
📋 Example: Database preset
`bash`
mcp-new my-db --preset database -t -y
Creates a TypeScript MCP server with these tools ready to implement:
- query — Execute SQL queries with parameters
- insert — Insert records into tables
- update — Update existing records
- delete — Delete records from tables
- list_tables — List all database tables
---
`bashInteractive mode
mcp-new my-server
$3
`bash
mcp-new my-api --from-openapi ./openapi.yaml
`Select which endpoints to include as MCP tools.
$3
`bash
export ANTHROPIC_API_KEY=your-key
mcp-new my-server --from-prompt
`Describe your API in natural language, Claude generates the tools.
$3
Manage multiple MCP servers in one repository:
`bash
Create a workspace
mcp-new monorepo init my-workspace
cd my-workspaceAdd servers
mcp-new monorepo add api-server -t
mcp-new monorepo add data-service -pList all servers
mcp-new monorepo list
`$3
Launch a visual project generator in your browser:
`bash
Start the web generator
mcp-new webCustom port
mcp-new web --port 8080
`The web UI provides a multi-step wizard for configuring project name, language, transport, tools, resources, and presets — with live file preview and tar.gz download.
$3
`bash
Initialize in existing directory
mcp-new initAdd a new tool to existing project
mcp-new add-toolList all available presets
mcp-new list-presetsDev mode with hot reload and MCP Inspector
mcp-new dev
mcp-new dev --project ./packages/my-server --no-inspectorValidate current MCP server project
mcp-new validateUpgrade MCP SDK to latest version
mcp-new upgradeCheck for updates without installing
mcp-new upgrade --check
`---
📖 Documentation
$3
`
Usage: mcp-new [options] [command] [project-name]Options:
-t, --typescript Use TypeScript
-p, --python Use Python
-g, --go Use Go
-r, --rust Use Rust
-j, --java Use Java
-k, --kotlin Use Kotlin
-c, --csharp Use C# (.NET)
-e, --elixir Use Elixir
--maven Use Maven (Java/Kotlin)
--gradle Use Gradle (Java/Kotlin)
--preset Use preset (database, rest-api, filesystem)
--from-openapi Generate from OpenAPI spec
--from-prompt Generate using AI
--skip-install Skip dependency installation
-y, --yes Use defaults
-V, --version Show version
-h, --help Show help
Commands:
init Initialize in current directory
add-tool Add tool to existing project
list-presets List all available preset templates
web Start web-based project generator UI
dev Run dev mode with hot reload and inspector
validate Validate current MCP server project
upgrade Upgrade MCP SDK to latest version
monorepo init Create a monorepo workspace
monorepo add Add server to workspace
monorepo list List servers in workspace
`$3
TypeScript
`
my-server/
├── src/
│ └── index.ts
├── package.json
├── tsconfig.json
├── README.md
├── .gitignore
└── .env.example
`
Python
`
my-server/
├── src/
│ ├── __init__.py
│ ├── server.py
│ └── tools/
│ └── __init__.py
├── pyproject.toml
├── requirements.txt
├── README.md
├── .gitignore
└── .env.example
`
Go
`
my-server/
├── cmd/
│ └── server/
│ └── main.go
├── internal/
│ └── tools/
├── go.mod
├── README.md
├── .gitignore
└── .env.example
`
Rust
`
my-server/
├── src/
│ ├── main.rs
│ └── tools.rs
├── Cargo.toml
├── README.md
├── .gitignore
└── .env.example
`$3
Each project includes a detailed README with:
- ✅ Parameter tables for each tool
- ✅ JSON examples for tool calls
- ✅ Claude Desktop configuration snippet
- ✅ Project structure overview
---
🛠 Development
`bash
Clone and install
git clone https://github.com/d1maash/mcp-new.git
cd mcp-new
npm installDevelopment
npm run devBuild
npm run buildTest locally
npm link
mcp-new test-project --preset database -t -y
`---
📚 Full Documentation
For detailed documentation, see the docs folder:
| Document | Description |
|----------|-------------|
| Getting Started | Installation and first steps |
| CLI Reference | Complete command reference |
| Monorepo | Manage multiple MCP servers |
| Presets | Pre-configured templates |
| Templates | Language-specific guides |
| OpenAPI Integration | Generate from specs |
| AI Generation | Create with Claude |
| Web UI | Visual project generator |
| Contributing | How to contribute |
🔗 Resources
- MCP Specification
- TypeScript SDK
- Python SDK
- Go SDK
- Rust SDK
---
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository
2. Create your feature branch (
git checkout -b feature/amazing-feature)
3. Commit your changes (git commit -m 'Add amazing feature')
4. Push to the branch (git push origin feature/amazing-feature`)---
MIT © Dinmukhanbet Aizharykov
---
Made with ❤️ for the MCP community