MongoDB MCP Server
by harryelv
README.md
# MongoDB MCP Server
A Model Context Protocol (MCP) server that enables Cursor IDE to query MongoDB databases for debugging and development.
## Features
- **List Collections**: See all collections in your database
- **Find Documents**: Query documents with filters and limits
- **Count Documents**: Count documents matching specific criteria
## Installation for Cursor IDE
### Option 1: NPX (Recommended - No local installation needed)
Add to your `.cursor/mcp.json`:
```json
{
"mcpServers": {
"mongodb": {
"command": "npx",
"args": ["-y", "@harryelv/mongodb-mcp-server"],
"env": {
"MONGODB_CONNECTION_STRING": "mongodb://localhost:27017",
"MONGODB_DATABASE": "your_database_name"
}
}
}
}
```
### Option 2: Local Development
If you want to modify the source code:
```bash
git clone https://github.com/harryelv/mongodb-mcp-server.git
cd mongodb-mcp-server
npm install
npm run build
```
Then add to your `.cursor/mcp.json`:
```json
{
"mcpServers": {
"mongodb": {
"command": "node",
"args": ["/path/to/mongodb-mcp-server/dist/server.js"],
"env": {
"MONGODB_CONNECTION_STRING": "mongodb://localhost:27017",
"MONGODB_DATABASE": "your_database_name"
}
}
}
}
```
## Configuration
### Environment Variables
- `MONGODB_CONNECTION_STRING`: MongoDB connection string (default: `mongodb://localhost:27017`)
- `MONGODB_DATABASE`: Database name to connect to (default: `test`)
### Usage in Cursor
After configuration, restart Cursor and use Agent Mode to ask questions like:
- "List all collections in my database"
- "Find users where age is greater than 25"
- "Count how many orders have status pending"
- "Show me 10 products from the products collection"
## Tools Available
### listCollections
Lists all collections in the database.
- No parameters required
### findDocuments
- `collection` (string): Collection name
- `filter` (object, optional): MongoDB filter query
- `limit` (number, optional): Max documents to return (default: 10)
### countDocuments
- `collection` (string): Collection name
- `filter` (object, optional): MongoDB filter query
## Example Usage
```
// In Cursor Agent Mode, you can ask:
"Show me all collections"
"Find 5 users from the users collection"
"Count documents in orders collection where status is 'pending'"
```
## Security
- This server is **read-only** by design - it only provides query capabilities
- No write, update, or delete operations are supported
- Use MongoDB user accounts with read-only permissions for additional security
## Development
### Prerequisites
- Node.js 18+
- MongoDB server
- TypeScript
### Build Commands
```bash
npm run build # Compile TypeScript
npm run dev # Run in development mode
npm start # Run compiled server
```
## Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Links
- **GitHub**: https://github.com/harryelv/mongodb-mcp-server
- **npm Package**: https://www.npmjs.com/package/@harryelv/mongodb-mcp-server This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues