项目简介

API2MCP 是一个MCP服务器实现,其主要目的是将各种外部API服务转化为可供大型语言模型(LLM)调用的标准化 工具 (Tools)。通过简单的配置,您可以将RESTful或其他类型的API导入到API2MCP中,使其成为一个MCP服务器托管的工具集,LLM客户端可以通过MCP协议发现和调用这些工具,从而扩展LLM的能力边界。

主要功能点

  • API转MCP工具: 核心功能是将配置的外部API动态地封装成符合MCP规范的工具。
  • 动态配置: 支持通过'config.yaml'文件导入和管理API服务配置,允许随时添加、修改或移除API。
  • 多种认证支持: 内置对无认证、Basic认证、Token认证、OAuth认证等多种API认证方式的支持。
  • MCP协议支持: 作为MCP服务器,通过SSE(Server-Sent Events)等传输协议提供工具发现和调用能力。
  • 管理API与Web界面: 提供HTTP API接口用于管理服务配置(添加、删除、修改、查询、测试、刷新),并配套一个基本的Web界面方便操作(Web界面仍在开发中)。

安装步骤

  1. 克隆仓库: 从GitHub克隆项目到本地。
    git clone https://github.com/Potterluo/API2MCP.git
    cd API2MCP
  2. 安装依赖: 使用pip安装所需的Python库。
    pip install -r requirements.txt # 需要自行创建 requirements.txt 文件,包含 fastapi, uvicorn, mcp-server, requests, PyYAML, pydantic, aiohttp
    (注:仓库中未直接提供requirements.txt,需根据代码中的导入手动创建,或尝试安装 'fastapi uvicorn mcp-server requests PyYAML pydantic aiohttp')
  3. 准备配置文件: 创建或编辑 'config.yaml' 文件,按照项目定义的格式配置您想要封装的API服务。示例结构如下:
    api_services:
      - name: my_example_api # 工具名称
        description: This is an example API wrapped as an MCP tool # 工具描述
        auth_type: token # 认证类型: none, basic, token, oauth
        auth_config: # 认证配置,根据auth_type填写
          token: YOUR_API_TOKEN
          token_type: Bearer # 或其他类型,如Basic, 无前缀
        endpoint: https://api.example.com/data # API端点URL
        request: # 请求配置
          method: GET # HTTP方法: GET, POST
          params: # 默认或必需的请求参数,这些参数将成为MCP工具的参数
            param1: default_value1
            param2: default_value2
        is_active: true # 是否激活此服务作为工具
  4. 启动服务器: 运行'main.py'文件启动FastAPI应用,它会加载配置并启动MCP SSE服务器。
    uvicorn main:app --reload
    服务器将在指定的端口(默认为8000)启动。

服务器配置 (供MCP客户端连接使用)

MCP客户端需要知道如何启动和连接到API2MCP服务器。以下是典型的MCP客户端配置信息示例(JSON格式):

{
  "name": "API2MCP Server",
  "command": "python",
  "args": ["main.py"],
  "env": {}, // 可选:设置环境变量
  "transports": [
    {
      "type": "sse", // 使用Server-Sent Events传输协议
      "url": "http://127.0.0.1:8000/" // API2MCP服务器的URL
    }
    // 也可能支持Stdio类型配置,取决于具体的mcp-server库实现
  ]
}

请根据您的实际部署环境修改'url'中的IP地址和端口。

基本使用方法

  1. 配置API: 编辑 'config.yaml' 文件,添加或修改您希望封装的API服务信息。
  2. 启动服务器: 按照上述步骤启动API2MCP服务器。
  3. 连接客户端: 配置您的MCP客户端(如支持MCP协议的LLM应用)使用上面提供的服务器配置信息连接到API2MCP。
  4. LLM调用工具: 连接成功后,MCP客户端将能够发现并调用您在'config.yaml'中配置的API服务作为工具。LLM可以根据这些工具的功能描述('description')和参数('request.params')来决定何时以及如何调用特定的API。
  5. 使用Web界面 (可选): 如果服务器正在运行且Web界面可用(部分功能仍在开发),您可以访问服务器URL(如'http://127.0.0.1:8000/')通过图形界面管理和测试配置的API服务。

通过API2MCP,您可以轻松地将现有的API能力暴露给LLM,构建更强大的AI应用。

信息

分类

网页与API