MCP Server 快速开始
发布时间 2025-04-03
注意: 本文档中的 MCP Server 功能需要 Higress 2.1.0 或更高版本。
Higress AI 网关提供 MCP Server 统一托管能力,可以帮助 AI Agent 快速对接各类数据源。通过 MCP Server,AI Agent 可以方便地访问数据库、REST API 等外部服务,无需关心具体的连接细节。其中,数据库对接能力是网关内置的能力;而对于 REST API,任何外部 REST API 都可以通过简单的配置转换成 MCP Server。本文将以 PostgreSQL 数据库和一个简单的 REST API 为例,介绍配置流程。
前提条件
在开始使用 MCP Server 之前,需要先部署 Higress。您可以参考 Higress 快速入门指南 完成部署。在安装 Higress 时,请确保在 Helm 命令中添加以下参数:
helm install higress -n higress-system [...其他参数...] --set global.enableRedis=true
MCP Server 需要依赖 Redis 服务用于数据缓存,启用后您可以通过以下命令查看 Redis 服务的地址:
kubectl get svc redis-stack-server -n higress-system -o wide
配置 MCP Server
ConfigMap 全局参数配置
在 ConfigMap 中配置 MCP Server 的相关全局参数:
kubectl edit configmap higress-config -n higress-system
配置 Redis 连接信息和 MCP Server 的路由规则:
apiVersion: v1data: higress: |- mcpServer: sse_path_suffix: /sse # SSE 连接的路径后缀 enable: true # 启用 MCP Server redis: address: redis-stack-server.higress-system.svc.cluster.local:6379 # Redis服务地址 username: "" # Redis用户名(可选) password: "" # Redis密码(可选) db: 0 # Redis数据库(可选) match_list: # MCP Server 会话保持路由规则(当匹配下面路径时,将被识别为一个 MCP 会话,通过 SSE 等机制进行会话保持) - match_rule_domain: "*" match_rule_path: /postgres match_rule_type: "prefix" - match_rule_domain: "*" match_rule_path: /user match_rule_type: "prefix" servers: []...
kind: ConfigMapmetadata: name: higress-config namespace: higress-system
注意:
数据库类型的 MCP Server 在 ConfigMap 中配置,REST API 类型在 Higress 控制台配置。
配置 Database MCP Server
在 Config Map 中配置 Database MCP Server:
servers: - name: postgres # MCP Server 名称 path: /postgres # 访问路径,需要与 match_list 中的配置匹配 type: database # 类型为数据库 config: dsn: "your postgres database connect dsn" # 数据库连接串 dbType: "postgres" # 数据库类型,目前已支持 postgres/mysql/clickhouse/sqlite
数据库连接串格式请参考 gorm 文档。
配置 REST API MCP Server
任何 REST API 都可以通过以下步骤快速转换为 MCP Server:
1. 添加服务来源
在 Higress 控制台添加目标 REST API 的服务来源,本示例使用 randomuser.me
作为服务来源:
2. 配置路由
在 Higress 控制台添加路由并指向对应的服务来源:
3. 配置 MCP Server 插件
对创建的路由添加 MCP Server 插件并进行配置:
插件配置示例:
server: name: "random-user-server"tools:- description: "Get random user information" name: "get-user" requestTemplate: method: "GET" url: "https://randomuser.me/api/" responseTemplate: body: |- # User Information {{- with (index .results 0) }} - **Name**: {{.name.first}} {{.name.last}} - **Email**: {{.email}} - **Location**: {{.location.city}}, {{.location.country}} - **Phone**: {{.phone}} {{- end }}
更多关于如何配置 REST API 到 MCP Server 的详细信息,请参考 MCP Server 插件配置参考和Higress Wasm插件使用简介
注意: 对于 2025-03-26 MCP streamable HTTP 协议,可以直接使用此插件,无需全局 ConfigMap 配置
MCP Server 使用
在 AI Agent 中配置 MCP Server 的 SSE 连接,以 cursor 为例:
- 数据库类型的 MCP Server:使用 ConfigMap 中配置的 path + sse_path_suffix
- REST API 类型的 MCP Server:使用控制台配置的路由 path + sse_path_suffix
"mcpServers": { "postgres": { "url": "http://your-higress-address/postgres/sse" }, "rest-api": { "url": "http://your-higress-address/user/sse" }}
cursor 中配置完成:
通过 MCP Server,您可以快速为 AI Agent 添加各种数据源支持,提高开发效率。任何 REST API 都可以通过简单的配置转换为 MCP Server,无需编写额外的代码。
如您在使用 MCP Server 过程中遇到问题,可在 Higress Github Issue 中留下您的信息。
如您对 Higress 后续更新感兴趣,或希望给 Higress 提供反馈,欢迎 Star Higress Github Repo。