Token导航 LogoToken导航TokenDH.com
Gpt Actions To MCP Provider logo
开发工具stdio官方级别未说明来源级核验

Gpt Actions To MCP Provider

MCP Server

一个基于FastAPI的网关服务,用于认证传入请求并将其代理到配置的MCP服务器,支持多种认证方式和传输类型。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
API网关开发工具Python认证服务

安装说明

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

作者 / 组织

AndreiMarhatau

提供方

AndreiMarhatau

最后核验

2026/5/17 20:21

运行时

Python

快速接入

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

命令预览

uv run mcp-proxy-service --host 0.0.0.0 --port 8000

详细介绍

MCP代理服务

一个基于FastAPI的网关,用于验证传入请求并将它们代理到配置好的模型上下文协议(MCP)服务器。该服务为每个MCP提供一个稳定的接口 /mcp/{name} 命名空间,自动转发请求并暴露上游的OpenAPI模式。

特点/特性

  • 对所有入站请求进行静态承载令牌认证。
  • 可配置的MCP连接器支持远程HTTP端点、具有内联/文件架构的本地HTTP服务器,以及通过命令启动的MCP工具。
  • 通过MCP实现每个的自动OpenAPI发现 GET /mcp/{name}.
  • 透明请求代理到 /mcp/{name}/{path} 对于标准的HTTP方法。
  • 通过API密钥或任意自定义标头进行上游身份验证。
  • 由……支持的、可投入生产的Dockerfile和docker-compose配置 uv 根据可用CPU自动调整工作节点数量。
  • 全面的 pytest 测试套件,强制要求达到 80% 以上的覆盖率。

要求

  • Python 3.11及以上版本
  • uv 用于依赖管理和执行

安装

uv sync

这会在(当前环境中)创建一个本地虚拟环境 .venv 包含所有依赖项(包括测试工具)。

配置

该服务从(某处)读取配置 config.yaml 默认情况下,或者从由(某路径)引用的路径中 MCP_PROXY_CONFIG 环境变量。参见 config.example.yaml 以下是一个完整示例。一个最小配置看起来像这样:

incoming_auth:
  token: "example-token"

mcps:
  my-remote-mcp:
    name: my-remote-mcp
    description: Remote MCP server
    transport:
      type: http
      base_url: "https://remote.example"
      openapi_path: "/openapi.json"
      auth:
        type: api_key
        header_name: "X-API-Key"
        value: "secret"
  my-local-mcp:
    name: my-local-mcp
    description: Local MCP served over HTTP
    transport:
      type: local-http
      base_url: "http://localhost:9001"
      schema_path: "./schemas/local-openapi.yaml"
      auth:
        type: custom_headers
        headers:
          X-LOCAL-TOKEN: "token"
  my-playwright-mcp:
    name: my-playwright-mcp
    description: Playwright MCP launched from a command
    transport:
      type: command
      command: "npx"
      args:
        - "@playwright/mcp@latest"
        - "--isolated"
      base_url: "http://127.0.0.1:8900"
      startup_timeout: 60

即将进行的身份验证

所有请求必须包含一个 Authorization: Bearer 头部与配置的令牌匹配。

上游认证

每个MCP可以定义以下认证策略之一:

  • api_key注入一个具有指定名称/值的头部。
  • custom_headers将任意头部信息合并到每个代理请求中。
  • none 或省略:转发调用时无需额外认证。

MCP运输

transport.type 字段选择代理如何连接到MCP:

  • http连接到现有的远程HTTP端点并从其中获取模式 openapi_path
  • local-http与……相同 http,但允许供应 schema_path 或者 inline_schema 未连接到网络。
  • command启动一个本地进程(例如。 npx @playwright/mcp@latest)并将其请求代理到它所暴露的HTTP服务上 base_url可选 schema_path/inline_schema 受到尊敬,而 startup_timeout 控制准备就绪轮询。提供 env 或者 working_dir 在需要时。

运行服务

本地执行

uv run mcp-proxy-service --host 0.0.0.0 --port 8000

Docker(注:Docker是一个开源的应用容器引擎,用于开发、交付和运行应用程序。)

使用提供的 Dockerfile 进行构建和运行:

docker compose up --build

该compose文件挂载 config.yaml 装入容器中作为 /app/config.yaml; 复制或改编 config.example.yaml 在创建您自己的配置时。Docker 镜像会自动为每个检测到的 CPU 启动一个工作进程。要覆盖此行为,请通过设置(相关参数)来实现 MCP_PROXY_WORKERS

使用方法

  • GET /mcp/{name} – 获取指定MCP的缓存OpenAPI模式。
  • /{method} /mcp/{name}/{path} – 将请求代理到上游MCP服务器,同时保留方法、查询参数和请求体。

测试

执行完整的测试套件(覆盖率强制要求至少达到80%):

uv run pytest

开发说明

  • 该项目遵循 src/ 布局并使用 Pydantic 模型进行配置验证。
  • 连接器逻辑存在于 src/mcp_proxy/connectors.py 并且设计为可扩展性。
  • 在引入新功能或行为变更时,更新相关文档和配置示例。

目录标签

目录标签

API网关开发工具Python认证服务本地部署请求代理MCP协议

接入字段

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

stdio

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

api-key

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdioapi-key部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP