什么是 MCP?
MCP 是用于将 AI 应用程序连接到外部数据源和工具的标准协议。它支持:- 统一的工具接口:通过单个协议访问各种工具
- 外部工具服务器:连接到专门的服务(文件系统、git、数据库等)
- 生态系统集成:使用不断增长的 MCP 生态系统中的工具
- 灵活的传输:支持 StdIO、SSE 和 HTTP 传输
传输类型
AgentScope 支持三种 MCP 传输机制:快速开始
1. 连接到 MCP 服务器
2. 注册 MCP 工具
3. 在智能体中配置 MCP
传输配置
StdIO 传输
用于本地进程通信:SSE 传输
用于 HTTP Server-Sent Events:HTTP 传输
用于无状态 HTTP:工具过滤
控制要注册哪些 MCP 工具:启用特定工具
禁用特定工具
同时使用启用和禁用
工具组
将 MCP 工具分配到组以进行选择性激活:配置选项
超时设置
HTTP 头
Query 参数
为 HTTP 传输添加 URL 查询参数:注意:Query 参数和 HTTP 头仅对 HTTP 传输(SSE 和 HTTP)有效,对 StdIO 传输会被静默忽略。
同步 vs 异步客户端
elicitation 支持
MCP中的 elicitation 功能允许调用 MCP 服务端工具过程中,实现交互式信息补充收集。 异步客户端示例管理 MCP 客户端
协议版本配置
默认情况下,MCP 客户端仅支持协议版本2024-11-05。如果 MCP 服务器在初始化时返回不同的协议版本(例如 2025-03-26),连接将失败并报错 “Unsupported protocol version”。
使用 protocolVersions() 声明支持的协议版本:
注意:当连接使用较新协议版本的第三方 MCP 服务器时,此功能非常有用。MCP 规范将协议版本协商定义为客户端-服务器握手过程,服务器可能返回与客户端请求不同的版本。
列出 MCP 服务器的工具
移除 MCP 客户端
Higress AI Gateway 集成
AgentScope 提供了 Higress AI Gateway 扩展,支持通过 Higress 网关统一访问 MCP 工具,并利用语义检索能力自动选择最合适的工具。添加依赖
基本使用
启用语义工具搜索
使用toolSearch() 方法启用语义搜索,Higress 会自动选择与查询最相关的工具:
Higress 示例
查看完整的 Higress 示例:agentscope-examples/documentation/quickstart/src/main/java/io/agentscope/examples/quickstart/HigressToolExample.java
完整示例
查看完整的 MCP 示例:agentscope-examples/documentation/quickstart/src/main/java/io/agentscope/examples/quickstart/McpToolExample.java