CLI generator for MCP servers in seconds
Like create-react-app, but for Model Context Protocol servers.
Getting Started • Features • Presets • Documentation • Contributing
npx mcp-new my-serverOr install globally:
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 |
| 🔄 Dev Mode | Hot reload with MCP Inspector via mcp-new dev |
| 📚 Rich Documentation | Generated README with examples and Claude Desktop config |
Skip the setup and start with pre-configured tools:
mcp-new my-project --preset <name> -y| 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
mcp-new my-db --preset database -t -yCreates 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
# Interactive mode
mcp-new my-server
# With language flag
mcp-new my-server -t # TypeScript
mcp-new my-server -p # Python
mcp-new my-server -g # Go
mcp-new my-server -r # Rust
mcp-new my-server -j # Java
mcp-new my-server -k # Kotlin
mcp-new my-server -c # C#
mcp-new my-server -e # Elixir
# Skip prompts with defaults
mcp-new my-server -t -ymcp-new my-api --from-openapi ./openapi.yamlSelect which endpoints to include as MCP tools.
export ANTHROPIC_API_KEY=your-key
mcp-new my-server --from-promptDescribe your API in natural language, Claude generates the tools.
Manage multiple MCP servers in one repository:
# Create a workspace
mcp-new monorepo init my-workspace
cd my-workspace
# Add servers
mcp-new monorepo add api-server -t
mcp-new monorepo add data-service -p
# List all servers
mcp-new monorepo listLaunch a visual project generator in your browser:
# Start the web generator
mcp-new web
# Custom port
mcp-new web --port 8080The 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.
# Initialize in existing directory
mcp-new init
# Add a new tool to existing project
mcp-new add-tool
# List all available presets
mcp-new list-presets
# Dev mode with hot reload and MCP Inspector
mcp-new dev
mcp-new dev --project ./packages/my-server --no-inspector
# Validate current MCP server project
mcp-new validate
# Upgrade MCP SDK to latest version
mcp-new upgrade
# Check for updates without installing
mcp-new upgrade --checkUsage: 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 <name> Use preset (database, rest-api, filesystem)
--from-openapi <path> 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
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
Each project includes a detailed README with:
- ✅ Parameter tables for each tool
- ✅ JSON examples for tool calls
- ✅ Claude Desktop configuration snippet
- ✅ Project structure overview
# Clone and install
git clone https://github.com/d1maash/mcp-new.git
cd mcp-new
npm install
# Development
npm run dev
# Build
npm run build
# Test locally
npm link
mcp-new test-project --preset database -t -yFor 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 |
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT © Dinmukhanbet Aizharykov
Made with ❤️ for the MCP community