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
Verwandte Server
dbt CLI
An MCP server that wraps the dbt CLI, allowing AI agents to interact with dbt projects.
SqlAugur
MCP server providing AI assistants with safe, read-only access to SQL Server databases. Built with C#/.NET 10, it uses AST-based query validation (Microsoft's T-SQL parser) to ensure only SELECT statements execute - blocking INSERT/UPDATE/DELETE/DROP/EXEC at the syntax tree level. Features include schema exploration, PlantUML/Mermaid ER diagram generation, rate limiting, and integrated DBA diagnostic toolsets (First Responder Kit, DarlingData, sp_WhoIsActive).
MemoryMesh
A knowledge graph server for AI models, focusing on text-based RPGs and interactive storytelling.
Vestige MCP
Provides comprehensive DeFi analytics and data for the Algorand ecosystem through the Vestige API.
Kusto MCP Server
An MCP server for Azure Data Explorer (Kusto) that enables AI assistants to interact with Kusto databases.
Fireproof
Immutable ledger database with live synchronization
Octopus MCP Server
A high-performance, persistent knowledge base MCP server built with Rust. Supports local deployment with hybrid datastores like Qdrant, Neo4j, and Redis.
ODBC MCP Server
Enables LLM tools to query databases using ODBC connections.
Memory Custom : PouchDB
Extends the Memory server with PouchDB for robust document-based storage, custom memory file paths, and interaction timestamping.
MCP Oracle Database Server
A server for full integration with Oracle Database. Requires Oracle Instant Client libraries.