mongo-mcp
README.md
# mongo-mcp
MCP server untuk MongoDB yang menyediakan operasi baca/tulis dengan guardrail
untuk mencegah penghapusan data secara tidak sengaja.
## Fitur
- Tidak menyediakan tool untuk `dropDatabase`, `dropCollection`, atau truncate.
- `delete` menolak filter kosong dan berjalan sebagai dry-run sampai mendapat `confirm: true`.
- `aggregate` menolak stage `$out` dan `$merge`.
- Koneksi dibatasi dengan pool maksimal 5, timeout koneksi 5 detik, dan `maxTimeMS` 10 detik untuk query baca.
- Hasil `find` dibatasi maksimal 100 dokumen.
## Persyaratan
- Node.js 18 atau lebih baru
- MongoDB yang dapat diakses oleh server
## Instalasi dan penggunaan
```bash
git clone https://github.com/wahyuakbarwibowo/mongo-mcp.git
cd mongo-mcp
npm install
npm test
```
`MONGODB_URI` bersifat opsional dan default ke `mongodb://localhost:27017`.
## Konfigurasi MCP
Ganti `/path/to/mongo-mcp` dengan lokasi hasil clone.
### Claude Code
```bash
claude mcp add mongo \
--env MONGODB_URI=mongodb://localhost:27017 \
-- node /path/to/mongo-mcp/index.js
```
### Claude Desktop, Codex CLI, dan client lain
Tambahkan server lokal berikut ke konfigurasi MCP client:
```json
{
"mcpServers": {
"mongo": {
"command": "node",
"args": ["/path/to/mongo-mcp/index.js"],
"env": {
"MONGODB_URI": "mongodb://localhost:27017"
}
}
}
}
```
Untuk client yang menggunakan konfigurasi TOML, padanannya adalah:
```toml
[mcp_servers.mongo]
command = "node"
args = ["/path/to/mongo-mcp/index.js"]
env = { MONGODB_URI = "mongodb://localhost:27017" }
```
## Tools
| Tool | Fungsi |
| --- | --- |
| `list-databases`, `list-collections` | Membaca metadata MongoDB |
| `find`, `count`, `aggregate` | Membaca data dengan batas waktu |
| `insert`, `update` | Menulis data |
| `delete` | Menghapus data setelah konfirmasi eksplisit |
## Lisensi
Belum ditentukan. Jangan gunakan proyek ini sebagai dependensi publik sebelum
lisensi ditambahkan.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues