mongo-mcp
README.md
# mongo-mcp
MCP server untuk MongoDB dengan proteksi penghapusan data:
- **Tidak ada** tool `dropDatabase` / `dropCollection` / truncate — mustahil dilakukan lewat server ini.
- Tool `delete` menolak filter kosong (tidak bisa mengosongkan koleksi).
- Tanpa `confirm: true`, `delete` hanya dry-run: mengembalikan jumlah dokumen yang akan terhapus dan meminta konfirmasi user dulu.
- Pipeline `aggregate` menolak `$out` / `$merge` (tidak bisa menimpa koleksi).
- Ramah server: pool koneksi maksimal 5, timeout koneksi 5 detik, `maxTimeMS` 10 detik untuk semua query baca, hasil `find` dibatasi 100 dokumen.
## Prasyarat
```bash
cd /path/to/mongo-mcp
npm install
npm test # opsional, verifikasi proteksi delete
```
Semua contoh di bawah memakai path absolut `/Users/wahyu/Projects/playground/mongo-mcp/index.js` — sesuaikan dengan lokasi clone kamu. `MONGODB_URI` opsional (default `mongodb://localhost:27017`).
## Claude Code
```bash
claude mcp add mongo --env MONGODB_URI=mongodb://localhost:27017 -- node /Users/wahyu/Projects/playground/mongo-mcp/index.js
```
Atau manual di `.mcp.json` (project) / `~/.claude.json` (global):
```json
{
"mcpServers": {
"mongo": {
"command": "node",
"args": ["/Users/wahyu/Projects/playground/mongo-mcp/index.js"],
"env": { "MONGODB_URI": "mongodb://localhost:27017" }
}
}
}
```
Untuk Claude Desktop, tambahkan blok `mcpServers` yang sama ke `~/Library/Application Support/Claude/claude_desktop_config.json`.
## Codex (OpenAI Codex CLI)
Tambahkan ke `~/.codex/config.toml`:
```toml
[mcp_servers.mongo]
command = "node"
args = ["/Users/wahyu/Projects/playground/mongo-mcp/index.js"]
env = { MONGODB_URI = "mongodb://localhost:27017" }
```
## OpenCode
Tambahkan ke `opencode.json` (project) atau `~/.config/opencode/opencode.json`:
```json
{
"mcp": {
"mongo": {
"type": "local",
"command": ["node", "/Users/wahyu/Projects/playground/mongo-mcp/index.js"],
"environment": { "MONGODB_URI": "mongodb://localhost:27017" },
"enabled": true
}
}
}
```
## Kilo Code
Settings → MCP Servers → Edit MCP Settings (`mcp_settings.json`), atau `.kilocode/mcp.json` di project:
```json
{
"mcpServers": {
"mongo": {
"command": "node",
"args": ["/Users/wahyu/Projects/playground/mongo-mcp/index.js"],
"env": { "MONGODB_URI": "mongodb://localhost:27017" }
}
}
}
```
## Antigravity
Agent panel → ikon MCP / Manage MCP Servers → Edit `mcp_config.json`:
```json
{
"mcpServers": {
"mongo": {
"command": "node",
"args": ["/Users/wahyu/Projects/playground/mongo-mcp/index.js"],
"env": { "MONGODB_URI": "mongodb://localhost:27017" }
}
}
}
```
## Tools
| Tool | Keterangan |
|------|------------|
| `list-databases`, `list-collections` | Baca metadata |
| `find`, `count`, `aggregate` | Baca data (read-only, dibatasi `maxTimeMS`) |
| `insert`, `update` | Tulis data |
| `delete` | Butuh `confirm: true` setelah persetujuan user; filter kosong ditolak |
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues