SQLite MCP Server
by isaacgounton
An MCP server that provides SQLite database operations through a standardized interface. It offers SQL operations and table management capabilities.
View on GitHub
Last updated: N/A
SQLite MCP Server
A Model Context Protocol (MCP) server that provides SQLite database operations through a standardized interface.
Features
- In-memory SQLite database (configurable for file-based storage)
- SQL operations (SELECT, INSERT, UPDATE, DELETE)
- Table management (CREATE, LIST, DESCRIBE)
- Business insights memo tracking
- Docker support for easy deployment
Development & Deployment
Local Development
# Install dependencies and build
npm install
npm start
Docker Deployment
# Build and run with Docker
docker build -t sqlite-mcp-server .
docker run -d --name sqlite-mcp sqlite-mcp-server
Nixpacks Deployment
The application can be easily deployed using Nixpacks with platforms like Railway, Coolify, or Render:
# Deploy with Nixpacks
nixpacks build . --name sqlite-mcp-server
No additional configuration is needed as the project includes a Dockerfile.
Available Tools
read_query
: Execute SELECT querieswrite_query
: Execute INSERT, UPDATE, or DELETE queriescreate_table
: Create new tableslist_tables
: List all tables in the databasedescribe_table
: View schema information for a tableappend_insight
: Add business insights to the memo
Remote Server Connection
To connect using SSE in n8n:
- Add an MCP Client node
- Configure SSE connection:
- SSE URL:
http://localhost:3000/sse
- Messages Post Endpoint:
http://localhost:3000/messages
- No additional headers required
- SSE URL:
Example Usage
// Create a table
await callTool('create_table', {
query: 'CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)'
});
// Insert data
await callTool('write_query', {
query: 'INSERT INTO users (name) VALUES ("John Doe")'
});
// Query data
const result = await callTool('read_query', {
query: 'SELECT * FROM users'
});
Environment Variables
None required by default. If using file-based storage, modify the database path in src/index.ts
.
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
ISC