让 Agent 查询数据库:MongoDB 与 Redis MCP 入门
从测试数据和只读账号开始,区分工具连接、数据库权限与模型看到的数据,避免把连接成功当作接入完成。
先看任务,再看工具
小屏幕可左右滑动,查看完整对照表。
| 项目 | 适合先验证的任务 | 接入重点 |
|---|---|---|
| MongoDB MCP Server | 查看测试集合结构、有限条数查询 | 只读模式与只读账号、连接串、Atlas 认证 |
| Redis MCP Server | 读取指定前缀的测试键与缓存值 | ACL 键范围、允许命令、TLS 与实例功能 |
| MCP Inspector | 检查连接、工具列表与参数 | 不能替代数据库授权或业务验收 |
先定义允许回答的问题
先选一个边界清楚的任务,例如解释测试集合中的字段,或查看某个测试键的值。准备一组不含真实用户信息的数据,限定数据库、集合或键前缀、返回条数与执行时间。
数据库 MCP 提供的工具可能同时包含查询、写入、删除或云资源管理。只需要查询时,就不应把管理员账号交给 Agent。提示词中的“不要写入”无法替代服务配置和数据库权限。
MongoDB:把只读模式和账号权限配合起来
MongoDB 官方示例默认带 --readOnly。本地服务可以连接自建实例或 Atlas;首次验证同时使用只读账号,并把连接串放入客户端安全配置或环境变量。不要把真实凭据复制进对话、代码仓库或公开示例。
Atlas 远程服务与本地服务的认证入口不同。当前 README 推荐 Atlas 用户通过官方插件进行 OAuth 连接;不能把本地连接串配置直接当成远程 HTTP 的认证方法。先确认实际使用的是哪条接入路径。
Redis:在 ACL 中约束命令与键范围
Redis MCP 暴露多种数据结构操作,并非只读查询服务。给测试账号限制命令类别及允许访问的键范围,再用确定存在的测试键验证读取。当前上游 README 说明以 stdio 连接 MCP 客户端。
JSON、搜索与向量索引等能力依赖目标实例实际支持的功能。工具出现在列表里,不代表每个 Redis 部署都能执行。连接远程实例时核对 TLS 与证书校验,遇到错误先检查配置和服务能力。
分三层验证连接与结果
第一层看 MCP 握手和工具列表;第二层看数据库实际执行权限;第三层看答案是否正确使用返回数据。用 Inspector 或客户端日志定位第一层,再在隔离测试环境检查越权操作是否被数据库拒绝。
最后让 Agent 回答一个已知结果的问题,检查筛选条件、返回数量和解释是否一致。大集合查询要控制资源开销;即使只读,返回值仍可能进入模型上下文或日志,应先确认允许传递的数据范围。
扩大范围之前留下可重复的接入记录
记录客户端、服务版本、传输方式、认证方式、授权范围和验证样例。把失败分为连接失败、权限不足、功能不支持与答案错误,避免不断增加权限来处理所有报错。
数据库资源、托管平台和模型分别产生费用。先在小范围记录查询耗时与返回规模;以后需要写入时,再独立定义允许动作、确认方式与回退流程。
开始前检查
- 从脱敏测试数据和只读账号开始
- 权限限制落实到数据库和服务配置
- 连接、权限、返回数据与答案分别验收
- 记录版本、费用来源和可重复验证样例
参考来源
根据下列项目 README 与资料整理。选型和验收步骤为本站编辑建议,未宣称对工具进行基准测试。项目可能更新,实际使用前请核对官方说明。
- 项目原始资料
https://github.com/mongodb-js/mongodb-mcp-server/blob/324ee0f30b5bf6090f80c959804b3fc1463ef3da/README.md - 项目原始资料
https://github.com/redis/mcp-redis/blob/f6182f5c7273a7654103dde66b2234097074f79c/README.md - 项目原始资料
https://github.com/modelcontextprotocol/inspector/blob/074b8108f340590268f2900741403755e923a11c/README.md - 项目原始资料
https://github.com/PrefectHQ/fastmcp/blob/7e107c9cfb7a3cf56d74fcfa936e59b4c3b7cf01/README.md