MongoDB MCP Server
Enables interaction with MongoDB databases through user management tools including creating, retrieving, and listing users with pagination support.
README
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: "john@example.com"
- age: 30
Finding a User
Get user information for email: john@example.com
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": "john@example.com", "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": "john@example.com", "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": "john@example.com", "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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.