Token导航 LogoToken导航TokenDH.com
Convert Enpoints To MCP Tools logo
开发工具未说明官方级别未说明来源级核验

Convert Enpoints To MCP Tools

MCP Server

将任何OpenAPI JSON规范转换为功能完整的C# MCP服务器,使REST API能够被AI代理和MCP兼容客户端访问。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
API集成C#ClaudeClaude DesktopClaudeCursorVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

nissynicolas

提供方

nissynicolas

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

OpenAPI到MCP服务器生成器

🚀 表情符号“🚀”通常代表火箭、快速前进或加速的意思。在中文中,它可以直接用作表情符号,不需要翻译成具体的文字,但如果要描述其含义,可以说“🚀”代表火箭或快速前进。 将任何OpenAPI JSON规范转换为功能齐全的C# MCP(模型上下文协议)服务器!

这个工具能够自动生成完整的C# MCP服务器应用程序,其中每个OpenAPI端点都成为一个MCP工具,使得REST API能够立即被AI代理和MCP兼容的客户端访问。

✨ 特点

  • 🔄 翻译成中文是:循环、重复。 自动转换将OpenAPI 3.0+规范转换为MCP服务器
  • 🛠️(工具或修理的象征) 完整项目生成创建可运行的C#项目
  • 📡(天线/卫星天线) MCP 兼容生成的服务器与Cursor IDE、VS Code、Claude Desktop兼容使用
  • 🎯(目标、靶心) 智能命名从终端节点和操作ID中智能命名工具
  • 🔧(扳手,常用于表示修理或工具相关的情境) 类型映射将OpenAPI类型转换为适当的C#类型
  • 📚 书籍或书本的符号,可直接译为“书”或根据上下文译为“书籍”、“书本”等。 文档自动生成的README文件和使用示例
  • 🧪 表示“实验瓶”或“化学实验”的符号。 测试包含用于验证的测试脚本

🚀 快速入门

先决条件

  • .NET 9.0 SDK 或之后
  • OpenAPI 3.0+ JSON 规范文件

安装与使用

# Clone or download this generator
git clone 
cd OpenApiToMcpGenerator

# Build the generator
dotnet build

# Generate MCP server from OpenAPI spec
dotnet run -- --openapi petstore.json --output ./Generated-PetStore-Server --name PetStoreMcpServer

# Run the generated server
cd Generated-PetStore-Server
dotnet run

📋 命令行选项

dotnet run -- [options]

Options:
  --openapi, -o     Path to OpenAPI JSON file or URL (required)
                    Examples: 
                    • ./petstore.json
                    • https://petstore3.swagger.io/api/v3/openapi.json
                    • https://localhost:56733/swagger/v1/swagger.json
  --output, -out    Output directory for generated MCP server (required)
  --name, -n        Name for the generated project (default: GeneratedMcpServer)
  --base-url, -b    Base URL for the API (overrides OpenAPI server URLs)
  --namespace, -ns  Root namespace for generated code (default: GeneratedMcpServer)
  --verbose, -v     Enable verbose output
  --help           Show help information

🎯 示例用法

从Swagger Petstore(URL)生成

# Generate directly from URL - no need to download first!
dotnet run -- --openapi https://petstore3.swagger.io/api/v3/openapi.json --output ./PetStore-MCP --name PetStoreMcpServer --base-url https://petstore3.swagger.io/api/v3

# Test the generated server
cd PetStore-MCP
dotnet run

从本地开发服务器生成

# Generate from your local API's swagger endpoint
dotnet run -- --openapi https://localhost:56733/swagger/v1/swagger.json --output ./MyApi-MCP --name MyApiMcpServer --base-url https://localhost:56733

# Or from a local file
dotnet run -- --openapi ./my-api-spec.json --output ./MyApi-MCP --name MyApiMcpServer

与Cursor IDE的集成

{
  "mcpServers": {
    "petstore": {
      "command": "dotnet",
      "args": ["run", "--project", "./PetStore-MCP", "--no-build"],
      "cwd": "./PetStore-MCP"
    }
  }
}

🏗️ 生成的项目结构

