Skip to main content
Glama
kobramantra-debug

mcp-database-universal

MCP Database Server

Eine Reasoning-Schnittstelle für Datenbanken für MCP-fähige KI-Agenten – kein dünner SQL-Wrapper.

mcp-database-universal bietet KI-Agenten eine Reihe von 7 Reasoning-Tools, um eine Datenbank sicher zu erkunden und abzufragen, ihr Schema und ihre Datenstruktur zu verstehen, Fragen in natürlicher Sprache zu stellen und Beziehungen zu visualisieren – ohne rohe Verbindungsinterna preiszugeben.

Funktionen

  • 7 Reasoning-Tools für KI-Agenten: Verbindung testen, Tabellen auflisten, eine Tabelle inspizieren, parametrisiertes SQL ausführen, Fragen in einfacher Sprache stellen, Daten profilieren und ein ER-Diagramm rendern.

  • Multi-Engine: SQLite (integriert) plus optional PostgreSQL, MySQL und MSSQL.

  • Sicherheit zuerst: standardmäßig schreibgeschützt, parametrisierte Abfragen, Anweisungsvalidierung, Zeilen-/Zeit-/Ausgabelimits.

  • LLM-freundliche Ausgabe: Typen übersetzt, NULLs behandelt, Ergebnisse in Markdown-Tabellen mit Kontext formatiert.

  • Schema-Introspection: automatisches Erkennen von Tabellen, Spalten, Indizes, Fremdschlüsseln und Beziehungen.

  • Natürliche Sprachabfragen: Übersetzen von Klartextfragen in SQL und Rückgabe der Ergebnisse.

Related MCP server: Universal Database MCP Server

Unterstützte Engines

Engine

Anforderung

Zusätzliche Installation

SQLite

integriert

PostgreSQL

psycopg

pip install "mcp-database-universal[postgres]"

MySQL

PyMySQL

pip install "mcp-database-universal[mysql]"

MSSQL

pyodbc + ODBC-Treiber

pip install "mcp-database-universal[mssql]"

alle

pip install "mcp-database-universal[all]"

Installation

pip install mcp-database-universal

# With optional engines:
pip install "mcp-database-universal[postgres]"
pip install "mcp-database-universal[mysql]"
pip install "mcp-database-universal[mssql]"
# or everything:
pip install "mcp-database-universal[all]"

Schnellstart

Führen Sie den Server über STDIO aus (der Standardtransport für MCP-Clients):

DATABASE_URL=sqlite:///app.db python -m mcp_database_universal

Verbindungs-URLs:

sqlite:///path/to/db.db              SQLite (file)
sqlite:///:memory:                   SQLite (in-memory)
postgresql://user:pass@host:5432/db  PostgreSQL
mysql://user:pass@host:3306/db       MySQL
mssql://user:pass@host:1433/db       MSSQL (uses ODBC Driver 18)

Docker

docker build -t mcp-db .

# Mount a SQLite database read-only:
docker run --rm -i \
  -v /host/path/app.db:/data/app.db:ro \
  -e DATABASE_URL=sqlite:////data/app.db \
  mcp-db

# Or in-memory:
docker run --rm -i -e DATABASE_URL=sqlite:///:memory: mcp-db

Konfiguration

Die gesamte Konfiguration erfolgt über Umgebungsvariablen.

Variable

Standard

Beschreibung

DATABASE_URL

(erforderlich)

Datenbank-Verbindungs-URL.

DATABASE_READ_ONLY

true

Schreibgeschützten Modus erzwingen (blockiert Schreibvorgänge, selbst wenn DATABASE_WRITE_ENABLED gesetzt ist).

DATABASE_WRITE_ENABLED

false

Schreibanweisungen erlauben, wenn DATABASE_READ_ONLY=false ist.

DATABASE_MAX_ROWS

1000

Maximale Anzahl von Zeilen pro Abfrage.

DATABASE_MAX_QUERY_TIME

30

Abfrage-Timeout in Sekunden.

DATABASE_MAX_OUTPUT_BYTES

50000

Obergrenze für die Größe der Ergebnisnutzlast.

DATABASE_SAMPLE_SIZE

5

Anzahl der Beispielzeilen in Tabellen-/Spaltenstatistiken.

DATABASE_PROFILE_TOP_N

10

Top-N-Werteverteilungseinträge im Profiling.

OPENAI_API_KEY

