Skip to content

walterwootz/api-mcp-magic

Repository files navigation

API to MCP Converter Screenshot 🌐 Working Live: https://convertmcp.com

License: MIT React TypeScript Vite

Transform OpenAPI/Swagger specifications into production-ready Model Context Protocol (MCP) servers in seconds!

A free, open-source online tool that converts API specifications into MCP servers with support for 10+ programming languages. 100% client-side processing ensures your API specs never leave your browser.

Donate with PayPal

πŸ’™ Support this project! If you find it useful, consider buying me a coffee β˜•

✨ Features

🎯 Core Functionality

  • Instant Conversion: Transform OpenAPI/Swagger specs to MCP servers in seconds
  • Multi-Language Support: Generate code for Python, TypeScript, Go, Rust, Java, Kotlin, C#, PHP, Ruby, and Swift
  • Official SDKs: Uses official Model Context Protocol SDKs for each language
  • Production-Ready Code: Generated code follows best practices with proper error handling

πŸ”’ Privacy & Security

  • 100% Client-Side: All processing happens locally in your browser
  • No Server Upload: Your API specifications never leave your device
  • No Registration: Free to use, no account required

🌍 Internationalization

  • 5 Languages: Full support for English, Italian, French, Spanish, and German
  • Auto-Detection: Automatically detects browser language
  • Complete Translation: All UI elements, documentation, and blog posts translated

🎨 User Experience

  • Multiple Input Methods:
    • Upload JSON/YAML files
    • Load from URL
    • Paste content directly
  • Endpoint Selection: Choose which API endpoints to include
  • Real-time Preview: See your selection before generating
  • Instant Download: Get a ready-to-use ZIP bundle

πŸš€ Quick Start

Prerequisites

  • Node.js 18+ or Bun
  • npm, yarn, or bun package manager

Installation

# Clone the repository
git clone https://github.com/walterwootz/api-mcp-magic.git
cd api-mcp-magic

# Install dependencies
npm install
# or
bun install

# Start development server
npm run dev
# or
bun run dev

The application will be available at http://localhost:5173

Build for Production

# Build the application
npm run build
# or
bun run build

# Preview the production build
npm run preview

πŸ› οΈ Tech Stack

  • Frontend Framework: React 18 with TypeScript
  • Build Tool: Vite 5 with SWC
  • UI Components: Radix UI + shadcn/ui
  • Styling: Tailwind CSS
  • Routing: React Router v6
  • Internationalization: i18next with browser language detection
  • Form Handling: React Hook Form + Zod validation
  • Code Generation: Custom generators for 10+ languages
  • File Processing: JSZip for bundle creation

πŸ“ Project Structure

api-mcp-magic/
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ icons/          # Language technology logos
β”‚   └── robots.txt
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/     # React components
β”‚   β”‚   β”œβ”€β”€ ui/        # Reusable UI components (shadcn)
β”‚   β”‚   β”œβ”€β”€ AnimatedBackground.tsx
β”‚   β”‚   β”œβ”€β”€ EndpointSelector.tsx
β”‚   β”‚   β”œβ”€β”€ FileUpload.tsx
β”‚   β”‚   β”œβ”€β”€ NavLink.tsx
β”‚   β”‚   └── TechnologySelector.tsx
β”‚   β”œβ”€β”€ hooks/         # Custom React hooks
β”‚   β”œβ”€β”€ i18n/          # Internationalization
β”‚   β”‚   β”œβ”€β”€ config.ts
β”‚   β”‚   └── locales/   # Translation files (en, it, fr, es, de)
β”‚   β”œβ”€β”€ lib/           # Utility libraries
β”‚   β”‚   β”œβ”€β”€ code-generators.ts    # MCP code generation
β”‚   β”‚   β”œβ”€β”€ openapi-parser.ts     # OpenAPI spec parsing
β”‚   β”‚   β”œβ”€β”€ utils.ts
β”‚   β”‚   └── zip-generator.ts      # ZIP bundle creation
β”‚   β”œβ”€β”€ pages/         # Route pages
β”‚   β”‚   β”œβ”€β”€ blog/      # Blog articles
β”‚   β”‚   β”œβ”€β”€ Index.tsx
β”‚   β”‚   └── NotFound.tsx
β”‚   β”œβ”€β”€ App.tsx
β”‚   └── main.tsx
β”œβ”€β”€ LICENSE            # MIT License
β”œβ”€β”€ README.md         # This file
└── package.json

🌐 Supported Languages & SDKs

The converter generates production-ready code for:

Language SDK Status
Python @modelcontextprotocol/sdk βœ… Official
TypeScript/Node.js @modelcontextprotocol/sdk βœ… Official
Go Community SDK βœ… Supported
Rust Community SDK βœ… Supported
Java Community SDK βœ… Supported
Kotlin Community SDK βœ… Supported
C# Community SDK βœ… Supported
PHP Community SDK βœ… Supported
Ruby Community SDK βœ… Supported
Swift Community SDK βœ… Supported

🀝 Contributing

Contributions are welcome! Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

Development Guidelines

  1. Fork the repository
  2. Create a 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

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

πŸ’¬ Support

🌟 Star History

If you find this project useful, please consider giving it a star ⭐

Deploy to any static hosting

This is a static React application that can be deployed to:

  • Vercel
  • Netlify
  • GitHub Pages
  • Cloudflare Pages
  • Any static hosting service

About

Open APIs specs to MCP server in seconds. Offical project of convertmcp.com

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors