MongoDB MCP Server
An MCP server providing tools and prompts for interacting with a MongoDB database.
MongoDB MCP Server
A robust Model Context Protocol (MCP) server that provides tools and prompts for interacting with a MongoDB database. Built with Node.js and MongoDB, featuring graceful shutdown handling and comprehensive error management.
Features
- MongoDB integration using Mongoose
- User management tools:
create-user: Create a new userget-user: Retrieve user by emaillist-users: List all users with pagination
- Interactive prompts for guided operations
- Graceful shutdown handling
- Comprehensive error management
- Clean single-file implementation
Prerequisites
- Node.js (Latest LTS version)
- MongoDB (v8.0 or higher)
- Claude for Desktop (latest version)
- Visual Studio Code with Cursor extension (for development)
Development Setup
-
Install MongoDB:
# Using Homebrew on macOS brew tap mongodb/brew brew install mongodb-community # Start MongoDB service brew services start mongodb-community -
Install Cursor in VS Code:
- Open VS Code
- Go to Extensions (Ctrl+Shift+X)
- Search for "Cursor"
- Click Install
-
Clone and Setup:
git clone <repository-url> cd learn-mcp-mongo npm install -
Configure Environment:
cp .env.example .env # Edit .env with your MongoDB URI if different from default
Quick Start
-
Clone or download this repository
-
Install dependencies:
npm install -
Configure MongoDB:
- Make sure MongoDB is running locally (default: mongodb://localhost:27017)
- Or update the
.envfile with your MongoDB connection string:MONGODB_URI=your_mongodb_connection_string
-
Configure Claude for Desktop:
- Open or create
~/Library/Application Support/Claude/claude_desktop_config.json - Add the following configuration:
{ "mcpServers": { "mcp-mongo": { "command": "node", "args": ["/absolute/path/to/server.js"] } } }
- Open or create
-
Start Claude for Desktop
- The MCP server will start automatically
- Look for the "Search and tools" icon to access the tools
Using Cursor with MCP Server
-
Install Cursor (AI Code Editor):
- Download from https://www.cursor.so/
- Install and open Cursor on your machine
-
Add MCP Server to Cursor:
- Open Cursor
- Go to
Settings>Integrations>MCP Servers - Click
Add MCP Server - Fill in:
- Name: mcp-mongo
- Command: node
- Arguments: /absolute/path/to/server.js
- Working Directory: /absolute/path/to/learn-mcp-mongo
- Save and enable the integration
-
Use Cursor's AI Features:
- Open your project folder in Cursor
- Use
/helpin the command palette for available AI commands - Use
/edit,/fix,/doc, and other AI features to interact with your code and MCP tools - You can now test, debug, and develop your MCP server directly in Cursor with AI assistance
Usage Examples
Creating a User
Create a new user with:
- name: "John Doe"
- email: "[email protected]"
- age: 30
Finding a User
Get user information for email: [email protected]
Project Structure
learn-mcp-mongo/
├── server.js # Main server file with all functionality
├── .env # Environment variables
└── package.json # Project dependencies and scripts
Available Tools
create-user
Creates a new user in the database.
- Parameters:
- name: User's full name (string, required)
- email: User's email address (string, required, unique)
- age: User's age (number, required)
- Response:
{ "_id": "user_id", "name": "John Doe", "email": "[email protected]", "age": 30, "createdAt": "2025-06-26T00:00:00.000Z" }
get-user
Retrieves a user by their email address.
- Parameters:
- email: User's email address (string, required)
- Response:
{ "_id": "user_id", "name": "John Doe", "email": "[email protected]", "age": 30, "createdAt": "2025-06-26T00:00:00.000Z" }
list-users
Lists all users in the database with pagination.
- Parameters:
- limit: Maximum number of users to return (number, optional, default: 10)
- Response:
[ { "_id": "user_id", "name": "John Doe", "email": "[email protected]", "age": 30, "createdAt": "2025-06-26T00:00:00.000Z" }, // ... more users ]
Available Prompts
create-new-user
An interactive prompt that guides you through the process of creating a new user by asking for:
- Full Name
- Email Address
- Age
Development Guide
Running the Server
-
Start in Development Mode:
# Run with inspector for debugging npx @modelcontextprotocol/inspector node mcp-server.js # Or run directly npm start -
Using Cursor in VS Code:
- Open the project in VS Code
- Use Cursor's AI features:
- Type
/helpfor Cursor commands - Use
/editfor code suggestions - Use
/docto generate documentation - Use
/fixto get error fixes
- Type
Debugging
-
Check Server Logs:
# Watch server logs in real-time tail -f ~/Library/Logs/Claude/mcp*.log -
MongoDB Operations:
# Check MongoDB status mongosh use mcp-mongo db.users.find() # List all users -
Test Tools Manually:
# Using curl to test tools (when running in HTTP mode) curl -X POST http://localhost:3000/tools/list-users
Server Features
-
Graceful Shutdown:
- Handles SIGINT, SIGTERM, SIGHUP signals
- Closes MongoDB connections properly
- Logs shutdown process
-
Error Handling:
- MongoDB connection errors
- Tool execution errors
- Uncaught exceptions
- Unhandled rejections
-
Performance Options:
- MongoDB connection timeout: 5s
- Heartbeat frequency: 2s
- User listing pagination
Troubleshooting
- Make sure MongoDB is running and accessible
- Check Claude for Desktop logs at
~/Library/Logs/Claude/mcp*.log - Verify the server.js path in claude_desktop_config.json is correct
- Restart Claude for Desktop after configuration changes
Servidores relacionados
Couchbase
Interact with the data stored in Couchbase clusters using natural language.
Cursor10x MCP
A memory system for the Cursor code editor, providing persistent context awareness for Claude via a Turso database.
RBDC MCP Server
An MCP-based database server with support for SQLite, MySQL, PostgreSQL, and MSSQL.
MySQL Server
Provides read-only access to MySQL databases, allowing LLMs to inspect schemas and execute queries.
Aster Info MCP
Provides structured access to Aster DEX market data, including candlesticks, order books, trades, and funding rates.
Bitable
Interact with Lark Bitable tables and data using the Model Context Protocol.
DeFi Rates
Real-time DeFi lending rates across 14+ protocols (Aave, Morpho, Spark, Compound, Venus, etc). Query borrow/supply rates, c ompare platforms, calculate looping strategies on 6 chains (Ethereum, Arbitrum, Base, BSC, Solana, HyperEVM).
MCP PGVector Server
Provides semantic search capabilities for PostgreSQL databases using the pgvector extension, with support for multiple embedding providers.
STRING-MCP
Interact with the STRING protein-protein interaction database API.
Knowledge Graph Memory Server
Enables project memory using a Kuzu-powered knowledge graph.