Skip to main content
Glama
AimanFadillah

mcp-database

mcp-database

MCP server read-only untuk MySQL / MariaDB. Memungkinkan Claude melakukan pengecekan data lewat query SQL — tanpa bisa mengubah/menghapus data.

Tools yang disediakan

Tool

Fungsi

list_tables

Menampilkan daftar semua tabel di database

describe_table

Menampilkan struktur kolom sebuah tabel

run_query

Menjalankan SELECT/SHOW/DESCRIBE/EXPLAIN/WITH (read-only)

Pengaman (read-only)

  • Hanya statement baca yang diterima. INSERT/UPDATE/DELETE/DROP/ALTER/CREATE/... ditolak otomatis.

  • Multi-statement (dipisah ;) ditolak.

  • Komentar SQL (-- , #, /* */) dibersihkan sebelum divalidasi.

  • LIMIT otomatis ditambahkan (default 1000 baris) bila query tidak punya.

  • Query punya timeout (default 15 detik).

Sangat disarankan: tetap pakai user MySQL yang hanya punya hak SELECT, sebagai lapisan keamanan kedua di sisi database.

CREATE USER 'readonly_user'@'%' IDENTIFIED BY 'password_kuat';
GRANT SELECT ON nama_database.* TO 'readonly_user'@'%';
FLUSH PRIVILEGES;

Setup

npm install
cp .env.example .env   # lalu isi kredensial database
npm run build

Isi .env:

DB_HOST=localhost
DB_PORT=3306
DB_USER=readonly_user
DB_PASSWORD=...
DB_NAME=nama_database
MAX_ROWS=1000
QUERY_TIMEOUT_MS=15000

Menghubungkan ke Claude Desktop

Edit file konfigurasi:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Kredensial cukup ditaruh di file .env (server otomatis memuatnya dari folder proyek). Config-nya jadi sederhana:

{
  "mcpServers": {
    "database": {
      "command": "node",
      "args": ["c:\\project\\mcp-database\\dist\\index.js"]
    }
  }
}

⚠️ JANGAN menambahkan blok env dengan nilai placeholder (localhost, nama_database, dst). Nilai di blok env akan menimpa .env Anda dan menyebabkan koneksi gagal (ECONNREFUSED). Isi .env saja.

Restart total Claude Desktop (Quit dari tray, lalu buka lagi) setiap kali mengubah config atau melakukan rebuild — bukan sekadar tutup window.

Menghubungkan ke Claude Code (CLI)

claude mcp add database -- node c:\project\mcp-database\dist\index.js

(pastikan .env sudah terisi, atau tambahkan --env DB_HOST=... dst.)

Contoh penggunaan di Claude

"Cek ada berapa pengguna yang statusnya aktif di tabel pengguna"

Claude akan memanggil list_tablesdescribe_tablerun_query dengan SELECT COUNT(*) FROM pengguna WHERE status = 'aktif'.

Pengembangan

npm run dev   # tsc --watch
Install Server
A
license - permissive license
A
quality
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AimanFadillah/mcp-database'

If you have feedback or need assistance with the MCP directory API, please join our Discord server