mongo-mcp
Provides tools to list databases and collections, and perform CRUD operations (find, insert, update, delete) on MongoDB documents.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mongo-mcpfind all users in the users collection"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mongo-mcp
A Model Context Protocol (MCP) server for MongoDB operations, using stdio for communication.
This server exposes tools to perform Create, Read, Update, and Delete (CRUD) operations on a MongoDB server, as well as tools for listing databases and collections. It is designed to be run with the MongoDB connection URL provided as a command-line argument or environment variable.
Prerequisites
Node.js (v20 or later recommended, as used in Dockerfile)
npm
A running MongoDB instance
Docker (for containerized deployment)
Related MCP server: MCP MongoDB
Setup and Running Locally
Clone the repository (if applicable) and navigate to the
mongo-mcpdirectory.Install Dependencies:
npm installBuild the TypeScript Code:
npm run buildRun the Server: Provide the MongoDB connection URL as the first argument after
node dist/index.js:node dist/index.js "your_mongodb_connection_string"Example:
node dist/index.js "mongodb://localhost:27017/mydatabase"Alternatively, you can set the
MONGO_URLenvironment variable, which the server will use if no command-line argument is provided:export MONGO_URL="mongodb://localhost:27017/mydatabase" node dist/index.js
Running with Docker
Build the Docker Image: From the
mongo-mcpdirectory:docker build -t mongo-mcp-server .Run the Docker Container: Provide the MongoDB connection URL as a command-line argument to the container after the image name. If your MongoDB is running on the host machine (e.g.,
localhost), usehost.docker.internal(on Docker Desktop for Mac/Windows) or your host's network IP address for the MongoDB host in the connection string.docker run -i --rm mongo-mcp-server "your_mongodb_connection_string"Example (connecting to MongoDB on host from Docker Desktop):
docker run -i --rm mongo-mcp-server "mongodb://host.docker.internal:27017/mydatabase"Example (connecting to a remote MongoDB):
docker run -i --rm mongo-mcp-server "mongodb://user:password@remote_mongo_host:27017/mydatabase"The
-iflag is crucial for stdio communication.
MCP Configuration (e.g., for .cursor/mcp.json)
To use this server with an MCP client like Cursor, you can add a configuration to your mcp.json file (typically located in .cursor/mcp.json in your workspace). Below are examples for running the server locally and via Docker.
General Structure for .cursor/mcp.json:
{
"mcpServers": {
// ... other server configurations ...
"my_mongodb_server_local": {
"command": "node",
"args": [
"/full/path/to/your/mongo-mcp/dist/index.js", // <-- IMPORTANT: Update this path
"mongodb://localhost:27017/your_default_database" // <-- Update MongoDB URL
],
"transport": "stdio",
"notes": "MongoDB server running locally via node."
},
"my_mongodb_server_docker": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"mongo-mcp-server", // Assumes image is built with this tag
"mongodb://host.docker.internal:27017/your_default_database" // <-- Update MongoDB URL
],
"transport": "stdio",
"notes": "MongoDB server running via Docker. Adjust DB URL for non-Docker Desktop or remote DBs."
}
// ... possibly more server configurations ...
}
}Instructions for adding to your mcp.json:
Choose a name for your server configuration (e.g.,
my_mongodb_server_localormongo_dev).Decide on the execution method (local
nodeordocker).Copy the relevant example into the
mcpServersobject in your.cursor/mcp.json.Update placeholders:
For local execution, change
/full/path/to/your/mongo-mcp/dist/index.jsto the correct absolute path on your system.For both, update the MongoDB connection string (
"mongodb://...") to point to your desired MongoDB instance and database.
Available Tools
The server exposes the following tools (tool names are exact):
list_databases: Lists all databases in the MongoDB instance.Input: (No parameters)
list_collections: Lists all collections in a specified database.Input:
{ "databaseName": "string" }
find_documents: Finds documents in a collection.Input:
{ "databaseName": "string", "collectionName": "string", "query": { ... } (optional), "projection": { ... } (optional), "limit": number (optional), "skip": number (optional), "sort": { ... } (optional) }
insert_document: Inserts a single document into a collection.Input:
{ "databaseName": "string", "collectionName": "string", "document": { ... } }
update_document: Updates a single document matching the filter.Input:
{ "databaseName": "string", "collectionName": "string", "filter": { ... }, "update": { ... } }
delete_document: Deletes a single document matching the filter.Input:
{ "databaseName": "string", "collectionName": "string", "filter": { ... } }
Development
Run in development mode (uses
tsxfor live reloading TypeScript execution):npm run dev -- "your_mongodb_connection_string"(The
--ensures arguments are passed to thetsxscript. If no MongoDB URL is provided as an argument, it will look for theMONGO_URLenvironment variable.)
Publishing (Hypothetical NPX Command)
If this package were published to npm (e.g., as mongodb-mcp, based on package.json), an npx command might look like this in an MCP configuration:
{
"mcpServers": {
"mongo_published_npm": {
"command": "npx",
"args": [
"-y", // Or --yes, to auto-confirm npx execution if needed
"mongodb-mcp", // Package name from npm
"mongodb://localhost:27017/mydatabase" // Argument for the MongoDB URL
],
"transport": "stdio"
}
}
}This server is not currently configured for publishing, but this illustrates a potential pattern if it were.
This server cannot be deployed
Maintenance
Related MCP Connectors
List, read, edit, and deploy your GenMB AI-generated apps from any MCP client.
Build multi-tenant apps over MCP. Schemas, CRUD, deploys — access control enforced server-side.
MCP server for Product Management
The official MCP Server from Mia-Platform to interact with Mia-Platform Console
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAllows interaction with MongoDB collections and documents through standardized MCP requests, supporting operations like listing collections, reading documents with filtering, and executing structured queries.-
- AlicenseNot gradedqualityDmaintenanceEnables interaction with MongoDB databases through MCP, supporting database queries, resource reading, and multi-collection operations including aggregation pipelines and lookups.10,414,937Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables interaction with MongoDB databases through MCP protocol. Provides containerized deployment with Docker support for database operations and management.71,399Apache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to query and introspect MongoDB databases through find, aggregate, and schema discovery operations. Supports read-only default mode with optional write capabilities and works with any MCP-compatible client via stdio or HTTP transports.-