集成
MCP 与 Agent Skill
将整库或单一信源挂载到 Codex、Claude Code 等 Agent。更新于 2026-07-22适用于 SAG v1.2.2
SAG 通过 MCP 向 Codex、Claude Code 和其他兼容宿主开放只读知识工具。连接可以覆盖整个知识库,也可以用 source_id 限定到单一信源。
获取连接配置
在 SAG 中打开 设置 -> 集成 -> 知识库 MCP,选择 HTTP 或本地命令并复制完整配置。
推荐使用 Streamable HTTP:
URL: http://<host>/mcp/?source_id=<SOURCE_ID>
Header: Authorization: Bearer <SAG_TOKEN>省略 source_id 时连接可访问当前用户的全部信源。本地源码环境也支持 stdio:
SAG_MCP_SOURCE_ID=<SOURCE_ID> python -m sag_api.mcp.server安装官方 Agent Skill
仓库中的 skills/sag/ 会教 Agent 使用正确的只读探索漏斗。复制到对应技能目录:
# Claude Code
cp -R skills/sag ~/.claude/skills/sag-knowledge
# Codex
cp -R skills/sag ~/.codex/skills/sag-knowledgeSkill 是用法说明,不是连接本身。宿主仍需要配置 MCP Server URL、命令和认证信息。
八个只读工具
| 顺序 | 工具 | 用途 |
|---|---|---|
| 1 | list_sources() | 确认可访问范围、文档数和分块数 |
| 2 | list_documents(source_id?) | 查看文档、状态与分块数 |
| 3 | outline(document_id) | 按 heading 与 rank 浏览文档结构 |
| 4 | search(query, top_k?, source_id?) | 用自然语言语义召回带编号证据 |
| 5 | grep(pattern, limit?, source_id?) | 精确定位编号、函数名与专有名词 |
| 6 | get_chunk(chunk_id, source_id?) | 获取某个证据块的完整原文 |
| 7 | read(document_id, offset?, limit?) | 按行分页读取原始文件 |
| 8 | get_entity(name, source_id?) | 查看实体相关的事件上下文 |
所有工具返回 MCP text content。空结果会返回中文占位说明,不会把“没有资料”作为工具异常抛出。
推荐探索漏斗
list_sources
-> list_documents
-> outline
-> search or grep
-> get_chunk or paged read这个顺序先确定范围,再理解结构,最后只读取必要原文。它比一开始整篇 read 更省上下文,也更容易形成可验证引用。
Search 与 grep 的选择
- 使用
search处理问句、概念和模糊表达,例如“报销的审批链是什么”。 - 使用
grep处理确定字符串,例如INV-2024、函数名或标准编号。 - 被追问出处时,使用结果中的
chunk_id调用get_chunk。 - 大文件从
offset=1开始分页读取,单次limit不超过 500 行。
认证与范围
HTTP 配置通常包含当前 SAG JWT。它等同于对该知识范围的读取权限,不要提交到公开仓库、Issue 或日志。
需要最小权限时,为每个 Agent 使用带 source_id 的 URL。SAG MCP 当前设计为知识读取面,不提供删除、上传或修改工具。
发现内容问题?以当前公开仓库为准。查看 SAG 源码