Skip to content

d1maash/mcp-new

Repository files navigation

mcp-new

CLI generator for MCP servers in seconds

npm version npm downloads license

Like create-react-app, but for Model Context Protocol servers.

Getting StartedFeaturesPresetsDocumentationContributing


⚡ Getting Started

npx mcp-new my-server

Or install globally:

npm install -g mcp-new
mcp-new my-server

✨ Features

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

🎯 Presets

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 -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

🚀 Usage

Basic Creation

# 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 -y

From OpenAPI Specification

mcp-new my-api --from-openapi ./openapi.yaml

Select which endpoints to include as MCP tools.

From AI Description

export ANTHROPIC_API_KEY=your-key
mcp-new my-server --from-prompt

Describe your API in natural language, Claude generates the tools.

Monorepo Workspaces

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 list

Web UI

Launch a visual project generator in your browser:

# Start the web generator
mcp-new web

# Custom 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.

Additional Commands

# 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 --check

📖 Documentation

CLI Reference

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 <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

Generated Project Structure

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

Generated README

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

# 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 -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


🤝 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)
  5. Open a Pull Request

📄 License

MIT © Dinmukhanbet Aizharykov


⬆ Back to top

Made with ❤️ for the MCP community

About

CLI generator for MCP servers. Like create-react-app, but for Model Context Protocol.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors