MongoDB MCP Server

by jb-7-jay

Not rated
GitHub

About

An MCP server providing tools and prompts for interacting with a MongoDB database.

Details

Author
jb-7-jay
Categories
Database, Other

Setup

Install MongoDB MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/jb-7-jay/learn-mcp-server-mongo

Follow the installation instructions in the repository README, then restart your MCP client.

An MCP server providing tools and prompts for interacting with a MongoDB database.

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.

- MongoDB integration using Mongoose
- User management tools:

- create-user: Create a new user
- get-user: Retrieve user by email
- list-users: List all users with pagination

- Node.js (Latest LTS version)
- MongoDB (v8.0 or higher)
- Claude for Desktop (latest version)
- Visual Studio Code with Cursor extension (for development)

# Using Homebrew on macOS brew tap mongodb/brew brew install mongodb-community # Start MongoDB service brew services start mongodb-community

- Open VS Code
- Go to Extensions (Ctrl+Shift+X)
- Search for "Cursor"
- Click Install

git clone <repository-url> cd learn-mcp-mongo npm install
cp .env.example .env # Edit .env with your MongoDB URI if different from default

- 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

- 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"] } } }

- The MCP server will start automatically
- Look for the "Search and tools" icon to access the tools

- Download fromhttps://www.cursor.so/
- Install and open Cursor on your machine

- Open Cursor
- Go toSettings>Integrations>MCP Servers
- ClickAdd MCP Server
- Fill in:

- Name:mcp-mongo
- Command:node
- Arguments:/absolute/path/to/server.js
- Working Directory:/absolute/path/to/learn-mcp-mongo

- 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

Create a new user with: - name: "John Doe" - email: "john@example.com" - age: 30
Get user information for email: john@example.com
learn-mcp-mongo/ ├── server.js # Main server file with all functionality ├── .env # Environment variables └── package.json # Project dependencies and scripts

- Parameters:

- name: User's full name (string, required)
- email: User's email address (string, required, unique)
- age: User's age (number, required)

{ "_id": "user_id", "name": "John Doe", "email": "john@example.com", "age": 30, "createdAt": "2025-06-26T00:00:00.000Z" }

Retrieves a user by their email address.

- Parameters:

- email: User's email address (string, required)

{ "_id": "user_id", "name": "John Doe", "email": "john@example.com", "age": 30, "createdAt": "2025-06-26T00:00:00.000Z" }

Lists all users in the database with pagination.

- Parameters:

- limit: Maximum number of users to return (number, optional, default: 10)

[ { "_id": "user_id", "name": "John Doe", "email": "john@example.com", "age": 30, "createdAt": "2025-06-26T00:00:00.000Z" }, // ... more users ]

An interactive prompt that guides you through the process of creating a new user by asking for:

# Run with inspector for debugging npx @modelcontextprotocol/inspector node mcp-server.js # Or run directly npm start

- 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

# Watch server logs in real-time tail -f ~/Library/Logs/Claude/mcp.log
# Check MongoDB status mongosh use mcp-mongo db.users.find() # List all users
# Using curl to test tools (when running in HTTP mode) curl -X POST http://localhost:3000/tools/list-users

- Handles SIGINT, SIGTERM, SIGHUP signals
- Closes MongoDB connections properly
- Logs shutdown process

- MongoDB connection errors
- Tool execution errors
- Uncaught exceptions
- Unhandled rejections

- MongoDB connection timeout: 5s
- Heartbeat frequency: 2s
- User listing pagination
- 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

Interact with MongoDB databases using natural language to query collections, inspect schemas, and manage data.

Interact with MongoDB databases using natural language. Query collections, inspect schemas, and manage data.

Provides read-only access to MongoDB databases through standardized MCP tools and resources.

A server for performing CRUD operations on a MongoDB database.

A server for querying and analyzing the MongoDB sample_mflix movie database.

A MongoDB MCP server with schema discovery and field validation. Requires a MONGODB_URI environment variable.

Official MCP server for dbt (data build tool) providing integration with dbt Core/Cloud CLI, project metadata discovery, model information, and semantic layer querying capabilities.

Provides AI assistants with a secure and structured way to explore and analyze data in GreptimeDB.

Build robust data workflows, integrations, and analytics on a single intuitive platform.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.