Token导航 LogoToken导航TokenDH.com
Chat-GPT PortPilot logo
办公协作未说明官方级别未说明来源级核验

Chat-GPT PortPilot

MCP Server

一个基于Go的网关,用于发现本地安装的MCP服务器并通过自动生成的OpenAPI模式将它们暴露给自定义ChatGPT GPT。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
GoChatGPT集成团队协作

安装说明

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

作者 / 组织

940smiley

提供方

940smiley

最后核验

2026/5/17 20:19

快速接入

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

详细介绍

CHATGPT_GO

一个基于Go的网关,可以发现本地安装的MCP(模型上下文协议)服务器,并通过自动生成的OpenAPI模式将它们暴露给单个自定义的ChatGPT GPT。将描述本地服务的YAML文件放入 mcp_servers 目录和网关将立即代理对它的请求,并更新GPT导入的架构。

特性

  • ⚙️ 自动发现 –查看目录中新的/更新的YAML服务定义。
  • 📄 动态OpenAPI生成 –服务于整合 openapi.json 这总是反映了活动的MCP服务器。
  • 🔁 反向代理 –将来自ChatGPT的操作请求转发到正确的本地服务,保留标头和查询参数。
  • 🏷️ 服务元数据 –使用供应商扩展对每个操作进行注释(x-service-name, x-service-address)因此,您可以将请求追溯到其来源。
  • 🛡️ CORS友好 –回应 OPTIONS 请求并允许跨源调用,使ngrok等隧道工具变得无痛。

入门指南

先决条件

  • 转到1.21+
  • (可选) 吸烟 或另一个隧道实用程序,以将网关暴露到互联网。

1.获取依赖项

go mod tidy

2.启动示例MCP服务器(可选但推荐)

这些模拟服务位于 examples/ 并镜像示例YAML定义。

# Terminal 1 – Weather service
cd examples/weather_service
go run .
# Terminal 2 – Todo service
cd examples/todo_service
go run .

两个服务都在监听 localhost 港口(90019002).请随意使用相同的地址交换您自己的MCP服务器。

3.运行网关

go run .

默认情况下,网关会监听 :8080 并观看 ./mcp_servers 目录。第一次运行附带了两个示例YAML文件:

  • mcp_servers/weather.yaml
  • mcp_servers/todo.yaml

添加、编辑或删除该目录中的YAML文件,网关将自动重新加载,无需重新启动。

4.(可选)将网关暴露给ChatGPT

使用隧道服务使本地服务器可以从ChatGPT访问。例如ngrok:

ngrok http 8080

注意公共URL(例如。 https://.ngrok-free.app).

5.配置您的自定义GPT

  1. 在以下位置创建或编辑GPT chat.openai.com.
  2. 打开 配置→ 行动 并选择 从URL导入.
  3. 粘贴网关架构URL: https://.ngrok-free.app/openapi.json.
  4. 保存GPT。现在,操作被路由到中描述的任何MCP服务器 mcp_servers/.

定义服务

服务定义是简单的YAML。每个文件代表一个MCP服务器,可以包含多个端点。示例(mcp_servers/weather.yaml):

serviceName: weather
serviceAddress: http://localhost:9001
description: "A service that returns the current weather for a city."
endpoints:
  - path: /weather/{city}
    method: GET
    description: "Get the current weather for a specific city."
    operationId: getWeatherForCity
    parameters:
      - name: city
        in: path
        description: "City to look up."
        schema:
          type: string

端点支持:

  • 路径、方法、描述和可选 operationId.
  • 路径和查询参数(路径参数根据需要自动标记)。
  • 具有任意JSON模式片段的可选请求体。

根据需要添加任意数量的YAML文件;网关将它们合并到一个OpenAPI文档中,用发起服务标记每个操作。

配置参考

选项描述默认值
CHATGPT_GATEWAY_CONFIG用于监视YAML文件的目录。./mcp_servers
CHATGPT_GATEWAY_ADDR确切地址(host:port)对于HTTP服务器。*(未设置)*
CHATGPT_GATEWAY_PORT端口(或 host:port)如果 CHATGPT_GATEWAY_ADDR 未设置。8080
--configCLI标志替代 CHATGPT_GATEWAY_CONFIG../mcp_servers
--addrCLI标志替代 CHATGPT_GATEWAY_ADDR.:8080

CLI标志覆盖环境变量。

网关的工作原理

  1. 服务YAML文件被解析为内存中的定义。
  2. 网关构建路由表(方法+路径→ 服务)。
  3. 在每个HTTP请求上(除了 /openapi.json),它会找到匹配的路由并将调用代理到服务的 serviceAddress.
  4. /openapi.json 端点返回一个合并的OpenAPI 3.1模式,ChatGPT使用该模式进行动作发现。

配置目录中的任何文件创建、修改、删除或重命名都会触发重新加载和模式重新生成。

开发技巧

  • 通过直接运行网关启用详细日志记录(go run .)--您将看到代理活动和文件监视器事件。
  • 想为新的MCP服务器建模吗?复制一个示例YAML文件并调整元数据、端点和地址。
  • 您可以在本地检查生成的OpenAPI文档 http://localhost:8080/openapi.json.
  • 助手服务 examples/ 它们故意简单无状态,使其易于适应或替换。

黑客快乐!放下你的服务 mcp_servers/ 它们在开发人员模式下立即可供GPT使用。

目录标签

目录标签

GoChatGPT集成团队协作MCP服务本地部署OpenAPI生成反向代理本地服务发现

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP