MCP(Model Context Protocol)是一项开源协议,旨在标准化应用程序向大语言模型(LLM)提供上下文的方式,类似于为AI应用提供了一个“USB-C接口”,以便模型能够灵活、安全地连接各种数据源和工具。本文主要介绍了如何创建及使用MCP服务。
功能描述
MCP服务管理提供RESTful API至MCP服务的平滑迁移能力,支持SSE、Streamable HTTP两种协议访问,并集成基于消费者身份的鉴权认证机制,为企业级API治理提供技术支撑。
创建MCP服务
登录AI网关控制台。
在左侧导航栏,选择实例,并在顶部菜单栏选择地域。
在实例页面,单击目标网关实例ID。
在左侧导航栏选择MCP管理,单击创建MCP服务。
在创建MCP服务面板中配置相关参数,然后单击保存并发布。
参数
说明
示例
名称
自定义MCP服务的名称。
demo
后端服务
服务名称
选择创建的服务名称。
test-service
服务协议
选择创建的服务协议,HTTP或MCP。
MCP
MCP Transport
当服务协议为MCP时,需选择MCP协议:SSE或HTTP Streamable。
SSE
路径
当服务协议为MCP时,填写服务路径。
/test
描述
当服务协议为HTTP时,对MCP服务进行描述。
测试
MCP接入点
域名
访问MCP 服务使用的域名,支持选择多个域名。
说明同一个网关实例下,无法使用同一个域名创建两个MCP服务。
www.aliyun.com
路径 (SSE)
MCP服务接入点的路径(SSE)会根据服务的名称生成。
/mcp-servers/{your-mcp-server-name}/sse
路径 (Streamable HTTP)
MCP接入点的路径(Streamable HTTP)会根据服务的名称生成。
/mcp-servers/{your-mcp-server-name}
消费者认证
开启后只有经过授权的消费者身份才能访问MCP服务。
开启
认证方式
开启消费者认证时,默认为API Key。
API Key
同步Nacos MCP服务
支持将注册在MSE Nacos 中的MCP 服务同步到AI网关中。
登录AI网关控制台。
在左侧导航栏,选择实例,并在顶部菜单栏选择地域。
在实例页面,单击目标网关实例ID。
在左侧导航栏选择MCP管理,单击同步 Nacos MCP 服务。
在同步Nacos MCP服务页面,选择服务来源,Nacos 命名空间,域名并勾选未同步的Nacos MCP服务,单击同步,即可完成服务同步。
为MCP服务添加工具
登录AI网关控制台。
在左侧导航栏,选择实例,并在顶部菜单栏选择地域。
在实例页面,单击目标网关实例ID。
在左侧导航栏选择MCP管理,单击目标服务卡片,然后单击添加工具。
MCP服务目前支持两种添加工具的方式:
方式一:基于Swagger文件(推荐使用)
导入Swagger,创建或增量更新MCP工具:从本地上传OpenAPI文件或将API定义粘贴到编辑框内,然后单击立即生成。
更新及确认MCP工具列表:可以看到生成的MCP工具描述文件,可以进一步确认及修改其中的信息。
(可选)开启后端服务认证:可以添加认证鉴权配置。认证方式配置说明如下:
参数
说明
Basic
将用户名和密码以username: password的形式进行Base64编码后,放在HTTP请求头的Authorization字段中发送。
Bearer
客户端先通过登录接口获取一个令牌,通常是JWT。以后每次请求都在Authorization头中带上该令牌。令牌通常是临时的,可以设置有效期。
API Key
由服务端分配给客户端一个唯一字符串作为访问凭据,客户端在每次请求时通过Header或Query参数提交。
方式二:自定义YAML
您可以通过自定义YAML手动创建MCP工具。
单击YAML示例,您可以针对生成的YAML示例进行修改。
(可选)开启后端服务认证:可以添加认证鉴权配置。认证方式配置说明如下:
参数
说明
Basic
将用户名和密码以username: password的形式进行Base64编码后,放在HTTP请求头的Authorization字段中发送。
Bearer
客户端先通过登录接口获取一个令牌,通常是JWT。以后每次请求都在Authorization头中带上该令牌。令牌通常是临时的,可以设置有效期。
API Key
由服务端分配给客户端一个唯一字符串作为访问凭据,客户端在每次请求时通过Header或Query参数提交。
单击确认,可以在工具页签看到工具列表及工具描述信息。
消费者认证
登录AI网关控制台。
在左侧导航栏,选择实例,并在顶部菜单栏选择地域。
在实例页面,单击目标网关实例ID。
在左侧导航栏选择MCP管理,单击目标服务卡片,然后单击消费者认证页签。
单击配置信息右侧的编辑,开启启用状态。配置相关参数后,单击确认。
重要开启消费者认证后,若没有配置授权关系,将无法访问当前API。
建议使用API Key类型的认证方式以获得最佳的兼容性。
配置项
说明
启用状态
开启或关闭消费者授权开关,默认关闭。
认证方式
消费者授权的认证方式目前支持两种:API Key、JWT。
API Key是一种简单的认证方式,客户端访问时,需将凭证以指定的方式添加至请求中,网关收到请求后会验证API Key的合法性及权限。
JSON Web Token (JWT) 用于在客户端和服务端之间以JSON对象的形式安全地传输信息。该信息可以被验证和信任,因为JWT使用HMAC算法、RSA或ECDSA的公钥/私钥对其进行签名。JWT认证可以在网关中验证身份并控制授权访问。
在消费者区域单击授权,选择消费者。若没有消费者,可以单击创建消费者进行创建。然后单击添加。
通过MCP Inspector调试MCP服务
建议在本地启动MCP Inspector进行MCP调试。
MCP Inspector是MCP社区提供的调试工具,可用于MCP服务全流程的调试。
前提条件:安装Node.js环境。
执行MCP Inspector安装命令:
npx @modelcontextprotocol/inspector node build/index.js
。访问MCP Inspector界面,例如通过浏览器登录以下地址:
http://127.0.0.1:6274
。配置连接信息。
选择传输类型:
Transport Type
选择SSE
。输入
URL
地址:在MCP管理的基本信息页右侧获取。(可选)若配置了消费者认证,单击
Authentication
安装展开授权配置,并填写消费者身份对应的Token。以下图的凭证配置为例,Header Name
为Authorization
不需要修改,在Bearer Token
中填入HereIsToken
。
单击
Connect
进行连接,连接成功后可以看到中间出现List Tools
按钮,单击List Tools
获取MCP服务的所有工具。(可选)若要调试具体的工具,点击工具名称,在右侧填写必要的参数,并单击
Run Tool
进行工具调用调试。