返回市场
MCP构建器

MCP构建器

作者:alikarimii3 星标更新:2025-05-19

项目介绍

MCP Builder

该项目旨在将OpenAPI规范转换为TypeScript代码,并生成MCP服务器。它提供了一种简单的方法,根据OpenAPI YAML文件中的定义生成TypeScript模式和处理器。

本项目支持OpenAPI v3,如需将v2转换为v3,请参阅此文档:openapi3-parser

生成代码

要运行项目,请激活虚拟环境:

uv venv --python 3.12.9
source .venv/bin/activate
uv install

然后,您可以运行生成器脚本来将您的OpenAPI YAML文件转换为TypeScript代码。以下命令假设您有一个名为example/openapi_v3.yaml的OpenAPI YAML文件,并希望在output目录中生成TypeScript文件,使用位于src/templates目录中的模板。

python -m src.main --input=example/openapi_v3.yaml --output_dir=output --templates_dir=src/templates

或者

make run

准备MCP服务器

切换到output目录,创建一个.env文件并放置您的环境变量,然后运行:

npm i

检查服务器

运行node dist/server.js。您应该看到启动消息。(MCP服务器正在运行...)

使用MCP服务器

Visual Studio Code

在项目的根目录下创建一个.vscode文件夹,并创建一个mcp.json文件。

{
  "servers": {
    "gitlab": {
      "command": "node",
      "args": [
        "/path/to/mcp_builder/output/dist/server.js" ## 根据您的路径更改此内容
      ],
      "env": {
        "ACCESS_TOKEN": "ss", ## 更改此内容
        "API_URL": "ss" ## 更改此内容
      },
      "type": "stdio"
    }
  }
}

命令行

在您的设备上找到cline_mcp_settings.json文件,并添加以下内容:

{
  "mcpServers": {
    "gitlab": {
      "disabled": false,
      "timeout": 60,
      "command": "node",
      "args": [
        "/path/to/mcp_builder/output/dist/server.js" ## 根据您的路径更改此内容
      ],
      "env": {
        "ACCESS_TOKEN": "ss", ## 更改此内容
        "API_URL": "ss" ## 更改此内容
      },
      "transportType": "stdio"
    }
  }
}

如果生成的工具超过约50个,则它们不会显示在命令行列表中。您可以在src/templates/server.ts.j2中过滤列表并重新生成:

...
server.setRequestHandler(ListToolsRequestSchema, async () => {
  return {
    tools: Object.entries(toolStore).slice(0,50).map(([name, tool]) => ({
      name,
      description: tool.definition.description,
      inputSchema: tool.definition.inputSchema,
    })),
  };
});
...