MCPWizard
by yoannarz
MCPWizard is a CLI tool designed to help users create and deploy Model Context Protocol (MCP) servers. It simplifies the process of initializing, managing, building, and deploying MCP servers.
View on GitHub
Last updated: N/A
MCPWizard
A CLI tool to help you create and deploy Model Context Protocol (MCP) servers.
Installation
npm install -g mcpwizard
Features
- Initialize new MCP server projects
- Add/manage tools for your MCP server
- Build your MCP server for deployment
- Generate Claude Desktop configuration files
- Inspect MCP servers
Note: Currently, MCPWizard only supports tool type in the MCP protocol.
Roadmap
- Support for MCP resources
- Support for MCP prompts
- Support for MCP transport
- Deployment service integration
Usage
Initialize a New Project
mcpwizard init [name] [options]
Options:
-t, --template <template>
: Specify a template (typescript, python). Default is "typescript".
Add a Tool
mcpwizard tool add <tool-name> [options]
Options:
-d, --description <description>
: Tool description
Generate Claude Desktop Configuration
mcpwizard generate-claude-config [options]
Options:
-o, --output <path>
: Output file path-s, --servers <servers...>
: Server names to include
Build Your Server
mcpwizard build
Deploy Your Server
mcpwizard deploy
Inspect Your Server
mcpwizard inspect
Project Structure
When running mcpwizard init my-mcp-server
, the user gets a new project with the selected template structure:
TypeScript Template
my-mcp-server/
├── src/
│ ├── prompts/ # MCP prompts definitions
│ ├── resources/ # MCP resources definitions
│ └── tools/ # MCP tools implementations
├── .env.template # Environment variables template
├── package.json # Dependencies and scripts
└── tsconfig.json # TypeScript configuration
Python Template
my-mcp-server/
├── prompts/ # MCP prompts definitions
├── resources/ # MCP resources definitions
├── tools/ # MCP tools implementations
├── .env.template # Environment variables template
├── requirements.txt # Python dependencies
└── server.py # Main server file
Dependencies
- chalk: Terminal string styling
- commander: Command-line interface
- fs-extra: Enhanced file system methods
- globby: Glob matching utilities
- inquirer: Interactive command line interface
- ora: Elegant terminal spinners
License
MIT
Contributing
Contributions are welcome! Here's the structure of the mcpwizard package:
mcpwizard/
├── bin/ # CLI entry point
│ └── mcpwizard.js # Main CLI file
├── src/
│ ├── commands/ # CLI command implementations
│ ├── templates/ # Project templates (typescript, python)
│ ├── utils/ # Utility functions
│ └── validators/ # Input validation logic
├── package.json # Package configuration
└── README.md # This file