Agent 不能只会读文件,还要能安全地连接真实的研发资源:接口文档、知识库、数据库、缓存、日志。
但连接外部资源必须解决两个问题:① 怎么知道用户需要哪个资源?② 怎么保证安全?
一、触发词检测
当用户的提示词中出现以下关键词时,Agent 在执行实际操作前先激活 Resource Binding:
| 资源类型 | 触发关键词 |
|---|---|
| YApi | yapi、接口文档、接口同步、API 文档、YApi URL |
| 语雀 | 语雀、yuque、设计文档、文档同步、语雀 URL |
| 数据库 | 数据库、database、DB、SQL、数据表、表结构 |
| Redis | redis、缓存、cache、缓存逻辑 |
| 日志 | SLS、日志、traceId、排查 |
| 综合 | 对接、联调、数据流转、全链路 |
二、配置优先级
用户当前输入 (最高)
↓
全局配置 ~/.sdd-agent/resource-config.json
↓
项目配置 yapi-projects.json / yuque-config.json
↓
环境变量 (最低)
三、配置文件结构
{
"yapi": {
"baseUrl": "https://yapi.example.com",
"projects": []
},
"yuque": {
"baseUrl": "https://www.yuque.com",
"repos": []
},
"database": {
"defaultSource": "uat",
"sources": []
},
"redis": {
"defaultSource": "uat",
"sources": []
}
}
**⚠️ 安全规则:**resource-config.json 不进仓库,包含秘钥和连接信息。仓库中只保留 resource-config.json.example 模板。
四、安全边界
| 资源 | 安全策略 |
|---|---|
| 秘钥/Token | 不进仓库,通过全局配置或环境变量管理 |
| 生产数据库 | 默认禁写,只允许 SELECT 语句 |
| Redis | UAT 环境默认,生产环境需显式确认 |
| 日志查询 | 结果自动脱敏手机号、身份证号 |
| AI 工具配置 | .claude/ .codex/ .cursor/ .mcp.json 等必须加入 .gitignore |
五、.gitignore 配置
# AI model tool local configs (do not commit)
.claude/
.claude.json
.codex/
.cursor/
.cursorignore
.mcp.json
resource-config.json
六、实际使用场景
| 场景 | Agent 动作 |
|---|---|
| 用户提到 YApi 链接 | 解析 projectId + apiId → 调用 MCP 获取接口定义 → 填充到 design.md |
| 用户提到语雀文档 | 解析 namespace + slug → 读取文档内容 → 作为历史设计参考 |
| 用户要验证 SQL | 使用默认 UAT 数据源 → 执行 SELECT → 返回表结构和数据 |
| 用户要检查 Redis | 连接 UAT Redis → 查看 key 类型/TTL/内存 → 输出分析 |
| 用户给 traceId 排查 | 调用 SLS 查询日志 → 提取调用链路 → 分析耗时和异常 |
七、流程图
用户提示词
↓
资源关键词检测
↓
MCP 服务可用性检查
↓
┌────────────────────────────────────────┐
│ 有配置 → 加载配置 → 继续执行 │
│ 无配置 → 提示用户提供或自动读取 │
│ → 保存到全局配置 │
└────────────────────────────────────────┘
↓
执行下游任务(查 DB / 调 YApi / 读 Yuque...)
八、总结
MCP 资源绑定让 Agent 从"只能看文件"变成"能连接真实研发环境"。关键设计是:触发词检测自动激活、配置优先级清晰、安全边界严格(秘钥不入仓库、生产只读、日志脱敏)。
📌 下一篇预告: 让 Agent 记住项目经验------RESOURCE_INDEX、别名标签和知识沉淀闭环
你的 Agent 能直接查数据库和日志吗?评论区聊聊你的 MCP 配置经验。
觉得有用请点赞收藏。