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
Verwandte Server
Supabase Read-Only MCP Server
Provides read-only access to a Supabase database.
MySQL MCP
A secure MCP service for accessing and managing MySQL databases, featuring multi-layer security and high-performance connection pooling.
Redis Cloud
Interact with the Redis Cloud API to manage your Redis databases.
CData CSV Files
A read-only MCP server for CSV files from CData, requiring an external JDBC driver for connection.
Pinot MCP Server
An MCP server for interacting with Apache Pinot, a real-time distributed OLAP datastore.
Hasura GraphQL
Interact with a Hasura GraphQL endpoint, enabling schema introspection, queries, mutations, and data aggregation.
Supermarket Database
A dockerized PostgreSQL database project for a supermarket data schema, with MCP integration for Claude Desktop.
Supabase
Access and manage your Supabase projects through the Model Context Protocol (MCP).
Noves MCP Server
Access blockchain transaction data in natural language, providing human-readable descriptions for AI assistants.
ClickHouse
An MCP server for interacting with a ClickHouse database.
