mongodb-atlas-stream-p…
Manages MongoDB Atlas Stream Processing (ASP) workflows. Handles workspace provisioning, data source/sink connections, processor…
Help with MongoDB query optimization and indexing. Use only when the user asks for optimization or performance: "How do I optimize this query?", "How do I index this?", "Why is this query slow?", "Can you fix my slow queries?", "What are the slow queries on my cluster?", etc. Do
Claude Code
$ npx -y skills add mongodb/agent-skills --skill mongodb-query-optimizer --agent claude-code
Codex
$ npx skills add mongodb/agent-skills --skill mongodb-query-optimizer -a codex -y
Cursor
$ npx skills add mongodb/agent-skills --skill mongodb-query-optimizer -a cursor -y
Gemini CLI
$ npx skills add mongodb/agent-skills --skill mongodb-query-optimizer -a gemini-cli -y
GitHub Copilot
$ npx skills add mongodb/agent-skills --skill mongodb-query-optimizer -a github-copilot -y
OpenCode
$ npx skills add mongodb/agent-skills --skill mongodb-query-optimizer -a opencode -y
Windsurf
$ npx skills add mongodb/agent-skills --skill mongodb-query-optimizer -a windsurf -y
name: mongodb-query-optimizer description: >- Help with MongoDB query optimization and indexing. Use only when the user asks for optimization or performance: "How do I optimize this query?", "How do I index this?", "Why is this query slow?", "Can you fix my slow queries?", "What are the slow queries on my cluster?", etc. Do not invoke for general MongoDB query writing unless user asks for performance or index help. Prefer indexing as optimization strategy. Use MongoDB MCP when available. compatibility: >- Best with MongoDB MCP server. Uses collection-indexes and explain when the connection string works; uses Atlas Performance Advisor when Atlas API is configured. Without either, suggest indexes from query shape only. User creates indexes in Atlas or migrations unless tooling allows otherwise. license: Apache-2.0 metadata: version: "1.0.0"
Invoke **only** when the user wants:
Do **not** invoke for routine query authoring unless the user has requested help with optimization, slow queries, or indexing.
If the user wants to examine slow queries, or is looking for general performance suggestions (not regarding any particular query):
If Atlas MCP Server for Atlas is not configured or you don’t have enough information to run **atlas-get-performance-advisor** against the correct cluster, tell the user that general performance analysis requires Atlas MCP Server configuration with API credentials, and suggest they configure it or ask about a specific query instead.
If the user is asking about a particular query:
Then make an optimization suggestion based on collected information and MongoDB best practices and examples from reference files. Prefer creating an index that fully covers the query if possible. If you cannot use MongoDB MCP Server then still try to make a suggestion.
**How to invoke.** Call the **MongoDB MCP server** with the **exact tool name** as `toolName` and a single **arguments object** as `arguments`. Do not pass the tool name as an option, query param, or nested key; pass it as the MCP tool name and the parameters as the arguments object. Full MCP Server tool reference: [MongoDB MCP Server Tools](https://www.mongodb.com/docs/mcp-server/tools/).
**Database tools** (when the MCP cluster connection works):
| Tool name (exact) | Arguments object | | :---- | :---- | | `collection-indexes` | `{ "database": "<db>", "collection": "<coll>" }` — both required strings. | | `explain` | `{ "database": "<db>", "collection": "<coll>", "method": [ { "name": "find", "arguments": { "filter": {...}, "sort": {...}, "limit": N } } ], "verbosity": "executionStats" }`. `method` is an array of one object: `name` is `"find"`, `"aggregate"`, or `"count"`; `arguments` holds that method's params (e.g. find: `filter`, `sort`, `limit`; aggregate: `pipeline`; count: `query`). Optional `verbosity`: `"queryPlanner"` (default), `"executionStats"`, `"queryPlannerExtended"`, `"allPlansExecution"`. | | `find` | `{ "database": "<db>", "collection": "<coll>", "filter": {...}, "projection": {...}, "sort": {...}, "limit": N }` — `database`, `collection`, and `filter` are required. Optional: `projection`, `sort`, `limit`. |
**Atlas tools** (when Atlas API credentials are configured):
| Tool name (exact) | Arguments object | | :---- | :---- | | `atlas-list-projects` | `{}` or `{ "orgId": "<24-char hex>" }`. Returns projects with their IDs; use to get `projectId` for Performance Advisor. | | `atlas-get-performance-advisor` | **Required:** `"projectId"` (24-character hex string), `"clusterName"` (string, 1–64 chars, alphanumeric/underscore/dash). **Optional:** `"operations"` — array of strings from `"suggestedIndexes"`, `"dropIndexSuggestions"`, `"slowQueryLogs"`, `"schemaSuggestions"` (request only what you need); for slowQueryLogs only: `"since"` (ISO 8601 date-time), `"namespaces"` (array of `"db.coll"` strings). |
For a user question, try to fetch information from both the connection string and Atlas API related to the query you are optimizing.
Typical flow: call `collection-indexes` → `explain` → `find` (sample doc).
If you need a project ID, call `atlas-list-projects` first. Then call `atlas-get-performance-advisor` with only the `operations` you need:
| Operation value | Use when | | :---- | :---- | | `slowQueryLogs` | Fetching slow queries—**prioritize by slowest and most frequent**. Optional: `namespaces` to scope to a collection; `since` for a time window. | | `suggestedIndexes` | Fetching cluster index recommendations | | `dropIndexSuggestions` | User asks what to remove or reduce index overhead | | `schemaSuggestions` | User asks for schema/query-structure advice alongside indexes |
Do not pass the MCP tool name as an `operations`
Collection of official MongoDB agent skills for use in agentic workflows. For more information, refer to the MongoDB Agent Skills documentation.
Manages MongoDB Atlas Stream Processing (ASP) workflows. Handles workspace provisioning, data source/sink connections, processor…
Optimize MongoDB client connection configuration (pools, timeouts, patterns) for any supported driver language. Use this skill…
Generate read-only MongoDB queries (find) or aggregation pipelines using natural language, with collection schema context and…
Estimates the storage and memory impact of encrypting fields in collections with Queryable Encryption (QE) enabled. Do NOT use…
MongoDB schema design patterns and anti-patterns. Use when designing data models, reviewing schemas, migrating from SQL, or…
Covers everything about search in MongoDB: Atlas Search (full-text), Vector Search (semantic), and Hybrid Search. Use this skill…
Behavioral guidelines to reduce common LLM coding mistakes. Use when writing, reviewing, or refactoring code to avoid…
Design and build AI agents for any domain. Use when users: (1) ask to "create an agent", "build an assistant", or "design an AI…