A Model Context Protocol (MCP) server that provides tools and resources for querying SQLite databases. This server enables LLMs to interact with SQLite databases through a standardized protocol.
- Database Query Tools: Execute SELECT queries and data modification statements
- Schema Resources: Access database schema information and table structures
- SSE Transport: Server-Sent Events transport for real-time communication
- Read-Only Mode: Optional read-only mode for safe database access
- Comprehensive Testing: Full test coverage with testify
- Linting: Code quality ensured with golangci-lint
The server provides the following MCP tools:
execute_query
: Execute SELECT queries against the SQLite databaseexecute_statement
: Execute INSERT, UPDATE, or DELETE statements (only in read-write mode)list_tables
: List all tables in the databasedescribe_table
: Get schema information for a specific table
The server provides the following MCP resources:
schema://tables
: List of all tables in the databaseschema://table/{name}
: Schema information for a specific table
go build -o sqlite-mcp .
./sqlite-mcp -db ./path/to/database.db
./sqlite-mcp [options]
Options:
-addr string
Address to listen on (default ":8080")
-db string
Path to SQLite database file (default "./database.db")
-help
Show help message
-read-write
Whether to allow write operations on the database. When false, the server operates in read-only mode
MCP_PORT
: Port to listen on (overrides -addr flag port)
- Go 1.21 or later
- SQLite database file
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Run tests and linting
- Submit a pull request