前 言
太棒啦!Gravitee 4.8引入了MCP Agent Tool Server能力,它能够将任何现有的API接口转化为MCP(Model Context Protocol)工具来调用,无需再重写或大幅改造后台系统。接下来小编就带大家验证下Gravitee 4.8的MCP能力,跟着小编的步骤一起动手做起来吧!

工具清单
macOS:MAC操作系统,用于本地环境部署Docker Desktop:一个简单易用的界面来管理和运行Docker容器Gravitee 4.8:具备MCP管理能力的网关Cherry Studio:用于MCP客户端验证的工具

准备环境—— Docker Desktop 安装
打开Docker Desktop官网下载Mac版的dmg进行安装,安装完成后,打开终端执行以下命令进行验证,输出对应的版本号则表示安装成功,工具下载地址详见文末
# 主要用于快速查看Docker客户端CLI的版本信息
docker --version
# 查看Docker Compose工具的版本
docker compose version

特别注意:Docker Desktop一定要选择macOS支持的版本,小编的mac是12.1选择的Docker Desktop是4.32.1版本

准备环境—— Gravitee 4.8 部署
打开终端窗口,创建一个本地目录,执行以下命令下载docker-compose.yml文件:docker-compose-apim.yml
mkdir gravitee-platform
cd gravitee-platform
curl -L https://bit.ly/docker-apim-4x -o docker-compose-apim.yml

下载完成后,使用以下命令启动Gravitee相关组件,APIM需要点时间才能通过 Docker 完全初始化
# 启动apim容器服务docker compose -f docker-compose-apim.yml up -d

Docker初始化后,启动浏览器打开 http://localhost:8084 ,用户名和密码均默认为admin,可以看到Gravitee可以正常访问啦


启用MCP插件,需要在本地目录gravitee-platform中新建docker-compose.override.yml文件,内容如下:
# streamablehttp 表示 MCP 使用 HTTP + SSE 流式传输,Cherry Studio 兼容这种方式。
# image 为 指定官方 Docker 镜像
# environment:配置 MCP 插件
services:
apim-gateway:
image: graviteeio/apim-gateway:4.8.0
environment:
- gravitee_plugins_mcp_enabled=true
- gravitee_plugins_mcp_transport=streamablehttp
重新启动Gravitee,并验证 http://localhost:8084 是否可以正常访问
# 查看容器执行状态,可以看到gravitee-apim等容器状态为Up
docker ps
# 停止容器服务
docker compose -f docker-compose-apim.yml down
# 重新启动窗口服务
docker compose -f docker-compose-apim.yml -f docker-compose.override.yml up -d

创建一个 HTTP API 验证
本地启动一个java项目,提供一个简单的API接口,如:http://localhost:7766/user/queryAddress,根据用户姓名查询住址

在Gravitee上配置本地接口,并完成Deploy,具体配置关键信息如下:
name:mcp-test-apiversion:1.0Context-path:/mcp-test/Endpoints:http://host.docker.internal:7766Plans type:API_KEY

Postman验证接口的连接性,可以发现接口正常返回信息

特别注意:因后端服务在本地 7766 端口运行,而 Gravitee 在 Docker 容器里运行,那么需要在 Gravitee里把API的Target url改成 http://host.docker.internal:7766 ,而不是 http://localhost:7766。

转换为 MCP 接口(streamablehttp)
找到要转换为 MCP 服务器的 API,点击“Entrypoints”—>“MCP Entrypoint”—>“Enable MCP”

Enable MCP Entrypoint中的MCP path默认为/mcp,可以按使用情况修改,点击“Generate Tools from OpenAPI”

在“Generate Tools from OpenAPI”弹出窗口中,添加 OpenAPI 规范,然后依次点击“Regenerate Tools”—>“Create”—>“Deploy API”,完成MCP的部署。OpenAPI 规范详见文末


在 Cherry Studio 验证 MCP
下载并完成Cherry Studio的安装,下载地址详见文末

点击Cherry Studio设置,打开MCP—>右上角添加—>快速创建,输出以下关键信息后保存并开启,特别注意URL为 Context-path + MCP path 组成
名称:Gravitee-MCP-Test
类型:可流式传输的 HTTP(streamableHttp)
URL:http://localhost:8082/mcp-test/mcp
请求头:
Content-Type=application/json
X-Gravitee-Api-Key=7eed78dc-bbfa-419b-ad78-dcbbfa419b77

新建话题窗口,选择刚刚创建的MCP服务,并在对话框中输入“查询姓名为张三的住址”

可以看到对话过程中大模型调用了MCP的接口,并成功返回了接口查询到的信息

完美!!到此我们已经验证通了Gravitee的MCP能力,赶紧动手试试吧!
额外小技巧(提高成功率)
如果电脑没有安装Homebrew,可以使用以下命令安装或者通过 Warp 智能终端工具安装
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
每完成一个关键步骤(启动Docker、创建 API、测试带 key 的 HTTP 请求、创建 MCP、Cherry)都立即执行一次对应的验证,分段排错更快
若需要把服务端口改为其它端口(避免冲突),修改 docker-compose-apim.yml中对应服务的 ports 并重启
过程中遇到问题要多使用AI工具,能够快速协助解决

写在最后
因文中提到下载地址与参考手册较多,以及OpenAPI 规范说明,小编全部进行了统一整理,欢迎私信小编“Gravitee”获取详细信息,也欢迎大家评论区交流!















暂无评论内容