Query and Manipulate SQLite Databases
Query, write, and inspect SQLite database schemas with Claude - read-only mode available for untrusted databases.
Why it matters
Connect to SQLite databases to query data, analyze schemas, and perform database operations. Enables AI models to interact with structured data for analysis and manipulation.
Outcomes
What it gets done
Execute SELECT queries and retrieve results.
Perform INSERT, UPDATE, and DELETE operations.
Create new tables with specified schemas.
Inspect table schemas and list available tables.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-sqlite | bash Capabilities
Tools your agent gets
Execute a SELECT query and return results from the database.
Execute an INSERT, UPDATE, or DELETE query to modify database data.
Create a new table in the database with specified schema.
List all tables available in the database.
Get schema information and column details for a specified table.
Add a business insight or note to the memo.
Overview
SQLite MCP
SQLite MCP gives Claude direct read/write access to a SQLite database - queries, table creation, schema inspection, and an insights memo - with a --read-only mode to disable writes for untrusted databases. Use it for conversational SQLite querying and management. Use --read-only mode when connecting to a database you don't fully trust or control.
What it does
SQLite MCP gives Claude direct access to a SQLite database file - running SELECT queries, writing INSERT/UPDATE/DELETE statements, creating tables, listing tables, and inspecting schema, plus tracking a running memo of business insights discovered during analysis.
When to use - and when NOT to
Use it when you want Claude to explore or modify a local SQLite database conversationally - listing tables, describing a table's schema, running read queries, or performing writes. For untrusted databases or anywhere you want to guarantee no modifications happen, start the server with --read-only to disable write operations entirely. Do not skip read-only mode when connecting to a database you don't fully trust or control - it's the documented safety mechanism for exactly that scenario.
Capabilities
read_query(query): execute a SELECT query and return results.write_query(query): execute an INSERT, UPDATE, or DELETE query.create_table(query): create a new table with a specified schema.list_tables(): list all tables in the database.describe_table(table_name): get schema information for a specific table.append_insight(insight): add a business insight to a running memo.
How to install
uvx mcp-server-sqlite --db-path /path/to/database.db
Or via pip: pip install mcp-server-sqlite. Configure Claude Code:
{
"mcpServers": {
"sqlite": {
"command": "uvx",
"args": ["mcp-server-sqlite", "--db-path", "/path/to/your/database.db"]
}
}
}
Add --read-only to the args to disable write operations entirely for a given connection.
Who it's for
Developers who want Claude to query and, when appropriate, modify a local SQLite database conversationally, with read-only mode as a safety net for databases they don't fully trust.
Source README
The SQLite MCP server provides tools for interacting with SQLite databases, enabling Claude to query data, analyze schemas, and perform database operations.
Installation
Using uvx (recommended):
uvx mcp-server-sqlite --db-path /path/to/database.db
Using pip:
pip install mcp-server-sqlite
Configuration
Add to your Claude Code settings:
{
"mcpServers": {
"sqlite": {
"command": "uvx",
"args": [
"mcp-server-sqlite",
"--db-path",
"/path/to/your/database.db"
]
}
}
}
Read-Only Mode
{
"mcpServers": {
"sqlite": {
"command": "uvx",
"args": [
"mcp-server-sqlite",
"--db-path",
"/path/to/database.db",
"--read-only"
]
}
}
}
Available Tools
read_query
Execute a SELECT query and return results.
read_query(query: string): QueryResult
write_query
Execute an INSERT, UPDATE, or DELETE query.
write_query(query: string): WriteResult
create_table
Create a new table with specified schema.
create_table(query: string): CreateResult
list_tables
List all tables in the database.
list_tables(): TableList
describe_table
Get schema information for a table.
describe_table(table_name: string): TableSchema
append_insight
Add a business insight to the memo.
append_insight(insight: string): void
Features
- Read and write operations
- Schema inspection
- Safe parameterized queries
- Transaction support
- Read-only mode for safety
- Business insight memos
Usage Example
Claude, connect to my database and show me all tables.
Then query the users table to find all active users
created in the last month.
Security
- Use read-only mode for untrusted databases
- Parameterized queries prevent SQL injection
- File-level access permissions apply
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.