Generated-MCP-Server/
├── 📄 Program.cs              # MCP server entry point (identical to reference)
├── 📄 ProjectName.csproj      # Project file with MCP dependencies
├── 📄 ApiTools.cs             # Generated MCP tools from OpenAPI endpoints
├── 📄 README.md               # Generated documentation
└── 📄 test-mcp.bat           # Testing script

🔄 转换示例

OpenAPI 端点 → MCP 工具

开放API:

{
  "paths": {
    "/users/{id}": {
      "get": {
        "operationId": "getUserById",
        "summary": "Get user by ID",
        "parameters": [
          {"name": "id", "in": "path", "required": true, "schema": {"type": "string"}}
        ]
      }
    }
  }
}

生成的MCP工具:

[McpServerTool, Description("Get user by ID")]
public static async Task GetUserById(
    [Description("The user ID to retrieve")] string id)
{
    try
    {
        using var client = new HttpClient();
        var url = $"{BaseUrl}/users/{id}";
        var response = await client.GetAsync(url);
        response.EnsureSuccessStatusCode();
        var responseContent = await response.Content.ReadAsStringAsync();
        
        return JsonSerializer.Serialize(new
        {
            success = true,
            data = JsonSerializer.Deserialize(responseContent),
            method = "GET",
            url = url
        }, new JsonSerializerOptions { WriteIndented = true });
    }
    catch (Exception ex)
    {
        return JsonSerializer.Serialize(new
        {
            success = false,
            error = ex.Message,
            method = "GET",
            endpoint = "/users/{id}"
        }, new JsonSerializerOptions { WriteIndented = true });
    }
}

🎯 支持的功能

✅ HTTP 方法

  • GET、POST、PUT、PATCH、DELETE
  • 自定义HTTP方法

✅ 参数

  • 路径参数(/users/{id}
  • 查询参数(?limit=10&offset=0)
  • 请求体(JSON、表单数据等)
  • 头部参数

✅ OpenAPI 功能

  • 工具命名的操作ID
  • 参数描述
  • 请求/响应模式
  • 多种内容类型
  • 服务器URL

✅ 生成的代码特性

  • 异步/等待模式
  • 适当的错误处理
  • JSON序列化
  • 类型安全的参数处理
  • 全面的文件记录

🔧 架构

该发电机由几个关键部件组成:

  • OpenApiParser 翻译为中文是“OpenAPI解析器”解析OpenAPI规范并提取端点信息
  • 代码生成器从端点生成C# MCP工具方法
  • 项目生成器创建完整的项目结构
  • 名称生成器工具和参数的智能命名
  • TypeMapper(类型映射器)将OpenAPI类型映射到C#类型

🧪 测试生成的服务器

手动测试

# Test tools list
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | dotnet run

# Test specific tool
echo '{"jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": {"name": "GetUsers", "arguments": {}}}' | dotnet run

使用测试脚本

# Windows
test-mcp.bat

# The script tests basic functionality and tool calls

🎯 兼容MCP客户端

生成的服务器可以与任何支持通过stdin/stdout进行JSON-RPC的MCP客户端协同工作:

  • Cursor 集成开发环境(IDE) (原生MCP支持)
  • VS Code(Visual Studio Code) (带有MCP扩展)
  • ✅(对号,表示正确、确认或同意) Claude Desktop(可译为“Claude桌面版”或根据具体语境简化为“Claude桌面”) (含配置)
  • 自定义MCP客户端

📚 示例

查看 examples/ 包含示例OpenAPI规范及其生成的MCP服务器的目录:

  • 宠物商店API → 宠物管理工具
  • JSONPlaceholder(可译为“JSON虚拟数据占位符”或根据具体语境简化为“JSON模拟数据服务”) → 博客文章和用户管理
  • GitHub API → 仓库和问题管理

🤝 贡献(或“参与贡献”)

欢迎贡献!请随时提交问题、功能请求或拉取请求。

📄 许可证

这个项目在以下条件下可用 麻省理工学院许可证(MIT License)

🔗 参考文献

______________________________________________________________________

利用MCP的强大功能,将您的REST API转变为AI可访问的工具! 🚀

目录标签

目录标签

API集成C#ClaudeOpenAPI转换本地部署MCP服务器C#代码生成AI工具集成RESTAPI

支持客户端

Claude DesktopClaudeCursorVS Code

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP