# mcpgen

<div align="center">
  <img src="https://img.shields.io/badge/Made%20with-Node.js-339933?style=for-the-badge&logo=node.js&logoColor=white" alt="Made with Node.js">
  <img src="https://img.shields.io/badge/License-MIT-blue.svg?style=for-the-badge" alt="License: MIT">
  <img src="https://img.shields.io/badge/MCP-Compatible-blueviolet?style=for-the-badge" alt="MCP Compatible">
  <br>
  <strong>Zero-friction MCP Server Generator</strong><br>
  <i>Elegantly simple, extraordinarily powerful</i>
</div>

<br>

**mcpgen** is a minimal, elegant command-line tool for generating MCP servers that connect Claude and other MCP clients to your data sources with zero friction. This state-of-the-art tool streamlines the process of creating custom Model Context Protocol servers with advanced AI capabilities.

## Features

- 🚀 **Interactive CLI** with guided workflow
- 🧩 **Multiple data sources** - in-memory, JSON file, PostgreSQL, MySQL, MongoDB, Supabase, or custom API
- 🛠️ **Customizable tools and prompts** - ready-made templates optimized for Claude
- 🤖 **Advanced AI capabilities** - vector embeddings, document processing, image analysis
- ☁️ **One-click cloud deployment** - AWS, Google Cloud, Azure, Vercel, Heroku, Docker
- 📊 **Data visualization** - generate charts and graphs from your data
- 📝 **Schema inference** - automatically generate TypeScript interfaces from sample data
- ⚡ **Zero configuration** - sensible defaults with minimal setup
- 🧪 **Automated testing** - built-in test suite generation
- 🔌 **Instant integration** with Claude Desktop and other MCP clients

## Installation

```bash
# Global installation
npm install -g mcpgen

# Or run directly with npx
npx mcpgen
```

## Usage

Just run and follow the interactive prompts:

```bash
mcpgen
```

The tool guides you through:
1. Project setup (name, description)
2. Data source selection
3. Tool selection
4. Schema customization
5. Cloud deployment options
6. Build and integration

## Example: Creating a Weather MCP Server

Create a weather API that Claude can use to get current weather conditions:

```bash
mcpgen
> Project name: weather-mcp
> Description: Weather information MCP server
> Data source: External API
> Tools: getWeather
> Deploy to: Vercel
```

This creates a complete MCP server with:
- TypeScript code for the weather API
- Environment configuration for API keys
- Ready-to-use integration with Claude
- One-click cloud deployment
- Automated test suite

## Integration with Claude Desktop

Add to your Claude Desktop configuration:

```json
// macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
// Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "your-mcp-name": {
      "command": "node",
      "args": ["/path/to/your-project/dist/main.js"],
      "env": {}
    }
  }
}
```

## License

MIT

---

<div align="center">
  <i>Created with ❤️ by <a href="https://github.com/plawlost">@plawlost (Yaz Celebi)</a></i>
</div> 