Skip to main content
Glama
Shyamkadiwar

MongoDB MCP Server

by Shyamkadiwar
README.md
# MongoDB MCP Server

A Model Context Protocol (MCP) server that provides MongoDB database operations through a standardized interface. This server allows AI assistants and other MCP clients to interact with MongoDB databases using natural language commands.

## What is MCP?

The Model Context Protocol (MCP) is a standardized way for AI assistants to interact with external tools and data sources. This MongoDB MCP server acts as a bridge between AI models and MongoDB databases, enabling secure and controlled database operations.

## Features

- **Document Operations**: Find, insert, update, and delete documents
- **Aggregation Pipeline**: Run complex MongoDB aggregation queries
- **Collection Management**: List collections and get collection statistics
- **Document Counting**: Count documents with optional filtering
- **Flexible Querying**: Support for filters, sorting, and limiting results

## Available Tools

### 1. `find_documents`
Find documents in a MongoDB collection with optional filtering, sorting, and limiting.

**Parameters:**
- `collection` (required): Collection name
- `filter` (optional): MongoDB filter query (default: {})
- `limit` (optional): Maximum number of documents to return (default: 10)
- `sort` (optional): Sort criteria (default: {})

### 2. `count_documents`
Count documents in a collection with optional filtering.

**Parameters:**
- `collection` (required): Collection name
- `filter` (optional): MongoDB filter query (default: {})

### 3. `insert_document`
Insert a single document into a collection.

**Parameters:**
- `collection` (required): Collection name
- `document` (required): Document to insert

### 4. `update_documents`
Update multiple documents in a collection.

**Parameters:**
- `collection` (required): Collection name
- `filter` (required): MongoDB filter query
- `update` (required): Update operations
- `upsert` (optional): Create document if not found (default: false)

### 5. `delete_documents`
Delete multiple documents from a collection.

**Parameters:**
- `collection` (required): Collection name
- `filter` (required): MongoDB filter query

### 6. `aggregate`
Run aggregation pipeline on a collection.

**Parameters:**
- `collection` (required): Collection name
- `pipeline` (required): Array of aggregation pipeline stages

### 7. `list_collections`
List all collections in the database.

**Parameters:** None

### 8. `get_collection_stats`
Get statistics for a specific collection.

**Parameters:**
- `collection` (required): Collection name