让 Agent 接上 YApi、Yuque、数据库、Redis 和日志:我的 MCP 资源绑定设计

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 配置经验。

觉得有用请点赞收藏。

相关推荐
pikapika~~~1 小时前
Mysql+Redis八股
数据库·redis·mysql
ShineWinsu1 小时前
对于Qt:QLCDNumber常见属性以及QTimer的解析
服务器·数据库·c++·qt·gui·qtimer·qlcdnumber
IT规划师6 小时前
Redis 数据类型全解 - Hash 还是 String + JSON?一文终结存储选型之争(三)
redis·.net core·哈希表·.net10
captain3769 小时前
MyBatis(入门5)其他查询操作
java·数据库·spring boot·mybatis
夕除10 小时前
Redis 过期策略
redis·笔记·面试
小此方10 小时前
Re:Mysql数据库基础篇(八):详细讲解复合查询、多表查询、自连接、多行、多列子查询与合并查询
数据库·mysql
xszivvvv10 小时前
Mariadb数据库frm文件异常,如何恢复数据
数据库·mariadb
smile_life_11 小时前
MySQL 设置 防止账户被暴力破解
数据库·mysql