loading…
Search for a command to run...
loading…
An MCP server that enables AI agents to interact with SQLite databases by querying schemas, executing SQL, and inspecting table metadata. It supports safe datab
An MCP server that enables AI agents to interact with SQLite databases by querying schemas, executing SQL, and inspecting table metadata. It supports safe database access through configurable read-only modes, query timeouts, and dry-run execution plans.
An MCP (Model Context Protocol) server that exposes SQLite databases as tools for AI agents. Connect any SQLite database and let LLMs query schemas, run SQL, and inspect tables through a standardized interface.
execute_sql — Run arbitrary SQL statements with support for dry-run mode (EXPLAIN QUERY PLAN), automatic result truncation, and configurable row limits.get_table_info — Retrieve complete table metadata in a single call: columns, types, DDL, indexes, foreign keys, and row count.# Clone the repository
git clone https://github.com/<owner>/sqlite-mcp.git
cd sqlite-mcp
# Install with uv
uv sync
Or with pip:
pip install .
| Variable | Required | Default | Description |
|---|---|---|---|
SQLITE_DB_PATH |
Yes | — | Path to the SQLite database file |
SQLITE_READ_ONLY |
No | false |
Set to true to disable write operations |
SQLITE_TIMEOUT |
No | 30 |
Query timeout in seconds |
SQLITE_DB_PATH=./my_database.db sqlite-mcp
The server communicates over stdio and is designed to be launched by an MCP-compatible client (e.g., Cursor, Claude Desktop).
Add the server to your MCP client config (e.g., .cursor/mcp.json):
{
"mcpServers": {
"sqlite": {
"command": "uv",
"args": ["run", "--directory", "/path/to/sqlite-mcp", "sqlite-mcp"],
"env": {
"SQLITE_DB_PATH": "/path/to/database.db",
"SQLITE_READ_ONLY": "true"
}
}
}
}
execute_sqlExecute a SQL statement against the connected database.
| Parameter | Type | Default | Description |
|---|---|---|---|
sql |
str |
— | The SQL statement to execute |
dry_run |
bool |
false |
Return the query plan instead of executing |
max_rows |
int |
100 |
Maximum rows to return |
Example response (SELECT):
{
"results": [{"id": 1, "name": "Alice"}],
"row_count": 1,
"truncated": false
}
Example response (dry run):
{
"query_plan": [{"id": 0, "parent": 0, "detail": "SCAN users"}]
}
get_table_infoGet complete schema and metadata for a table.
| Parameter | Type | Description |
|---|---|---|
table |
str |
The table name to inspect |
Example response:
{
"table": "users",
"columns": [
{"name": "id", "type": "INTEGER", "nullable": false, "default": null, "primary_key": true},
{"name": "name", "type": "TEXT", "nullable": true, "default": null, "primary_key": false}
],
"ddl": "CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)",
"indexes": [],
"foreign_keys": [],
"row_count": 42
}
This project is licensed under the MIT License. See LICENSE for details.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"sqlite-mcp": {
"command": "npx",
"args": []
}
}
}