mongodb-mcp-setup
This MongoDB MCP setup skill guides users through configuring authentication for the MongoDB MCP server by helping them choose between three options: direct connection strings, Atlas Admin API credentials for dynamic cluster access, or local Docker-based Atlas testing. Use this skill when users have the MongoDB MCP server installed but lack required environment variables, or when they request MongoDB/Atlas connection setup without existing credentials configured.
git clone --depth 1 https://github.com/fcakyon/claude-codex-settings /tmp/mongodb-mcp-setup && cp -r /tmp/mongodb-mcp-setup/plugins/mongodb-skills/skills/mongodb-mcp-setup ~/.claude/skills/mongodb-mcp-setupSKILL.md
# MongoDB MCP Server Setup This skill guides users through configuring the MongoDB MCP server for use with an agentic client. ## Overview The MongoDB MCP server requires authentication. Users have three options: 1. **Connection String** (Option A): Direct connection to a specific cluster - Quick setup for single cluster - Requires `MDB_MCP_CONNECTION_STRING` environment variable 2. **Service Account Credentials** (Option B): MongoDB Atlas Admin API access - **Recommended for Atlas users** - simplifies authentication and data access - Access to Atlas Admin API and dynamic cluster connection via `atlas-connect-cluster` - No manual DB user credential management - Requires `MDB_MCP_API_CLIENT_ID` and `MDB_MCP_API_CLIENT_SECRET` environment variables 3. **Atlas Local** (Option C): Local development with Docker - **Best for local testing** - zero configuration required - Runs Atlas locally in Docker, requires Docker installed - No credentials or cloud cluster access This is an interactive step-by-step guide. The agent detects the user's environment and provides tailored instructions, but **never asks for or handles credentials** — users add those directly to their shell profile in Step 5. Make this clear to the user whenever credentials come up in Steps 3a and 3b. ## Step 1: Check Existing Configuration Before starting the setup, check if the user already has the required environment variables configured. Run this command to check for existing configuration (masking values to avoid exposing credentials): ```bash env | grep "^MDB_MCP" | sed '/^MDB_MCP_READ_ONLY=/!s/=.*/=[set]/' ``` **Interpretation:** - If `MDB_MCP_CONNECTION_STRING` is set → connection string auth is configured - If both `MDB_MCP_API_CLIENT_ID` and `MDB_MCP_API_CLIENT_SECRET` are set → service account auth is configured. If only one is set, treat it as incomplete. - If `MDB_MCP_READ_ONLY=true` → read-only mode is enabled **Partial Configuration Handling:** - User wants to add read-only to existing setup (has auth, no `MDB_MCP_READ_ONLY`) → skip to Step 4 - User wants to switch authentication methods → explain they should remove the old variables from their shell profile first, then proceed with Steps 2–5 - User wants to update credentials → skip to Step 5 (profile editing instructions) **Important**: If the user wants an Atlas Admin API action (managing clusters, creating users, performance advisor) but only has `MDB_MCP_CONNECTION_STRING`, explain they need service account credentials and offer to walk through setup. ## Step 2: Present Configuration Options If no valid configuration exists, present the options: **Connection String (Option A)** — Best for: - Single cluster access - Existing database credentials - Self-hosted MongoDB or no Atlas Admin API needs **Service Account Credentials (Option B)** — Best for: - MongoDB Atlas users (recommended) - Multi-cluster switching - Atlas Admin API access (cluster management, user creation, performance monitoring) **Atlas Local (Option C)** — Best for: - Local development/testing without cloud setup - Fastest setup with Docker, no credentials required Ask the user which option they'd like to proceed with. ## Step 3a: Connection String Setup If the user chooses Option A: ### 3a.1: Explain How to Find the Connection String Explain where and how to obtain their connection string: **For MongoDB Atlas:** 1. Go to [cloud.mongodb.com](https://cloud.mongodb.com) 2. Select your cluster → click **Connect** 3. Choose **Drivers** or **Shell** → copy the connection string 4. Replace `<username>` and `<password>` with your database user credentials **For self-hosted MongoDB:** - The connection string is typically configured by your DBA or in your application config - Format: `mongodb://username:password@host:port/database` **Expected formats:** - `mongodb://username:password@host:port/database` - `mongodb+srv://username:password@cluster.mongodb.net/database` - `mongodb://host:port` (local, no auth) Proceed to Step 4 (Determine Read-Only Access). ## Step 3b: Service Account Setup If the user chooses Option B: ### 3b.1: Guide Through Atlas Service Account Creation Direct the user to create a MongoDB Atlas Service Account: **Full documentation**: https://www.mongodb.com/docs/mcp-server/prerequisites/ Walk them through the key steps: 1. **Navigate to MongoDB Atlas** — [cloud.mongodb.com](https://cloud.mongodb.com) 2. **Go to Access Manager** → **Service Accounts** → **Create Service Account** 3. **Set Permissions** — Grant Organization Member or Project Owner (see docs for exact permission mappings) 4. **Generate Credentials** — Create Client ID and Secret - ⚠️ The **Client Secret is shown only once** — save it immediately before leaving the page 5. **Note both values** — you'll need Client ID and Client Secret for Step 5 ### 3b.2: API Access List Configuration ⚠️ **CRITICAL**: The user MUST add their IP address to the service account's API Access List, or all Atlas Admin API operations will fail. Steps: 1. On the service account details page, find **API Access List** 2. Click **Add Access List Entry** 3. Add your current IP address. Use a specific IP or CIDR range whenever possible. - ⚠️ **`0.0.0.0/0` allows access from any IP — this is a significant security risk.** Only use it as a last resort for temporary testing and remove it immediately afterward. It should never be used in production. 4. Save changes This is more secure than global Network Access settings as it only affects API access, not database connections. Proceed to Step 4 (Determine Read-Only Access). ## Step 3c: Atlas Local Setup If the user chooses Option C: ### 3c.1: Check Docker Installation Verify Docker is installed: ```bash docker info ``` If not installed, direct them to: https://www.docker.com/get-started ### 3c.2: Confirm Setup Complete Atlas Local requires no credentials — the user is ready to go: - Create deployments: `atlas-local-cr
Agent-browser usage guide. Read this before running any agent-browser commands. Covers the snapshot-and-ref workflow, navigating pages, interacting with elements (click, fill, type, select), extracting text and data, taking screenshots, managing tabs, handling forms and auth, waiting for content, running multiple browser sessions in parallel, and troubleshooting common failures. Use when the user asks to interact with a website, fill a form, click something, extract data, take a screenshot, log into a site, test a web app, or automate any browser task.
Automate Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify, etc.) using agent-browser via Chrome DevTools Protocol. Use when the user needs to interact with an Electron app, automate a desktop app, connect to a running app, control a native app, or test an Electron application. Triggers include "automate Slack app", "control VS Code", "interact with Discord app", "test this Electron app", "connect to desktop app", or any task requiring automation of a native Electron application.
Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.
Use when tasks involve reading, creating, or reviewing PDF files where rendering and layout matter; prefer visual checks by rendering pages (Poppler) and use Python tools such as `reportlab`, `pdfplumber`, and `pypdf` for generation and extraction.
Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates, layouts, speaker notes, or comments. Trigger whenever the user mentions \"deck,\" \"slides,\" \"presentation,\" or references a .pptx filename, regardless of what they plan to do with the content afterward. If a .pptx file needs to be opened, created, or touched, use this skill.
Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like \"the xlsx in my downloads\") — and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk data) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved.
This skill should be used when user asks to "query Azure resources", "list storage accounts", "manage Key Vault secrets", "work with Cosmos DB", "check AKS clusters", "use Azure MCP", or interact with any Azure service.
This skill should be used when user encounters "Tavily MCP error", "Tavily API key invalid", "web search not working", "Tavily failed", or needs help configuring Tavily integration.