Integrations
Provides database operations through natural language for MongoDB, including listing collections, querying documents with filtering and projection, inserting documents, deleting documents, and executing aggregate pipeline operations.
Planned integration for PostgreSQL database operations, including SQL queries, table operations, and schema management.
Planned integration for Redis operations, including key-value operations, caching mechanisms, pub/sub functionality, and data structure operations.
MCP Database Server
A Model Context Protocol (MCP) server implementation that allows Large Language Models (LLMs) to interact with various databases through natural language. Currently supports MongoDB, with plans to support:
- PostgreSQL
- CockroachDB
- Redis
- And more...
Features
- Database operations through natural language
- Currently supports MongoDB with features:
- List all collections
- Query documents with filtering and projection
- Insert documents
- Delete documents
- Aggregate pipeline operations
- Future support for other databases:
- PostgreSQL: SQL queries, table operations
- CockroachDB: Distributed SQL operations
- Redis: Key-value operations, caching
Prerequisites
- Node.js v20.12.2 or higher
- Database (currently MongoDB, other databases coming soon)
- Claude Desktop Application
Installation
- Clone the repository:
- Install dependencies:
- Build the TypeScript code:
Configuration
To get started, you need to configure your database connection in your Claude Desktop configuration file:
MacOS
Windows
Add the following configuration to your claude_desktop_config.json
:
Replace:
/path/to/node
with your Node.js executable path or just usenode
/path/to/mcp-database
with the absolute path to this repositoryyour-mongodb-connection-string
with your MongoDB connection URL
Usage Examples
MongoDB Examples
- List all collections in your database:
- Get specific records from a collection:
- Query with filters:
- Insert a document:
- Delete a document:
- Aggregate data:
Available Tools
1. getCollections
Lists all collections in the connected database.
2. getCollection
Retrieves documents from a collection with optional query parameters:
collectionName
: Name of the collectionlimit
: Maximum number of documents to return (default: 10, max: 1000)query
: MongoDB query objectprojection
: Fields to include/exclude
3. insertOne
Inserts a single document into a collection:
collectionName
: Name of the collectiondocument
: Document object to insert
4. deleteOne
Deletes a single document from a collection:
collectionName
: Name of the collectionquery
: Query to match the document to delete
5. aggregate
Executes an aggregation pipeline:
collectionName
: Name of the collectionpipeline
: Array of aggregation stagesoptions
: Optional aggregation options
Future Database Support
PostgreSQL
- SQL query execution
- Table operations
- Schema management
- Transaction support
CockroachDB
- Distributed SQL operations
- Multi-region support
- Transaction management
- Schema operations
Redis
- Key-value operations
- Caching mechanisms
- Pub/sub operations
- Data structure operations
Security
- Never commit your database connection strings to version control
- Use environment variables for sensitive information
- Follow database-specific security best practices
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
License
MIT License - See LICENSE for details
This server cannot be installed
A Model Context Protocol server that enables LLMs to interact with databases (currently MongoDB) through natural language, supporting operations like querying, inserting, deleting documents, and running aggregation pipelines.