by nabid-pf
An MCP (Model Context Protocol) server that enables Claude to interact with MongoDB databases, with optional Mongoose schema support.
MongoDB Mongoose MCP is a Model Context Protocol (MCP) server designed to facilitate interaction between Claude (an AI) and MongoDB databases. It offers optional Mongoose schema support for data validation and hooks, allowing for both schema-based and schemaless operations.
To use MongoDB Mongoose MCP, you need Node.js (v18 or higher) and MongoDB installed. You integrate it with Claude Desktop by adding a configuration to your claude_desktop_config.json
file, specifying your MongoDB URI and an optional path to your Mongoose schema objects. Once integrated, you can use natural language commands within Claude to interact with your MongoDB database.
Q: What are the prerequisites for running MongoDB Mongoose MCP? A: You need Node.js (v18 or higher) and MongoDB.
Q: How do I integrate MongoDB Mongoose MCP with Claude Desktop?
A: You need to add a specific configuration to your claude_desktop_config.json
file, including your MongoDB URI and an optional SCHEMA_PATH
.
Q: Can I use Mongoose schemas with this project?
A: Yes, it offers optional Mongoose schema support for data validation and hooks. You can place your Mongoose schema object files in a directory and specify that path in the SCHEMA_PATH
environment variable.
Q: What kind of commands are available once integrated with Claude?
A: Available commands include find
, listCollections
, insertOne
, updateOne
, deleteOne
, count
, aggregate
for query tools, and createIndex
, dropIndex
, indexes
for index tools.
Q: How does MongoDB Mongoose MCP handle deleted documents? A: It implements a soft delete mechanism for document safety.
An MCP (Model Context Protocol) server that enables Claude to interact with MongoDB databases, with optional Mongoose schema support.
To add the MCP server to Claude Desktop:
{
"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>"
}
}
}
}
When integrated with Claude, the following commands become available:
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 pipelinecreateIndex
: Create a new indexdropIndex
: Remove an indexindexes
: List indexes for a collectionOnce integrated with Claude Desktop, you can use natural language to interact with your MongoDB database:
# 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
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
};
This project uses:
MIT
Reviews feature coming soon
Stay tuned for community discussions and feedback