MCP Maker
A CLI utility to quickly create and manage modular TypeScript Model Context Protocol servers.
Install / Use
/learn @yadav-prakhar/MCP MakerQuality Score
Category
Development & EngineeringSupported Platforms
README
MCP Maker
<strong>Supercharge your MCP server development with MCP Maker</strong>
<!-- Project Status Badges -->🚀 Introduction • ✨ Features • 📥 Installation • 🔧 Usage • 🏗️ Generated MCP Structure
<img src="https://repository-images.githubusercontent.com/1051822089/b0a82bcf-1cbc-4709-bb15-20648765b7cc" alt="MCP Maker" width="700"> </div> <br>A CLI utility to quickly create and manage TypeScript MCP (Model Context Protocol) servers following a modular structure.
📋 Table of Contents
- Introduction
- Features
- Installation
- Usage
- Generated MCP Server Project Structure
- Contributing
- License
🚀 Introduction
mcp-maker is a command-line utility designed to streamline the process of creating and managing TypeScript MCP servers. It follows the structure and patterns used for making modular MCP servers, providing a consistent and efficient way to scaffold new projects and add components.
Whether you're creating a new MCP server from scratch or adding tools and services to an existing one, mcp-maker simplifies the process and ensures adherence to best practices.
✨ Features
- Quick Project Scaffolding: Create a fully structured MCP server project with a single command
- Automated Tool Creation: Add new tools with proper structure and automatic registration in the toolHandler
- Service Management: Add new services with proper structure and automatic registration
- Prompt Creation: Add new MCP-compatible prompts with proper structure and automatic registration
- Authentication Support: Add multiple authentication types (Basic, Token, OAuth) to your MCP server
- Consistent Structure: Ensures all projects follow the same structure and patterns
- TypeScript Support: Full TypeScript support with proper type definitions
- Interactive CLI: User-friendly command-line interface with helpful prompts
- Template-based Generation: Uses Handlebars templates for consistent code generation
- Automatic Dependency Management: Handles npm dependencies and TypeScript configuration
📥 Installation
Prerequisites
- Node.js (>= 18.19.0)
- npm (>= 7.0.0)
Global Installation (Recommended)
npm install -g mcp-maker
Local Installation
npm install --save-dev mcp-maker
🔧 Usage
Create a New MCP Server
mcp-maker create server <name> [options]
Options
--http: Use HTTP transport instead of default stdio--cors: Enable CORS with wildcard (*) access--port <number>: Specify HTTP port (only valid with --http)--no-install: Skip npm install and build steps-h, --help: Display help for the command
Example
mcp-maker create server my-mcp-server --http --port 3000 --cors
This will create a new MCP server project named my-mcp-server with HTTP transport on port 3000 and CORS enabled.
Add a Tool
mcp-maker add tool <name> [options]
Options
-h, --help: Display help for the command
Example
cd my-mcp-server
mcp-maker add tool get-user-data
This will:
- Create a new tool directory in
src/tools/get-user-data - Create the tool implementation and index files
- Update the main tools index to include the new tool
- Update the toolHandler to handle the new tool
Add a Service
mcp-maker add service <name> [options]
Options
-h, --help: Display help for the command
Example
cd my-mcp-server
mcp-maker add service user-service
This will:
- Create a new service directory in
src/services/user-service - Create the service implementation and index files
- Update the main services index to include the new service
- Set up proper TypeScript types and interfaces
Add a Prompt
mcp-maker add prompt
Options
-h, --help: Display help for the command
Example
cd my-mcp-server
mcp-maker add prompt user-guidance
This will:
- Create a new prompt directory in
src/prompts/user-guidance - Create the prompt implementation, index, and README files
- Update the main prompts index to include the new prompt
- Set up proper MCP-compatible prompt structure
Add Authentication
mcp-maker add auth
Options
-h, --help: Display help for the command
Example
cd my-mcp-server
mcp-maker add auth
This will:
- Create a new auth directory in
src/authwith all necessary structure - Set up three authentication types:
- Basic Authentication (username/password)
- Token Authentication (API keys, JWT, etc.)
- OAuth 2.0 Authentication (for integrating with OAuth providers)
- Create authentication factory, service, and interfaces
- Set up proper TypeScript types and interfaces
🏗️ Generated MCP Server Project Structure
The mcp-maker CLI scaffolds a new MCP server project with the following structure:
my-mcp-server/
├── src/
│ ├── tools/ # Individual tools
│ │ └── <tool-name>/ # Each tool in its own directory
│ │ ├── index.ts # Tool implementation
│ │ └── types.ts # Type definitions for the tool
│ │
│ ├── services/ # Service implementations
│ │ └── <service-name>/ # Each service in its own directory
│ │ ├── index.ts # Service implementation
│ │ └── types.ts # Type definitions for the service
│ │
│ ├── prompts/ # MCP-compatible prompts
│ │ └── <prompt-name>/ # Each prompt in its own directory
│ │ ├── index.ts # Prompt export in MCP format
│ │ ├── <name>Prompt.ts # Prompt implementation
│ │ └── README.md # Documentation for the prompt
│ │
│ ├── auth/ # Authentication (when added)
│ │ ├── interfaces/ # Authentication interfaces
│ │ ├── methods/ # Authentication method implementations
│ │ ├── AuthFactory.ts # Factory for creating auth providers
│ │ ├── AuthService.ts # Service for authentication
│ │ └── index.ts # Main entry point for auth
│ │
│ ├── types/ # Global TypeScript type definitions
│ ├── utils/ # Utility functions
│ ├── config.ts # Configuration
│ └── index.ts # Main entry point
├── tests/ # Test files
├── .gitignore
├── package.json # Project configuration and dependencies
├── tsconfig.json # TypeScript configuration
└── README.md
This structure ensures consistency across all MCP server projects created with mcp-maker.
🗂️ Repository Structure
This repository contains the following files and directories:
src/: The source code for themcp-makerCLI utility.tests/: Test files for themcp-makerCLI utility.README.md: This file, which provides an overview of themcp-makerCLI utility.LICENSE: The license under which this project is released.CONTRIBUTING.md: Guidelines for contributing to this project.DEVELOPMENT.md: Guidelines for developing and testing this project.CODE_OF_CONDUCT.md: The code of conduct for this project.
🤝 Contributing
We welcome contributions! Please see our CONTRIBUTING.md for detailed guidelines, including branch naming conventions and pull‑request requirements.
📄 License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Copyright © 2025 Prakhar Yadav
