| FMRS | 42 / 100 · D | 79 / 100 · B | 74 / 100 · B |
| Reliability | 5 / 20 | 12 / 20 | 13 / 20 |
|---|
| Security and permissions | 7 / 20 | 18 / 20 | 13 / 20 |
|---|
| Maintenance | 6 / 20 | 17 / 20 | 17 / 20 |
|---|
| Documentation | 13 / 20 | 17 / 20 | 16 / 20 |
|---|
| Setup experience | 11 / 20 | 15 / 20 | 15 / 20 |
| Best for | - Users of AI coding assistants (Claude Desktop, Cursor, Windsurf) that need to interact with MongoDB
- Developers who want to query databases using plain language
- Teams sharing MongoDB data access with AI tools
| - Teams already using ClickHouse who want AI assistants to access data directly.
- Scenarios requiring fast, read-only data queries and schema exploration.
| - Teams that want precise control over which database operations an AI can perform, rather than open arbitrary SQL execution
- Scenarios needing a unified MCP setup across multiple database engines
|
| Not for | - High-security production environments unless properly configured with authentication and permissions
- Performance-critical scenarios where AI may run suboptimal queries
- Users needing full database administration (e.g., user management, backups)
| - Scenarios requiring write access to the database without explicit opt-in.
- Production environments with stringent security requirements that avoid default permission settings.
| - Lightweight cases that just want to run a few ad-hoc SQL queries without maintaining a tools.yaml config (a simpler single-database MCP may be a better fit)
|
| Required permissions | - MongoDB connection string, possibly including username and password
- Read/write access to the target database (unless read-only mode is enabled)
- HTTP mode may require an authentication token
| - Requires read-only access to ClickHouse database (default).
- Optional: write access via CLICKHOUSE_ALLOW_WRITE_ACCESS.
- Optional: destructive operations via CLICKHOUSE_ALLOW_DROP.
| - Database credentials (username/password/connection string) are supplied via env vars or config
- A tool's actual permission is whatever SQL statement is defined in tools.yaml — designed for least privilege, but misconfiguration can still over-expose access
|
| Risks and side effects | - If read-only mode is not enabled, AI may inadvertently perform write operations (updates, inserts, index creation)
- Cross-database operations are blocked by default, but enabling --allow-cross-db may expose other databases
- Server-side JavaScript operators ($function, $where) are disabled by default, but enabling can introduce code execution risks
- HTTP mode defaults to localhost only, but misconfiguration could expose the database
- May execute resource-intensive aggregations or queries, leading to performance issues
| - If write access is enabled, AI might make unintended modifications.
- If DROP access is enabled, data deletion could occur accidentally.
- Credentials may be exposed via environment variables.
| - If tools.yaml defines SQL statements that allow unconstrained writes or deletes, the AI could accidentally modify data
- The prebuilt toolsets (--prebuilt) favor convenience and may expose broader query capability than a specific business actually needs — use a custom tools.yaml in production
|
| Supported clients | Claude Desktop, Cursor, Windsurf | Claude Desktop | Claude Code, Gemini CLI, Zed, Antigravity |
| Tools | 8 | 4 | 0 |