Skip to content

πŸ‡ Model Context Protocol (MCP) server that provides comprehensive SQLite database interaction capabilities

License

Notifications You must be signed in to change notification settings

jparkerweb/mcp-sqlite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ‡ 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>"
            ]
        }
    }
}

Windows users will need to use the cmd /c as follows:

{
    "mcpServers": {
        "MCP SQLite Server": {
            "command": "cmd",
            "args": [
                "/c",
                "npx",
                "-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": "[email protected]",
        "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": "[email protected]"
      },
      "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 πŸ˜€