MCP Gateway

MCP Gateway

一个服务器,可以将模型上下文协议(MCP)的工具调用转换为传统的 HTTP API 请求,从而允许通过可配置的映射将现有的 HTTP API 集成到 MCP 领域中。

Category
访问服务器

README

MCP 网关

MCP (模型上下文协议) 网关可以将 MCP 工具调用转换为传统的 HTTP API 请求。它可以提供一种可配置的方式,将现有的 HTTP API 引入 MCP 领域。

快速开始

config.example.yaml 创建配置文件:

$ cp config.example.yaml config.yaml

编辑 config.yaml 文件,将所有 API 映射到 MCP 工具。

然后使用 SSE 传输启动它:

$ uv run mcp-gateway
INFO:     Started server process [15400]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:3001 (Press CTRL+C to quit)

默认端口是 3001。

服务器控制

更改端口

在命令行中提供参数 --port=<port_no> 将更改 SSE 传输的端口。

使用端口 3002 启动网关:

$ uv run mcp-gateway --port=3002
INFO:     Started server process [15400]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:3002 (Press CTRL+C to quit)

stdio 传输

在命令行中提供参数 --transport=stdio 将更改传输方式为 stdio。

例如:

$ uv run mcp-gateway --transport=stdio

手动启动 stdio 传输方式的网关是没有意义的。您可以在 Cursor 或 Cline 中进行如下配置:

{
    "mcpServers": {
        "mcp-gateway": {
          "command": "uv",
          "args": ["run", "mcp-gateway", "--transport=stdio"]
        }
      }
}

或者使用 MCP Inspector,并填写以下表单值:

项目
传输类型 STDIO
命令 uv
参数 run mcp-gateway --transport=stdio

配置文件

配置文件 YAML 中包含两个部分:servertoolsserver 定义了网关服务器使用的基本信息。tools 定义了从单个 MCP 工具到 HTTP API 请求的映射。

server:
  name: rest-amap-server
  config:
    apiKey: foo
tools:
- name: maps-geo
  description: "将详细的结构化地址转换为经纬度坐标。支持对地标性名胜景区、建筑物名称解析为经纬度坐标"
  args:
  - name: address
    description: "待解析的结构化地址信息"
    required: true
  - name: city
    description: "指定查询的城市"
    required: false
  requestTemplate:
    url: "https://restapi.amap.com/v3/geocode/geo?key={{.config.apiKey}}&address={{.args.address}}&city={{.args.city}}&source=ts_mcp"
    method: GET
    headers:
    - key: x-api-key
      value: "{{.config.apiKey}}"
    - key: Content-Type
      value: application/json
  responseTemplate:
    body: |
      # 地理编码信息
      {{- range $index, $geo := .Geocodes }}
      ## 地点 {{add $index 1}}

      - **国家**: {{ $geo.Country }}
      - **省份**: {{ $geo.Province }}
      - **城市**: {{ $geo.City }}
      - **城市代码**: {{ $geo.Citycode }}
      - **区/县**: {{ $geo.District }}
      - **街道**: {{ $geo.Street }}
      - **门牌号**: {{ $geo.Number }}
      - **行政编码**: {{ $geo.Adcode }}
      - **坐标**: {{ $geo.Location }}
      - **级别**: {{ $geo.Level }}
      {{- end }}

Server

项目 描述
name 服务器名称
config 键/值对,可以在模板中使用变量 {{.config.xxx}} 引用

Tools

tools 是 MCP 工具映射的列表。单个工具的属性定义如下:

项目 描述
name 工具名称(函数名称),提供给 LLM。
description 工具描述,LLM 可以通过它了解该工具的功能。
args 工具的参数(函数参数)。
requestTemplate 请求映射到目标 HTTP API。
responseTemplate 目标 HTTP API 响应的响应映射。

单个参数的属性定义如下:

项目 类型 描述
name 参数名称,提供给 LLM。
description 参数描述,LLM 可以通过它理解并决定应该填充什么值。
required Boolean 是否为必需参数。

请求模板的属性定义如下:

项目 描述
method HTTP 方法
url 目标 HTTP API URL 模板
headers HTTP 头部

HTTP 头部定义如下:

项目 描述
key 头部键
value 头部值模板

响应模板的属性定义如下:

项目 描述
body 响应体模板

贡献

欢迎各种形式的贡献。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选