API-Schlüssel für den LLM-gestützten natural_query-Modus.

ANTHROPIC_API_KEY

API-Schlüssel für den LLM-gestützten natural_query-Modus.

Tools

Tool

Beschreibung

test_connection

Datenbankverbindung testen; Engine, Version, Name, Größe, Tabellenanzahl melden.

list_tables

Übersicht aller Tabellen mit Zeilenzahlen, Spaltenzahlen, Fremdschlüsselbeziehungen.

inspect_table

Vollständige Struktur einer Tabelle: Spalten, Typen, Indizes, Fremdschlüssel, Beispieldaten.

query

Eine sichere, parametrisierte SQL-Abfrage ausführen und Markdown-Ergebnisse erhalten.

natural_query

Eine Frage in Klartext stellen; generiertes SQL + Ergebnisse erhalten.

profile_database

Datenprofil: Verteilungen, NULL-Raten, Beziehungen, Größen.

schema_graph

Mermaid-ER-Diagramm der Tabellenbeziehungen.

Beispiel: query mit Parametern

{
  "sql": "SELECT * FROM users WHERE id = :id AND active = :active",
  "params": "{\"id\": 42, \"active\": true}"
}

Parameter verwenden :name-Platzhalter; übergeben Sie die Werte als JSON-String in params.

Beispiel: natural_query

question: "How many users are there?"
-> SELECT COUNT(*) FROM users
question: "Show me all orders"
-> SELECT * FROM orders LIMIT 100

Ein funktionierendes Beispiel mit einer kleinen Beispieldatenbank finden Sie in examples/ zusammen mit gebrauchsfertigen Konfigurationsausschnitten für gängige MCP-Clients.

MCP-Client-Konfiguration

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "database": {
      "command": "python",
      "args": ["-m", "mcp_database_universal"],
      "env": {"DATABASE_URL": "sqlite:///C:/data/app.db"}
    }
  }
}

Cursor / andere CLI-basierte Clients

{
  "mcpServers": {
    "database": {
      "command": "uvx",
      "args": ["mcp-database-universal"],
      "env": {"DATABASE_URL": "sqlite:///C:/data/app.db"}
    }
  }
}

Windows-Hinweis: Der asynchrone Postgres-Treiber erfordert die Windows-Selector-Ereignisschleife. Das Paket setzt diese Richtlinie automatisch auf win32, daher ist keine zusätzliche Konfiguration erforderlich.

Entwicklung

pip install -e ".[dev]"
pytest

Integrationstests für PostgreSQL/MySQL verwenden Docker Compose und werden automatisch übersprungen, wenn die Server nicht erreichbar sind:

docker compose -f tests/integration/docker-compose.yml up -d
pytest

Sicherheitsmodell

  • Der Server ist standardmäßig schreibgeschützt; INSERT/UPDATE/DELETE/DROP/ALTER und andere Schreibanweisungen werden blockiert.

  • Schreibvorgänge sind nur möglich, wenn der Betreiber explizit DATABASE_READ_ONLY=false und DATABASE_WRITE_ENABLED=true setzt.

  • Abfrageergebnisse sind durch Zeilenanzahl, Timeout und Ausgabegröße begrenzt – außer Kontrolle geratene Abfragen werden verhindert.

Lizenz

MIT

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
3Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to query and explore databases including SQLite, PostgreSQL, MySQL, and SQL Server through a secure, read-only workflow. It provides tools for listing connections, inspecting table schemas, and executing SELECT statements directly within VS Code.
    1
  • A
    license
    Not graded
    quality
    A
    maintenance
    Connect AI agents to SQL databases (SQLite, PostgreSQL, MySQL) with a unified interface for querying data, exploring schemas, inserting rows, and exporting results to CSV. Includes safety features like dangerous query blocking and write guards.
    13
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to connect to and interact with PostgreSQL, MySQL, SQLite, and MongoDB databases through natural language, supporting schema exploration, query execution, data export, and more.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to interact with PostgreSQL or MySQL databases using natural language. Supports SQL queries, schema discovery, and pre-built aggregations without writing SQL.
    289
    MIT

View all related MCP servers

Related MCP Connectors

  • Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.

  • Explore, query, and inspect SQLite databases with ease. List tables, preview results, and view det…

  • Give your agent live data from Twitter, Reddit, the web and GitHub. No API keys, no scraping stack.

View all MCP Connectors

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/kobramantra-debug/mcp-database-server'

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