
MCP Gateway
一个服务器,可以将模型上下文协议(MCP)的工具调用转换为传统的 HTTP API 请求,从而允许通过可配置的映射将现有的 HTTP API 集成到 MCP 领域中。
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 中包含两个部分:server
和 tools
。server
定义了网关服务器使用的基本信息。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
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。