用gradio部署mcp server
1. 说明
mcp是一种创新的开源协议,用于规范大模型对外部工具的调用流程。mcp服务是供大模型调用的外部服务,用于增强大模型解决问题的能力。
mcp服务可以用mcp python-sdk来搭建,官方教程在这里。对第一次尝试的同学来说,官方的sdk还是有一定门槛的。
最近发现gradio 默认支持mcp server的部署,也就是launch一个gradio demo后,默认就起一个mcp服务,无需额外学习mcp python sdk的使用。这对于已经熟悉gradio demo搭建的同学来说,方便了不少。下面我将展示一个简单的基于gradio的mcp server搭建,以及在一个mcp client中调用。
2. mcp server搭建
首先需要安装graidio[mcp],一行命令搞定:pip install -U "gradio[mcp]"
。
使用时,在demo.launch函数调用中增加一个参数 mcp_server=True
即可,下面是一个最简单例子:
1 | import gradio as gr |
我们写了一个把两个数相加的函数sum_two_values
,通过详细的docstring对函数功能、输入参数、输出参数的类型、含义进行说明,这有助于大模型来正确地调用工具。
然后创建了一个gradio的Interface
界面,设计输入输出,调用上面的函数。
最后启动interface界面,设置mcp_server=True
。
执行这个脚本后,log输出如下:
1 | Running on local URL: http://127.0.0.1:7860 |
首先是跟普通的gradio demo一样,列出网页服务的ip和端口。
然后列出了mcp server的地址,这个地址就可以加到mcp client 里面,进行mcp server的调用(具体见下章节)。
我们打开网页服务的网址,网页底下有通过 API 或 MCP 使用 按钮,点击之后选择MCP tab,也会给出MCP的地址:
3. mcp client中调用服务
mcp client有很多选择,cursor, cline, trae,通义灵码等。这里以通义灵码 IDE为例,展示添加mcp server 地址并调用的流程,别的工具几乎也是一样的使用流程。
打开IDE,选择智能体模式,点击智能会话底部的MCP工具链接,进入配置:
配置文件如下:
1 | { |
服务添加好以后,就可以在聊天的时候进行使用了:
mcp server的功能五花八门,通过这些工具,能对大模型的能力进行补充,完成更复杂的任务。