mongodb/agent-skillsApache-2.01 file

Mongodb MCP Setup

Guide users through configuring key MongoDB MCP server options. Use this skill when a user has the MongoDB MCP server installed but hasn't configured the required environment variables, or when they ask about connecting to MongoDB/Atlas and don't have the credentials set up.

Specification
Skill ID
mongodb/agent-skills/mongodb-mcp-setup
Publisher
mongodb
Repository
agent-skills
Installs
0
Files
1
License
Apache-2.0
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

mongodb/agent-skills/mongodb-mcp-setupInstalls these files
  • SKILL.md

What this skill tells the agent

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
  1. 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
  1. 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 or agentic client config in Step 5. Make this clear to the user whenever credentials come up in Steps 3a and 3b.

Step 0: Detect Client

Before anything else, determine which agentic client the user is running. This controls how credentials are configured in Step 1 and Step 5.

Run:

env | grep "^CODEX_"
  • *If no `CODEX_` variables are present → the user is running a shell-based client** (Claude, Cursor, Gemini CLI, Copilot CLI, etc.). Credentials are configured via shell profile environment variables.
  • *If any `CODEX_ variables are present** → the user is running **Codex**. Credentials are stored in ~/.codex/config.toml (macOS/Linux) or %USERPROFILE%\.codex\config.toml` (Windows), not in shell environment variables. The desktop app does not inherit shell env vars when launched from Finder, Launchpad, or the Windows Start menu.

Carry this client type (Codex vs. shell-based) forward through every subsequent step.

Step 1: Check Existing Configuration

Check whether credentials are already configured.

For shell-based clients — check the current environment:

env | grep "^MDB_MCP" | sed '/^MDB_MCP_READ_ONLY=/!s/=.*/=[set]/'

For Codex — search ~/.codex/config.toml (macOS/Linux) or %USERPROFILE%\.codex\config.toml (Windows):

grep -E 'MDB_MCP_(CONNECTION_STRING|API_CLIENT_ID|API_CLIENT_SECRET|READ_ONLY)' ~/.codex/config.toml 2>/dev/null | sed '/MDB_MCP_READ_ONLY/!s/[[:space:]]*=[[:space:]].*/ = "[set]"/'

Interpretation (both):

  • If MDB_MCP_CONNECTION_STRING appears → connection string auth is configured
  • If both MDB_MCP_API_CLIENT_ID and MDB_MCP_API_CLIENT_SECRET appear → service account auth is configured. If only one is present, treat it as incomplete.
  • If MDB_MCP_READ_ONLY appears → read-only mode is enabled

Partial Configuration Handling:

  • User wants to add read-only to existing setup (has auth, no read-only flag) → skip to Step 4
  • User wants to switch authentication methods → explain they should remove the old credentials first (from config.toml for Codex, from their shell profile for shell-based clients), then proceed with Steps 2–5
  • User wants to update credentials → skip to Step 5

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
  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
  2. Select your organization from the ORGANIZATION section near the top of the page
  3. Go to "Project Identity and Access" on the left sidebar → Applications → Create Service Account
  4. Set Permissions — Grant Organization Member or Project Owner (see docs for exact permission mappings)
  5. Generate Credentials — Create Client ID and Secret
  • ⚠️ The Client Secret is shown only once — save it immediately before leaving the page
  1. 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.
  1. 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:

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-create-deployment
  • List deployments: atlas-local-list-deployments
  • All operations work out of the box with Docker

Skip Steps 4 and 5 (no configuration needed) and proceed to Step 6 (Next Steps).

Step 4: Determine Read-Only vs Read-Write Access

Only applies to Options A and B. Skip to Step 6 for Option C.

Ask whether they want read-only or read-write access:

  • Read-Write (default): Full data access, modifications allowed
  • Best for: Development, testing, administrative tasks
  • Read-Only: Data reads only, no modifications
  • Best for: Production data safety, reporting, compliance

If read-only: include the read-only flag in the credential snippet in Step 5. If read-write: omit it (defaults to read-write).

More from mongodb

Use this skill in a project

Open any RiverX project, search the Skills panel for mongodb/agent-skills/mongodb-mcp-setup, and install it in one click.

Use this skill