指南
接入你自己的 MCP 服务器
代理平时从你写在 Context 里的内容回答。当答案在实时系统里——一个 CRM、一个库存服务、一个数据库——你可以改为指向一个你运行的 MCP 服务器。代理在提问时调用那个服务器,用它返回的东西,然后继续。你的源系统留在你的网络里;工具请求和响应在这次对话里进入我们的托管服务。
根据你运行 kavilo 的方式,有两种做法:
- 托管 Enterprise 套餐 — 在控制台里配置一个上下文提供方。当访客的签名 token 带着上下文密钥时,代理在回复前调用一个 MCP 工具,让你的服务器返回针对该访客的数据。没有那个密钥的访客跳过这次调用。
- 自托管 — 在
config.json的tools.mcpServers里加一个或多个 MCP 服务器。它们成为代理在推理期间可以调用的工具,和原生工具的工作方式一样。
托管 Enterprise:上下文提供方
在控制台里,打开你的机器人的设置,滚动到 MCP context provider。你要设置四样东西:
- 端点 URL — 你的 MCP 服务器的 HTTP 或 HTTPS 地址。必须能从我们的云访问。本地地址或私有 IP 不行;开发阶段用公开主机名或隧道(Cloudflare Tunnel、Tailscale Funnel、ngrok)。
- 工具名称 — 要调用的 MCP 工具的名称。这是你的服务器公开的那个工具,名字由你起。
- 携带访客密钥的请求头(可选)— 用于从你后端签发的访客 token 中转发不透明上下文密钥的请求头名称。默认是
X-Context-Key。只有 token 里包含密钥时工具才会被调用;公开密钥的访客跳过这次调用。 - 认证请求头和凭证(可选)— 一个请求头和一个静态值,用来让你的服务器认出 kavilo,例如
X-API-Key加一个你自己生成的密钥。与上下文密钥分开:认证凭证标识调用方,上下文密钥标识访客。凭证是只写的——你设置它,我们永不返回它。
保存后,用 Test connection 验证代理能访问你的服务器并调用工具。测试会列出你的服务器公开的工具;如果指定的工具不在列表里,运行时就不可用。
运行时,带着上下文密钥的访客会在回复前触发工具。返回值会注入到代理当轮的上下文中。如果调用超时(默认五秒)或返回错误,代理会不带它继续,而不是拒绝回复——把你的工具设计成快速返回、优雅降级。
工具的原始响应不会加入机器人的永久 Context,但它里面的事实可能出现在回复里,因此也会出现在存储的对话和对话记录中。
自托管:tools.mcpServers
在 config.json 里,把每个服务器加到 tools.mcpServers 下。键是别名;代理看到的工具名是 mcp_<alias>_<tool>。
一个 HTTP 服务器:
一个本地进程(stdio):
代理在推理期间自主调用这些工具,和它调用内置工具的方式一样。你也可以设置 enabledTools,限制公开某个服务器的哪些工具。
对 config.json 的改动在下一次 kavilo start 时生效。kavilo mcp 命令可以帮助管理服务器条目,而不用手改文件。
什么会离开你的网络
托管 Enterprise 套餐下,对话、MCP 请求和工具响应在我们的云里处理。你的基础系统留在你的网络里,但请求、可选的签名访客 token 和返回的行或对象会越过边界。如果这不可接受,就自托管代理并用本地推理,这样对话和工具数据都不会离开。
获取资格
MCP 上下文在 Enterprise 套餐上可用。较低套餐上这些设置是隐藏的。想在选择部署方式之前聊聊数据边界,就升级或和我们谈谈。