Skip to content

MongoDB

The MongoDB MCP Server connects your ADK agent to MongoDB databases and MongoDB Atlas clusters. This integration gives your agent the ability to query collections, manage databases, and interact with MongoDB Atlas infrastructure using natural language.

Use cases

  • Data Exploration and Analysis: Query MongoDB collections using natural language, run aggregations, and analyze document schemas without writing complex queries manually.

  • Database Administration: List databases and collections, create indexes, manage users, and monitor database statistics through conversational commands.

  • Atlas Infrastructure Management: Create and manage MongoDB Atlas clusters, configure access lists, and view performance recommendations directly from your agent.

Prerequisites

  • For database access: A MongoDB connection string (local, self-hosted, or Atlas cluster)
  • For Atlas management: A MongoDB Atlas service account with API credentials (client ID and secret)

Use with agent

from google.adk.agents import Agent
from google.adk.tools.mcp_tool import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StdioConnectionParams
from mcp import StdioServerParameters

# For database access, use a connection string:
CONNECTION_STRING = "mongodb://localhost:27017/myDatabase"

# For Atlas management, use API credentials:
# ATLAS_CLIENT_ID = "YOUR_ATLAS_CLIENT_ID"
# ATLAS_CLIENT_SECRET = "YOUR_ATLAS_CLIENT_SECRET"

root_agent = Agent(
    model="gemini-2.5-pro",
    name="mongodb_agent",
    instruction="Help users query and manage MongoDB databases",
    tools=[
        McpToolset(
            connection_params=StdioConnectionParams(
                server_params=StdioServerParameters(
                    command="npx",
                    args=[
                        "-y",
                        "mongodb-mcp-server",
                        "--readOnly",  # Remove for write operations
                    ],
                    env={
                        # For database access, use:
                        "MDB_MCP_CONNECTION_STRING": CONNECTION_STRING,
                        # For Atlas management, use:
                        # "MDB_MCP_API_CLIENT_ID": ATLAS_CLIENT_ID,
                        # "MDB_MCP_API_CLIENT_SECRET": ATLAS_CLIENT_SECRET,
                    },
                ),
                timeout=30,
            ),
        )
    ],
)

Available tools

MongoDB database tools

Tool Description
find Run a find query against a MongoDB collection
aggregate Run an aggregation against a MongoDB collection
count Get the number of documents in a collection
list-databases List all databases for a MongoDB connection
list-collections List all collections for a given database
collection-schema Describe the schema for a collection
collection-indexes Describe the indexes for a collection
insert-many Insert documents into a collection
update-many Update documents matching a filter
delete-many Remove documents matching a filter
create-collection Create a new collection
drop-collection Remove a collection from the database
drop-database Remove a database
create-index Create an index for a collection
drop-index Drop an index from a collection
rename-collection Rename a collection
db-stats Get statistics for a database
explain Get query execution statistics
export Export query results in EJSON format

MongoDB Atlas tools

Note

Atlas tools require API credentials. Set MDB_MCP_API_CLIENT_ID and MDB_MCP_API_CLIENT_SECRET environment variables to enable them.

Tool Description
atlas-list-orgs List MongoDB Atlas organizations
atlas-list-projects List MongoDB Atlas projects
atlas-list-clusters List MongoDB Atlas clusters
atlas-inspect-cluster Inspect metadata of a cluster
atlas-list-db-users List database users
atlas-create-free-cluster Create a free Atlas cluster
atlas-create-project Create an Atlas project
atlas-create-db-user Create a database user
atlas-create-access-list Configure IP access list
atlas-inspect-access-list View IP access list entries
atlas-list-alerts List Atlas alerts
atlas-get-performance-advisor Get performance recommendations

Configuration

Environment variables

Variable Description
MDB_MCP_CONNECTION_STRING MongoDB connection string for database access
MDB_MCP_API_CLIENT_ID Atlas API client ID for Atlas tools
MDB_MCP_API_CLIENT_SECRET Atlas API client secret for Atlas tools
MDB_MCP_READ_ONLY Enable read-only mode (true or false)
MDB_MCP_DISABLED_TOOLS Comma-separated list of tools to disable
MDB_MCP_LOG_PATH Directory for log files

Read-only mode

The --readOnly flag restricts the server to read, connect, and metadata operations only. This prevents any create, update, or delete operations, making it safe for data exploration without risk of accidental modifications.

Disabling tools

You can disable specific tools or categories using MDB_MCP_DISABLED_TOOLS:

  • Tool names: find, aggregate, insert-many, etc.
  • Categories: atlas (all Atlas tools), mongodb (all database tools)
  • Operation types: create, update, delete, read, metadata

Additional resources