用途:该技能面向 MongoDB 查询优化与索引设计,仅在用户明确要求优化或性能帮助时调用,例如询问某条查询为何慢、如何加速、集群上的慢查询如何优化。常规查询编写不触发。
主要能力:可获取集合现有索引、对查询执行 explain()、读取样本文档,并调用 Atlas Performance Advisor 获取慢查询日志、建议索引、可删除索引与 schema 建议,据此给出优化方案,优先考虑能完全覆盖查询的索引。
使用方式:通过 MongoDB MCP 服务器调用工具,工具名作为 toolName、参数作为单个 arguments 对象传入。数据库工具包括 collection-indexes(需 database、collection)、explain(需 database、collection、method,method 为含 name 与 arguments 的数组,verbosity 可选 queryPlanner、executionStats 等)、find(需 database、collection、filter,可选 projection、sort、limit)。Atlas 工具包括 atlas-list-projects 与 atlas-get-performance-advisor(需 projectId、clusterName,可选 operations 如 suggestedIndexes、dropIndexSuggestions、slowQueryLogs、schemaSuggestions)。典型流程为先查索引,再以 queryPlanner 检查是否 COLLSCAN,必要时用 executionStats 查看扫描与返回文档数,最后取样本文档推断结构。
适用场景:特定查询的慢查询诊断与索引建议、集群整体性能分析、聚合管道优化、更新类查询的 oplog 效率优化。
限制:通用性能分析需要配置带 API 凭据的 Atlas MCP Server,否则只能针对具体查询给建议;未配置 MongoDB MCP 时仅能依据最佳实践建议;未经用户批准不得直接通过 MCP 创建索引;删除索引建议仅来自 Atlas Performance Advisor 时才提出;集合索引一般不宜超过 20 个;输出应简短、说明理由,避免绝对化表述。