干货:Gravitee 4.8轻松将任意API秒变MCP工具

前    言

太棒啦!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”获取详细信息,也欢迎大家评论区交流!

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容