mcp-new
v1.5.0
Published
CLI generator for MCP servers. Like create-react-app, but for MCP.
Maintainers
Readme
mcp-new
CLI generator for MCP servers in seconds
Like create-react-app, but for Model Context Protocol servers.
Getting Started • Features • Presets • Documentation • Contributing
⚡ Getting Started
npx mcp-new my-serverOr 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 | | 🗂️ 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 | | 📚 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 |
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
🚀 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 -yFrom OpenAPI Specification
mcp-new my-api --from-openapi ./openapi.yamlSelect which endpoints to include as MCP tools.
From AI Description
export ANTHROPIC_API_KEY=your-key
mcp-new my-server --from-promptDescribe 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 listAdditional 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
# 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
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 workspaceGenerated Project Structure
my-server/
├── src/
│ └── index.ts
├── package.json
├── tsconfig.json
├── README.md
├── .gitignore
└── .env.examplemy-server/
├── src/
│ ├── __init__.py
│ ├── server.py
│ └── tools/
│ └── __init__.py
├── pyproject.toml
├── requirements.txt
├── README.md
├── .gitignore
└── .env.examplemy-server/
├── cmd/
│ └── server/
│ └── main.go
├── internal/
│ └── tools/
├── go.mod
├── README.md
├── .gitignore
└── .env.examplemy-server/
├── src/
│ ├── main.rs
│ └── tools.rs
├── Cargo.toml
├── README.md
├── .gitignore
└── .env.exampleGenerated 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 | | Contributing | How to contribute |
🔗 Resources
🤝 Contributing
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
📄 License
MIT © Dinmukhanbet Aizharykov
Made with ❤️ for the MCP community
