API转MCP服务器工具

一个免费开源的在线工具,可将OpenAPI/Swagger规范转换为支持10多种编程语言的MCP服务器,所有处理均在浏览器本地完成,确保API规范不会离开您的设备。

  • by walterwootz
  • TypeScript
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 walterwootz/api-mcp-magic

使用说明

🌐 工作现场: https://convertmcp.com

在几秒钟内将OpenAPI/Swagger规范转换为生产就绪的模型上下文协议(MCP)服务器!

一个免费的开源在线工具,可将API规范转换为支持10多种编程语言的MCP服务器。100%的客户端处理确保您的API规范永远不会离开您的浏览器。

💙 支持这个项目!如果你觉得它有用,可以考虑给我买杯咖啡☕

✨ 特性

🎯 核心功能

  • 即时转换:在几秒钟内将OpenAPI/Swagger规范转换为MCP服务器
  • 多语言支持:为Python、TypeScript、Go、Rust、Java、Kotlin、C#、PHP、Ruby和Swift生成代码
  • 官方SDK:为每种语言使用官方的模型上下文协议SDK
  • 生产就绪代码:生成的代码遵循最佳实践,并进行适当的错误处理

🔒 隐私和安全

  • 100%客户端:所有处理都在浏览器本地进行
  • 无服务器上传:您的API规范永远不会离开您的设备
  • 未注册:免费使用,无需帐户

🌍 国际化

  • 5种语言:完全支持英语、意大利语、法语、西班牙语和德语
  • 自动检测:自动检测浏览器语言
  • 全译:所有UI元素、文档和博客文章均已翻译

🎨 用户体验

  • 多种输入法:
    • 上传JSON/YAML文件
    • 从URL加载
    • 直接粘贴内容
  • 端点选择:选择要包含的API终结点
  • 实时预览:在生成之前查看您的选择
  • 即时下载:获取一个即用型ZIP捆绑包

🚀 快速开始

先决条件

  • Node.js 18+或Bun
  • npm、yarn或bun包管理器

安装

# 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

该应用程序将在 http://localhost:5173

为生产而建

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

# Preview the production build
npm run preview

🛠️ 技术栈

  • 前端框架:React 18与TypeScript
  • 生成工具:带SWC的Vite 5
  • UI组件:根UI+shadcn/UI
  • 样式:顺风CSS
  • 路由:React路由器v6
  • 国际化:i18next具有浏览器语言检测功能
  • 表单处理:React钩子表单+Zod验证
  • 代码生成:10多种语言的自定义生成器
  • 文件处理:JSZip用于创建捆绑包

📁 项目结构

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

🌐 支持的语言和SDK

转换器为以下内容生成生产就绪代码:

语言 SDK 状态
python @modelcontextprotocol/sdk ✅ 官方
Types/Node.js @modelcontextprotocol/sdk ✅ 官方
Go 社区SDK ✅ 支持
Rust 社区SDK ✅ 支持
Java 社区SDK ✅ 支持
Kotlin 社区SDK ✅ 支持
C# 社区SDK ✅ 支持
PHP 社区SDK ✅ 支持
Ruby 社区SDK ✅ 支持
Swift 社区SDK ✅ 支持

🤝 贡献

欢迎投稿!请阅读 贡献.md 有关我们的行为准则和提交pull请求流程的详细信息。

开发指南

  1. 分叉存储库
  2. 创建要素分支: git checkout -b feature/amazing-feature
  3. 提交您的更改: git commit -m 'Add amazing feature'
  4. 推到分支: git push origin feature/amazing-feature
  5. 打开拉取请求

📝 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🙏 致谢

💬 支持

🌟 明星历史

如果你觉得这个项目有用,请考虑给它一颗星⭐

部署到任何静态主机

这是一个静态的React应用程序,可以部署到:

  • 维塞尔
  • Netlify
  • GitHub 页面
  • Cloudflare页面
  • 任何静态托管服务