Skip to main content
Glama
nao9net
by nao9net

Ein Server, der SQLite-Datenbanken über MCP (Model Context Protocol) bedienen kann. Beim Start können mehrere Datenbanken im Format „Alias=Pfad" registriert werden, und bei Tool-Aufrufen wird die Datenbank über den Aliasnamen ausgewählt. Da zur Laufzeit keine beliebigen Dateipfade akzeptiert werden, ist dies sicher.

Funktionen (Tools)

  • list_databases — Zeigt die Liste der Aliase der registrierten Datenbanken an.

  • list_tables — Zeigt alle Tabellennamen in der angegebenen Datenbank an.

  • describe_table — Ruft das Schema der angegebenen Tabelle ab (Spalten/Typen/Fremdschlüssel/Indizes).

  • read_query — Führt SELECT / WITH / PRAGMA aus (nur lesend).

  • write_query — Führt INSERT / UPDATE / DELETE / DDL aus (Datenänderung).

list_tables/describe_table/read_query/write_query akzeptieren ein optionales database-Argument (Aliasname). Wenn nur eine Datenbank registriert ist, kann es weggelassen werden (diese wird automatisch zur Standard-Datenbank). Wenn mehr als eine registriert ist, muss database jedes Mal angegeben werden.

Related MCP server: MCP SQLite Server

Einrichtung

npm install

Start

Starten Sie mit einem oder mehreren Datenbanken im Format エイリアス=パス.

node index.js main=/path/to/main.db logs=/path/to/logs.db

Wenn nur eine Datenbank registriert wird (in diesem Fall kann das database-Argument weggelassen werden):

node index.js main=/path/to/main.db

Umgebungsvariablen

Variablenname

Beschreibung

SQLITE_READONLY=1

Öffnet alle Verbindungen schreibgeschützt (write_query wird deaktiviert).

Verwendungsbeispiele

// 登録済みDB一覧を確認
{ "tool": "list_databases", "arguments": {} }

// "main" DBのテーブル一覧
{ "tool": "list_tables", "arguments": { "database": "main" } }

// "logs" DBに対してクエリ
{ "tool": "read_query", "arguments": { "sql": "SELECT * FROM events", "database": "logs" } }

// DBが1つしか登録されていない場合は database 省略可
{ "tool": "read_query", "arguments": { "sql": "SELECT * FROM users" } }

Registrierung beim MCP-Client

Claude Desktop

Fügen Sie Folgendes zu claude_desktop_config.json hinzu (geben Sie den Pfad als absoluten Pfad entsprechend Ihrer Umgebung an):

{
  "mcpServers": {
    "sqlite": {
      "command": "node",
      "args": [
        "/絶対パス/sqlite-mcp-server/index.js",
        "main=/絶対パス/main.db",
        "logs=/絶対パス/logs.db"
      ]
    }
  }
}

Nach dem Neustart von Claude Desktop sind die Tools des sqlite-Servers verfügbar.

Claude Code (CLI / VS Code-Erweiterung)

Registrieren Sie es über das Terminal in VS Code oder über ein normales Terminal mit dem Befehl claude.

claude mcp add --transport stdio sqlite -- node /絶対パス/sqlite-mcp-server/index.js main=/絶対パス/main.db logs=/絶対パス/logs.db
  • Der Teil nach -- wird direkt als Serverstartbefehl übergeben.

  • Wenn Sie schreibgeschützt arbeiten möchten, fügen Sie --env SQLITE_READONLY=1 hinzu:

    claude mcp add --transport stdio --env SQLITE_READONLY=1 sqlite -- node /絶対パス/index.js main=/絶対パス/main.db
  • Standardmäßig gilt der lokale Bereich (nur Ihr aktuelles Projekt). Verwenden Sie --scope user für alle Projekte und --scope project, um es als .mcp.json im Team zu teilen.

    claude mcp add --transport stdio --scope user sqlite -- node /絶対パス/index.js main=/絶対パス/main.db

Registrierung anzeigen und löschen:

claude mcp list
claude mcp remove sqlite

Wenn Sie das Claude Code-Panel in VS Code öffnen (oder eine claude-Sitzung starten), stehen Tools wie list_databases und read_query zur Verfügung.

Hinweise

  • Für write_query wird die Verwendung von ?-Platzhaltern als Schutz gegen SQL-Injection empfohlen (params-Argument).

  • Tabellennamen werden so validiert, dass nur alphanumerische Zeichen und Unterstriche erlaubt sind.

  • Aliasnamen dürfen nur alphanumerische Zeichen, Unterstriche und Bindestriche enthalten.

  • Die Verbindung zu jeder Datenbank wird beim ersten Zugriff geöffnet und danach wiederverwendet. Beim Beenden des Servers werden alle geschlossen.

  • Auf andere Datenbanken als die beim Start registrierten Aliase kann nicht zugegriffen werden (keine beliebigen Pfade akzeptiert).

  • Wenn Sie eine Verbindung zu einer Produktionsdatenbank herstellen, sollten Sie den Start mit SQLITE_READONLY=1 in Betracht ziehen.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Exposes sqlite3 database functionality as MCP tools, enabling SQL query execution, schema management, and CRUD operations.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides comprehensive SQLite database interaction through MCP, enabling CRUD operations, custom SQL queries, and database exploration.
    462 npm
    127
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to manage and query SQLite databases through MCP tools, supporting CRUD operations, schema management, and saved views.
    4 npm
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables read-only querying of a local SQLite database via MCP, with tools to list tables, retrieve schema, and execute SELECT/WITH/EXPLAIN queries.
    -