返回市场
代理服务器

代理服务器

作者:YahelB055 星标更新:2025-08-15

项目介绍

MCProxy - 面向RESTful API的MCP代理

MCProxy 能够轻松且几乎无缝地在您的现有API与客户端之间生成并部署一个代理。 <br /> 它不会用现有的API替换现有的接口,但它会通过MCP扩展您系统的功能。 <br />


什么是MCP?

MCP(模型上下文协议)是一种标准化的通信协议,使AI工具和服务能够无缝交互, 其中服务器暴露具有定义的输入/输出模式的操作(“工具”),而客户端可以动态地发现、调用和使用它们。 <br /> 在这个生态系统中,MCP服务器充当网关,暴露AI能力、工作流或API——通常带有流式输出——而MCP客户端,通常是AI代理或应用程序,发现并调用这些工具来执行任务。 <br /> <br /> <b>MCProxy</b>作为MCP服务器的代理层,封装您的现有REST API,使AI客户端能够使用MCP协议与您的服务进行交互,而无需更改底层API。


部署

部署MCProxy非常简单:

  1. 构建Docker镜像:
    docker build -t mcp-proxy:<version> .

  2. 准备配置文件
    定义您希望暴露给MCP客户端的端点。默认情况下,MCProxy会查找config.json

  3. 挂载配置文件
    将其挂载到您的Docker容器、Kubernetes Pod或部署中。

  4. 暴露MCProxy
    通过您首选的路由或入口方法使服务可访问。

💡 您可以在./dev/目录下的示例中获得配置和设置的灵感。

一旦部署完成,MCP客户端就可以连接到MCProxy并访问您允许的数据——无需额外编码


环境变量

变量描述默认值
CONFIG_FILE配置文件的完整路径。./config.json

配置JSON模式:

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "API端点模式",
  "type": "object",
  "required": [
    "version",
    "endpoints"
  ],
  "properties": {
    "version": {
      "type": "string",
      "description": "模式或API定义的版本"
    },
    "endpoints": {
      "type": "array",
      "description": "API端点列表",
      "items": {
        "type": "object",
        "required": [
          "name",
          "description",
          "url",
          "method"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "端点的唯一名称"
          },
          "description": {
            "type": "string",
            "description": "端点的简短描述"
          },
          "url": {
            "type": "string",
            "format": "uri",
            "description": "端点的基础URL"
          },
          "method": {
            "type": "string",
            "enum": [
              "GET",
              "POST",
              "PUT",
              "DELETE",
              "PATCH"
            ],
            "description": "要使用的HTTP方法"
          },
          "path_params": {
            "type": "array",
            "description": "路径参数列表",
            "items": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          "query_params": {
            "type": "array",
            "description": "查询参数列表",
            "items": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        },
        "additionalProperties": false
      }
    }
  },
  "additionalProperties": false
}

配置文件示例:./dev/deployment/docker/endpoints.json


测试

设置环境,包括:

  • Nginx作为反向代理(BSD 2-Clause License)
  • mendhak/http-https-echo作为RESTful API(MIT License)
  • MCProxy服务器
cd ./dev/deployment/docker
docker compose up -d

要测试默认配置,您可以使用可用脚本,例如:

cd ./dev/scripts
python3 test_list_tools.py

<b>注意:</b> Nginx和http-https-echo仅用于示例Docker Compose设置,并未捆绑在此项目中。


⚠️ 免责声明:

MCProxy的创建者不对通过您配置的端点无意泄露的数据负责。确保您暴露的端点不泄漏敏感或不必要的信息是您的责任。