MongoDB Mongoose MCP
An MCP server for MongoDB with optional Mongoose schema support.
MongoDB Mongoose MCP
An MCP (Model Context Protocol) server that enables Claude to interact with MongoDB databases, with optional Mongoose schema support.
Features
- Query, aggregation, insert, update, and manage MongoDB collections directly from Claude
- Optional Mongoose schema support for data validation and hooks
- Soft delete implementation for document safety
- Clean separation between schema-based and schemaless operations
Prerequisites
- Node.js (v18 or higher)
- MongoDB
Integrating with Claude Desktop
To add the MCP server to Claude Desktop:
- Go to Settings > Developer > Edit config
- Add the following to your claude_desktop_config.json file:
{
"mcpServers": {
"mongodb-mongoose": {
"command": "npx",
"args": [
"-y",
"mongo-mongoose-mcp",
],
"env": {
"MONGODB_URI": "<your mongodb uri>",
"SCHEMA_PATH" : "<path to the root folder of all your mongoose schema objects>"
}
}
}
}
Available MCP Commands
When integrated with Claude, the following commands become available:
Query Tools
find: Query documents with filtering and projectionlistCollections: List available collectionsinsertOne: Insert a single documentupdateOne: Update a single documentdeleteOne: Soft delete a single documentcount: Count documents with filteringaggregate: Query documents with aggregation pipeline
Index Tools
createIndex: Create a new indexdropIndex: Remove an indexindexes: List indexes for a collection
Example Usage
Once integrated with Claude Desktop, you can use natural language to interact with your MongoDB database:
- "Show me all users in my database who are older than 30"
- "Insert a new product with name 'Widget X', price $29.99, and category 'Electronics'"
- "Count all completed orders from the past week"
- "Create an index on the email field of the users collection"
For Developers
Building from Source
# Clone the repository
git clone https://github.com/nabid-pf/mongo-mongoose-mcp.git
cd mongo-mongoose-mcp
# Install dependencies
npm install
# Build the project
npm run build
# Test with the MCP inspector
npx @modelcontextprotocol/inspector node dist/index.js
Creating Mongoose Schemas
Place your Mongoose schema object files in the a directory and specify that path in SCHEMA_PATH var Make sure file names reflect the collection name
// models/users.js (for users collection)
export default {
name: { type: String, required: true },
email: { type: String, required: true, unique: true },
age: Number,
createdAt: { type: Date, default: Date.now },
isDeleted: { type: Boolean, default: false },
deletedAt: Date
};
How It Works
This project uses:
- MongoDB native driver for direct database operations
- Mongoose for schema-based operations when schemas are available
- The Model Context Protocol (MCP) to communicate with Claude
License
MIT
Related Servers
PostgreSQL
Provides read-only access to PostgreSQL databases, allowing LLMs to inspect schemas and execute queries.
Wave Financial MCP Server by CData
A read-only MCP server for querying live Wave Financial data, powered by CData.
Octodet Elasticsearch MCP Server
An MCP server for interacting with Elasticsearch clusters, enabling LLM-powered applications to search, update, and manage data.
BigQuery
Inspect database schemas and execute queries on Google BigQuery.
World Bank MCP Server
Interact with the open World Bank data API to list and analyze economic and development indicators for various countries.
Couchbase
Interact with the data stored in Couchbase clusters using natural language.
Unofficial Human Protein Atlas MCP Server
Access Human Protein Atlas data, including protein expression, localization, and pathology.
Kintone Lite
A lightweight server to connect AI assistants with Kintone applications and data.
Unofficial UniProt MCP Server
Access the UniProt protein database with specialized bioinformatics tools for protein research, comparative genomics, and structural biology.
LoL Data MCP Server
Provides real-time, structured access to League of Legends game data, including champions, items, abilities, game mechanics, and patch information.
