Model Context Protocol (MCP) server that provides comprehensive SQLite database interaction capabilities
npm install mcp-sqliteCursor:
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",
""
]
}
}
}
`
!cursor-settings
Your database path must be provided as an argument.
Available Tools
$3
#### 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 table
Example:
`json
{
"method": "tools/call",
"params": {
"name": "get_table_schema",
"arguments": {
"tableName": "users"
}
}
}
`
$3
#### create_record
Insert a new record into a table.
Parameters:
- table (string): Name of the table
- data (object): Record data as key-value pairs
Example:
`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 skip
Example:
`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 pairs
Example:
`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 pairs
Example:
`json
{
"method": "tools/call",
"params": {
"name": "delete_records",
"arguments": {
"table": "users",
"conditions": {
"id": 1
}
}
}
}
`
$3
#### 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 query
Example:
`json
{
"method": "tools/call",
"params": {
"name": "query",
"arguments": {
"sql": "SELECT * FROM users WHERE id = ?",
"values": [1]
}
}
}
``