mcp-sqlite

The MCP SQLite Server is a Model Context Protocol (MCP) server that facilitates interaction with SQLite databases. It supports complete CRUD operations and allows for database exploration and execution of custom SQL queries. The setup is straightforward, requiring only the definition of a command in your IDE's MCP server settings to get started.

GitHub Stars

47

User Rating

Not Rated

Favorites

0

Views

19

Forks

5

Issues

0

README
🐇 MCP SQLite Server

This is a Model Context Protocol (MCP) server that provides comprehensive SQLite database interaction capabilities.

cursor-settings

Maintained by
eQuill Labs
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:

{
    "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>"
            ]
        }
    }
}

cursor-settings

Your database path must be provided as an argument.

Available Tools
Database Information
db_info

Get detailed information about the connected database.

Example:

{
  "method": "tools/call",
  "params": {
    "name": "db_info",
    "arguments": {}
  }
}
list_tables

List all tables in the database.

Example:

{
  "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:

{
  "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 pairs

Example:

{
  "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:

{
  "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:

{
  "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:

{
  "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 query

Example:

{
  "method": "tools/call",
  "params": {
    "name": "query",
    "arguments": {
      "sql": "SELECT * FROM users WHERE id = ?",
      "values": [1]
    }
  }
}
Built with

Appreciation

If you enjoy this library please consider sending me a tip to support my work 😀

🍵 tip me here