6.4 接入只读 MCP 工具
先验证一个只读工具,再接入具有业务写入能力的系统。本例使用仓库自带的公共资料服务,不读取私人目录,也不调用模型。
1. 准备并运行协议验证
完成源码开发环境,在仓库根目录执行:
sh
pnpm test:references协议用例会通过 stdio 启动真实 MCP 服务,列出工具、读取资料,并验证错误身份、版本和额外参数被拒绝。
服务入口为 packages/mcp-reference/src/main.ts。手动启动时,它会等待标准输入中的 MCP 协议消息,没有普通聊天提示属于正常状态。
2. 读取一份资料
| 工具 | 参数 | 结果 |
|---|---|---|
list_references | 空对象 {} | 已开放资料的 ID、来源与 SHA-256 版本 |
read_reference | id 和 version | 同一版本的正文与来源 |
先调用列表,从真实回包取 id 与 64 位版本,再读取。不要将版本写死为某个文档示例值;正文更新后版本也会变化。
3. 验证拒绝路径
用未开放的资料 ID 调用,应返回 reference/not-found;用旧版本调用,应返回 reference/version-conflict。额外的 path 字段或任意磁盘路径不被接受。
这验证的是 MCP 服务自身的资料边界。它不替代 Teloa 中岗位工具授权的测试。
4. 在 Teloa 中使用
默认组合已配置 teloa_reference 这个 stdio 服务。在设置中进入 DSH 管理的运行配置,检查连接。先暂停对应同事,再编辑工具授权,为对应资料开放读取能力,按页面给出的候选范围配置;完成后恢复在岗。协议工具完整名称为 mcp__teloa_reference__list_references 和 mcp__teloa_reference__read_reference。
未授权时,在岗位任务中调用应被拒绝;授权后用同一资料任务重试并查看工具记录。普通会话与岗位任务的上下文不同,不可只测普通会话就宣称岗位授权链已通过。
新服务的传输、认证和凭据字段以当前 DSH 配置页为准。本指南验证 stdio 路径,不承诺所有远程传输与认证组合都已验证。