MCP.so
Sign In
Servers

MCP SQLite Server

@cnosuke

Generic MCP server to manipulate SQLite

Overview

What is MCP SQLite Server?

MCP SQLite Server is a Go-based MCP (Model Context Protocol) server that wraps an SQLite database. It allows MCP clients such as Claude Desktop to interact with SQLite using a standardized JSON‑RPC protocol.

How to use MCP SQLite Server?

Use Docker (recommended) with docker run -i --rm cnosuke/mcp-sqlite:latest or mount a custom SQLite database. Alternatively, build the Go binary and run with a YAML config file and environment variables. Then integrate with MCP clients (e.g., Claude Desktop) by adding the server to claude_desktop_config.json.

Key features of MCP SQLite Server

  • Fully compliant with the MCP specification.
  • Execute CREATE TABLE, SELECT, INSERT, UPDATE, and DELETE queries.
  • Retrieve table schemas and list all tables.
  • Configurable via YAML file or environment variables.
  • Logging directed to a file (suppressed when used with stdio transport).

Use cases of MCP SQLite Server

  • Allow Claude Desktop to create and query SQLite databases in real time.
  • Persist data by mounting an existing SQLite database file into the Docker container.
  • Manage database schemas and explore table structures programmatically.
  • Run read and write queries directly from an MCP-enabled assistant.

FAQ from MCP SQLite Server

What are the requirements to run MCP SQLite Server?

Docker is recommended. For local development, you need Go 1.24+, SQLite, and GCC/CGO tools.

How do I use MCP SQLite Server with Claude Desktop?

Add an entry to your claude_desktop_config.json with the Docker command or the Go binary path and its arguments.

How do I configure logging?

Set the log config option or LOG_PATH environment variable to a file path. For stdio transport (e.g., Claude Desktop), set it to an empty string to avoid interfering with protocol messages.

What MCP tools does the server provide?

It supports create_table, describe_table, list_tables, read_query, and write_query.

Is there persistent storage when using Docker?

Yes. Mount an SQLite file from the host to /app/sqlite.db in the container using the -v flag.

More from Databases