https://github.com/jparkerweb/mcp-sqlite
🐇 Model Context Protocol (MCP) server that provides comprehensive SQLite database interaction capabilities
https://github.com/jparkerweb/mcp-sqlite
aitooling cursor database development mcp nodejs sqlite windsurf
Last synced: 3 months ago
JSON representation
🐇 Model Context Protocol (MCP) server that provides comprehensive SQLite database interaction capabilities
- Host: GitHub
- URL: https://github.com/jparkerweb/mcp-sqlite
- Owner: jparkerweb
- License: mit
- Created: 2025-04-05T03:28:31.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-06-02T21:23:24.000Z (4 months ago)
- Last Synced: 2025-06-29T02:44:02.462Z (4 months ago)
- Topics: aitooling, cursor, database, development, mcp, nodejs, sqlite, windsurf
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/mcp-sqlite
- Size: 425 KB
- Stars: 20
- Watchers: 1
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-mcp-servers - mcp-sqlite - A Model Context Protocol (MCP) server that enables comprehensive SQLite database interaction capabilities, tailored for MCP workloads. ([Read more](/details/mcp-sqlite.md)) `mcp` `sqlite` `database` `integration` (Database & Messaging MCP Servers)
- best-of-mcp-servers - GitHub
- awesome-mcp-servers - **jparkerweb/mcp-sqlite 📇 🏠** - Model Context Protocol (MCP) server that provides comprehensive SQLite database interaction capabilities. `database` `web` `http` `sqlite` `git` (Database)
- awesome-mcp-servers - **mcp-sqlite** - 🐇 Model Context Protocol (MCP) server that provides comprehensive SQLite database interaction capabilities `javascript` `aitooling` `cursor` `database` `development` `npm install jparkerweb/mcp-sqlite` (Database)
README
# 🐇 MCP SQLite Server
This is a Model Context Protocol (MCP) server that provides comprehensive SQLite database interaction capabilities.
## Features
- Complete CRUD operations (Create, Read, Update, Delete)
- Database exploration and introspection
- Execute custom SQL queries## Setup
Define the command in your IDE's MCP Server settings:
e.g. `Cursor`:
```json
{
"mcpServers": {
"MCP SQLite Server": {
"command": "npx",
"args": [
"-y",
"mcp-sqlite",
""
]
}
}
}
```e.g. `VSCode`:
```json
{
"servers": {
"MCP SQLite Server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-sqlite",
""
]
}
}
}
```
Your database path must be provided as an argument.
## Available Tools
### Database Information
#### db_info
Get detailed information about the connected database.
Example:
```json
{
"method": "tools/call",
"params": {
"name": "db_info",
"arguments": {}
}
}
```#### list_tables
List all tables in the database.
Example:
```json
{
"method": "tools/call",
"params": {
"name": "list_tables",
"arguments": {}
}
}
```#### get_table_schema
Get detailed information about a table's schema.
Parameters:
- `tableName` (string): Name of the tableExample:
```json
{
"method": "tools/call",
"params": {
"name": "get_table_schema",
"arguments": {
"tableName": "users"
}
}
}
```### CRUD Operations
#### create_record
Insert a new record into a table.
Parameters:
- `table` (string): Name of the table
- `data` (object): Record data as key-value pairsExample:
```json
{
"method": "tools/call",
"params": {
"name": "create_record",
"arguments": {
"table": "users",
"data": {
"name": "John Doe",
"email": "john@example.com",
"age": 30
}
}
}
}
```#### read_records
Query records from a table with optional filtering.
Parameters:
- `table` (string): Name of the table
- `conditions` (object, optional): Filter conditions as key-value pairs
- `limit` (number, optional): Maximum number of records to return
- `offset` (number, optional): Number of records to skipExample:
```json
{
"method": "tools/call",
"params": {
"name": "read_records",
"arguments": {
"table": "users",
"conditions": {
"age": 30
},
"limit": 10,
"offset": 0
}
}
}
```#### update_records
Update records in a table that match specified conditions.
Parameters:
- `table` (string): Name of the table
- `data` (object): New values as key-value pairs
- `conditions` (object): Filter conditions as key-value pairsExample:
```json
{
"method": "tools/call",
"params": {
"name": "update_records",
"arguments": {
"table": "users",
"data": {
"email": "john.updated@example.com"
},
"conditions": {
"id": 1
}
}
}
}
```#### delete_records
Delete records from a table that match specified conditions.
Parameters:
- `table` (string): Name of the table
- `conditions` (object): Filter conditions as key-value pairsExample:
```json
{
"method": "tools/call",
"params": {
"name": "delete_records",
"arguments": {
"table": "users",
"conditions": {
"id": 1
}
}
}
}
```### Custom Queries
#### query
Execute a custom SQL query against the connected SQLite database.
Parameters:
- `sql` (string): The SQL query to execute
- `values` (array, optional): Array of parameter values to use in the queryExample:
```json
{
"method": "tools/call",
"params": {
"name": "query",
"arguments": {
"sql": "SELECT * FROM users WHERE id = ?",
"values": [1]
}
}
}
```## Built with
- [Model Context Protocol SDK](https://github.com/modelcontextprotocol/typescript-sdk)
- [sqlite3](https://github.com/TryGhost/node-sqlite3)---
## Appreciation
If you enjoy this library please consider sending me a tip to support my work 😀
### [🍵 tip me here](https://ko-fi.com/jparkerweb)