This is a Model Context Protocol (MCP) server that provides comprehensive SQLite database interaction capabilities.
- Complete CRUD operations (Create, Read, Update, Delete)
 - Database exploration and introspection
 - Execute custom SQL queries
 
Define the command in your IDE's MCP Server settings:
e.g. Cursor:
{
    "mcpServers": {
        "MCP SQLite Server": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-sqlite",
                "<path-to-your-sqlite-database.db>"
            ]
        }
    }
}e.g. VSCode:
{
    "servers": {
        "MCP SQLite Server": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "mcp-sqlite",
                "<path-to-your-sqlite-database.db>"
            ]
        }
    }
}Your database path must be provided as an argument.
Get detailed information about the connected database.
Example:
{
  "method": "tools/call",
  "params": {
    "name": "db_info",
    "arguments": {}
  }
}List all tables in the database.
Example:
{
  "method": "tools/call",
  "params": {
    "name": "list_tables",
    "arguments": {}
  }
}Get detailed information about a table's schema.
Parameters:
tableName(string): Name of the table
Example:
{
  "method": "tools/call",
  "params": {
    "name": "get_table_schema",
    "arguments": {
      "tableName": "users"
    }
  }
}Insert a new record into a table.
Parameters:
table(string): Name of the tabledata(object): Record data as key-value pairs
Example:
{
  "method": "tools/call",
  "params": {
    "name": "create_record",
    "arguments": {
      "table": "users",
      "data": {
        "name": "John Doe",
        "email": "[email protected]",
        "age": 30
      }
    }
  }
}Query records from a table with optional filtering.
Parameters:
table(string): Name of the tableconditions(object, optional): Filter conditions as key-value pairslimit(number, optional): Maximum number of records to returnoffset(number, optional): Number of records to skip
Example:
{
  "method": "tools/call",
  "params": {
    "name": "read_records",
    "arguments": {
      "table": "users",
      "conditions": {
        "age": 30
      },
      "limit": 10,
      "offset": 0
    }
  }
}Update records in a table that match specified conditions.
Parameters:
table(string): Name of the tabledata(object): New values as key-value pairsconditions(object): Filter conditions as key-value pairs
Example:
{
  "method": "tools/call",
  "params": {
    "name": "update_records",
    "arguments": {
      "table": "users",
      "data": {
        "email": "[email protected]"
      },
      "conditions": {
        "id": 1
      }
    }
  }
}Delete records from a table that match specified conditions.
Parameters:
table(string): Name of the tableconditions(object): Filter conditions as key-value pairs
Example:
{
  "method": "tools/call",
  "params": {
    "name": "delete_records",
    "arguments": {
      "table": "users",
      "conditions": {
        "id": 1
      }
    }
  }
}Execute a custom SQL query against the connected SQLite database.
Parameters:
sql(string): The SQL query to executevalues(array, optional): Array of parameter values to use in the query
Example:
{
  "method": "tools/call",
  "params": {
    "name": "query",
    "arguments": {
      "sql": "SELECT * FROM users WHERE id = ?",
      "values": [1]
    }
  }
}If you enjoy this library please consider sending me a tip to support my work π

