Thanks to visit codestin.com
Credit goes to github.com

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

withakay/mcp-sqlite

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

27 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",
                "--allow-runtime-db-path",
                "<path-to-your-sqlite-database.db>"
            ]
        }
    }
}

e.g. VSCode:

{
    "servers": {
        "MCP SQLite Server": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "mcp-sqlite",
                "--allow-runtime-db-path",
                "<path-to-your-sqlite-database.db>"
            ]
        }
    }
}

cursor-settings

Your database path must be provided as an argument. Include the optional --allow-runtime-db-path flag to enable runtime database switching and expose additional management tools.

Available Tools

Database Management

set_database_path

Change the connected database to an existing file.

Parameters:

  • dbPath (string): Path to an existing SQLite database file.

Example:

{
  "method": "tools/call",
  "params": {
    "name": "set_database_path",
    "arguments": { "dbPath": "/path/to/database.db" }
  }
}

create_database

Create a new SQLite database and switch to it.

Parameters:

  • dbPath (string): Path for the new database file.

Example:

{
  "method": "tools/call",
  "params": {
    "name": "create_database",
    "arguments": { "dbPath": "/path/to/new.db" }
  }
}

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 πŸ˜€

About

Model Context Protocol (MCP) server that provides comprehensive SQLite database interaction capabilities

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%