- Home
- MCP servers
- Encrypted SQLite
Encrypted SQLite
- other
0
GitHub Stars
other
Language
4 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"rosch100-mcp-encrypted-sqlite": {
"command": "/path/to/mcp-encrypted-sqlite/build/install/mcp-encrypted-sqlite/bin/mcp-encrypted-sqlite",
"args": [
"--args",
"{\"db_path\":\"/path/to/your/database.sqlite\",\"passphrase\":\"your-passphrase\"}"
],
"env": {
"MCP_DEBUG": "true",
"MCP_SQLITE_ENCRYPTION_KEY": "<your-encryption-key>"
}
}
}
}You can securely access and manipulate encrypted SQLite databases using this MCP server, which speaks the Model Context Protocol over STDIO and supports SQLCipher-encrypted databases from a variety of applications. It provides safe reading of schema, querying, and CRUD operations on encrypted files, enabling you to work with sensitive data while keeping encryption intact.
How to use
You will run this MCP server alongside your MCP client (for example Cursor or Claude Desktop). Start the server with a configured database path and passphrase, then issue standard MCP requests to list tables, read data, or modify rows. The server validates identifiers and restricts SQL to prevent injection, and you can enable debug output to diagnose issues.
How to install
Prerequisites you need before installation:
Option A: Install via Docker (recommended for quick start)
Pull and run the pre-built image with your database and passphrase.
{
"mcpServers": {
"encrypted-sqlite": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-v", "/path/to/your/database.sqlite:/data/database.sqlite:ro",
"ghcr.io/rosch100/mcp-encrypted-sqlite:latest",
"--args",
"{\"db_path\":\"/data/database.sqlite\",\"passphrase\":\"your-passphrase\"}"
]
}
}
}
Option B: Build from source (requires Git and a Java toolchain)
Clone the repository, build, and install the distribution. The executable will be placed under the install directory.
git clone https://github.com/rosch100/mcp-encrypted-sqlite.git
cd mcp-encrypted-sqlite
./gradlew build installDist
Configuration overview
The server runs as an MCP-compatible STDIO service. You configure it by providing a command and arguments through your MCP client configuration so the client can start the server as needed.
Notes on usage in different environments
If you are using Docker, you may need to supply an environment variable for the encryption key when using encrypted passphrases. If you run the server directly on your host, you can place the passphrase in the configuration file or pass it via the command line as shown in examples.
Available tools
list_tables
List all tables in the database. Optionally include column details by setting include_columns to true.
get_table_data
Read data from a table with optional column selection, filters, and pagination.
execute_sql
Execute arbitrary SQL statements. Use with caution as this runs raw SQL without parameterization.
insert_or_update
Upsert rows into a table, using specified primary keys to determine insert vs update.
delete_rows
Delete rows from a table based on provided filters.
get_table_schema
Retrieve detailed schema information for a table, including columns, indexes, and constraints.
list_indexes
List all indexes defined on a table.