sqlitecloud-mcp-server

sqlitecloud/sqlitecloud-mcp-server

3.2

If you are the rightful owner of sqlitecloud-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Model Context Protocol (MCP) Server for SQLite Cloud facilitates interaction with SQLite Cloud databases using AI models, leveraging the MCP to execute queries, manage schemas, and analyze performance.

Tools
  1. read-query

    Perform SELECT queries and fetch results.

  2. write-query

    Perform INSERT, UPDATE, or DELETE operations.

  3. create-table

    Create new database tables.

  4. list-tables

    Display all tables in the database.

  5. describe-table

    Retrieve schema details for a specific table.

  6. list-commands

    List available commands and access external documentation.

  7. execute-command

    Run commands from the list-commands tool.

  8. list-analyzer

    Analyze slow queries with optional filters.

  9. analyzer-plan-id

    Gather details about query plans and indexes.

  10. analyzer-reset

    Reset query statistics for specific queries, groups, or databases.

Model Context Protocol (MCP) Server for SQLite Cloud

This project is currently in the experimental phase. Feel free to explore, report issues, and share your feedback.

mcp-demostration

Overview

The MCP Server for SQLite Cloud enables seamless interaction with SQLite Cloud databases using the AI models. It utilizes the Model Context Protocol (MCP) to provide tools for executing queries, managing schemas, and analyzing query performance.

Features

  • Query Execution: Perform SELECT, INSERT, UPDATE, and DELETE SQL operations on SQLite Cloud databases.
  • Schema Management: Create tables, list existing ones, and retrieve schema details.
  • Command Execution: Run predefined commands supported by SQLite Cloud.
  • Performance Analysis: Identify slow queries, analyze query plans, and reset query statistics.

Tools

The MCP Server offers the following tools:

  1. read-query: Perform SELECT queries and fetch results.
  2. write-query: Perform INSERT, UPDATE, or DELETE operations.
  3. create-table: Create new database tables.
  4. list-tables: Display all tables in the database.
  5. describe-table: Retrieve schema details for a specific table.
  6. list-commands: List available commands and access external documentation.
  7. execute-command: Run commands from the list-commands tool.
  8. list-analyzer: Analyze slow queries with optional filters.
  9. analyzer-plan-id: Gather details about query plans and indexes.
  10. analyzer-reset: Reset query statistics for specific queries, groups, or databases.

Getting Started

To use the MCP Server, create a free account on SQLite Cloud and get your Connection String.
Start the server with the following command:

npx @sqlitecloud/mcp-server --connectionString <your_connection_string>

Replace <your_connection_string> with your SQLite Cloud connection string.

Configure Your AI model

Requirements

Ensure Node.js is installed on your machine with:

node --version

If Node.js is not installed, you can download it from nodejs.org.

VSCode Integration

Refer to the official documentation for detailed instructions.

  1. In the root of your project create the file .vscode/mcp.json

  2. Add the following configuration (choose the server configuration you prefer):

{
  "mcp": {
    "inputs": [
     {
       "type": "promptString",
       "id": "sqlitecloud-connection-string",
       "description": "Set the SQLite Cloud Connection String",
       "password": true
     }
    ],
    "servers": {
      "sqlitecloud-mcp-server-dev": {
        "type": "stdio",
        "command": "node",
        "args": [
          "./build/index.js",
          "--connectionString",
          "${input:sqlitecloud-connection-string}"
        ]
      },
      "sqlitecloud-mcp-server": {
        "type": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "@sqlitecloud/mcp-server",
          "--connectionString",
          "${input:sqlitecloud-connection-string}"
        ]
      },
      "sqlitecloud-mcp-server-sse": {
        "type": "sse",
        "url": "<YOUR_NODE_ADDRESS>/v1/mcp/sse",
        "headers": {
          "Authorization": "Bearer ${input:sqlitecloud-connection-string}"
        }
      }
    }
  }
}

Development

Build

npm run build

Run

After building the package, run it with:

node dist/main.js --connectionString <CONNECTION_STRING>

Local Testing

To locally test the package:

  1. Pack the package:
npm pack
  1. Run the packed file:
npx <PACKAGE_FILENAME>.tgz --connectionString <CONNECTION_STRING>

Inspection

Use the inspector to test stdio and sse transports. First, build the package, then run:

npx @modelcontextprotocol/inspector@latest

Access the inspector at: http://127.0.0.1:6274/

Stdio Transport
  • Transport Type: stdio
  • Command: npx
  • Arguments: ~/<PATH_TO_PACKAGE_FOLDER> --connectionString <CONNECTION_STRING>

Note: Use the PATH_TO_PACKAGE_FOLDER from your home directory to avoid permission issues.

SSE Transport

To test sse transport with a remote or local server:

  • URL: http://localhost:8090/v1/mcp/sse