astrbot 中文文档 下载 App

接入 MCP 服务器:三种连接方式与工具启用

MCP(Model Context Protocol,模型上下文协议)是连接 AI 应用与外部工具的开放协议。一个 MCP 服务器就是一组能被 AI 调用的工具:接了论文检索服务器就能「帮我找最近的 RAG 论文」,接了日历服务器就能查日程。框架原生支持 MCP,入口在「插件 → MCP」标签页。

开始前的三个前提

  1. 已配好支持工具调用的对话模型,且使用内置 AI 执行方式(第三方 Agent 执行器是否支持取决于对应集成)
  2. 选好一个 MCP 服务器,读完它的说明:连接方式、配置内容、依赖、要不要令牌
  3. 确认它提供的是工具(tools)——这套流程主要把 MCP 工具交给 Agent

三种连接方式

方式适合需要准备
Streamable HTTP远程 MCP 服务(首选)MCP 地址、可选认证头
SSE旧版 SSE 传输的远程服务SSE 地址、可选认证头
stdio在本机启动 MCP 程序Python/uv/Node.js 等依赖

服务商给了远程地址就先用 Streamable HTTP,不用装任何额外环境。普通网页地址、REST API 地址不一定是 MCP 地址,别混填;SSE 地址也不能当 Streamable HTTP 地址用。

添加服务器五步走

  1. 「插件 → MCP」→ 右下角 + 新增
  2. 填服务器名(如 arxiv)
  3. 选模板,把服务文档给的 JSON 配置粘进「服务器配置」,替换地址与令牌
  4. 点「测试连接」,确认能拿到工具
  5. 保存,列表里应显示「已连接」和可用工具数

远程示例配置(地址为占位,照服务商实际文档填):

{
  "transport": "streamable_http",
  "url": "https://example.com/mcp",
  "headers": { "Authorization": "Bearer YOUR_TOKEN" },
  "timeout": 30,
  "sse_read_timeout": 300
}

stdio 示例(论文检索服务,用 uv 启动):

{ "command": "uv", "args": ["tool", "run", "arxiv-mcp-server", "--storage-path", "data/arxiv"] }

stdio 细节:command 是启动程序、args 是逐个参数,不能塞一整行 Shell 命令,环境变量写进 env 字段;依赖必须装在框架运行环境里(Docker 就装容器里);Windows 路径在 JSON 里要转义双反斜杠。

让 Agent 真正用上工具

连接成功只是第一步——已连接不代表模型会调用:

  1. 打开人格设定,编辑当前使用的人格
  2. 在人格能力的工具列表里找到该 MCP 服务器,勾选服务器或指定工具
  3. 保存人格,确认对话用的就是它
  4. 用明确任务试探:「检索最近关于多模态 RAG 的论文,给我标题和链接」

管理与同步

安全底线:stdio 服务器会在你的环境里跑本地进程,只接可信来源;含令牌的配置别截图外传。