用途:将用户的自然语言描述转换为只读的 MongoDB 查询(find)或聚合管道,适合需要快速生成可读查询、又不想手写语法的场景。
主要能力:先通过 MCP 工具获取上下文,依次调用 mcp__mongodb__collection-indexes、mcp__mongodb__collection-schema(sampleSize: 50)和 mcp__mongodb__find(limit: 4)获取索引、扁平化 schema 与样本文档;据此校验字段名、判断查询类型并检查索引覆盖。优先使用 find,仅在需要分组聚合、多阶段转换、$lookup 连接或数组展开时使用聚合管道。
使用方式:提供数据库名、集合名与自然语言查询;未提供时可用 mcp__mongodb__list-databases 和 mcp__mongodb__list-collections 获取。输出按用户指定语言或驱动语法,未指定时使用 MongoDB shell 语法。find 结果以 filter、projection、sort、limit 字段返回,聚合以 pipeline 返回。
限制与注意:仅生成只读查询;不使用 $where,不在无文本索引时使用 $text,慎用 $expr;避免冗余操作符,投影只保留必要字段并在不需要时加 _id: 0;数组非空判断推荐 "arrayField.0": {$exists: true};地理坐标须经度在前。若无法生成,会说明原因、请求澄清或给出替代方案。样本文档数量按 schema 宽度调整以控制上下文。