This project is currently in the experimental phase. Feel free to explore, report issues, and share your feedback.
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.
- Query Execution: Perform
SELECT
,INSERT
,UPDATE
, andDELETE
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.
The MCP Server offers the following tools:
- read-query: Perform
SELECT
queries and fetch results. - write-query: Perform
INSERT
,UPDATE
, orDELETE
operations. - create-table: Create new database tables.
- list-tables: Display all tables in the database.
- describe-table: Retrieve schema details for a specific table.
- list-commands: List available commands and access external documentation.
- execute-command: Run commands from the
list-commands
tool. - list-analyzer: Analyze slow queries with optional filters.
- analyzer-plan-id: Gather details about query plans and indexes.
- analyzer-reset: Reset query statistics for specific queries, groups, or databases.
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.
Ensure Node.js is installed on your machine with:
node --version
If Node.js is not installed, you can download it from nodejs.org.
Refer to the official documentation for detailed instructions.
-
In the root of your project create the file
.vscode/mcp.json
-
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}"
}
}
}
}
}
npm run build
After building the package, run it with:
node build/index.js --connectionString <CONNECTION_STRING>
To locally test the package:
- Pack the package:
npm pack
- Run the packed file:
npx <PACKAGE_FILENAME>.tgz --connectionString <CONNECTION_STRING>
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/
- 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.
To test sse
transport with a remote or local server:
- URL:
http://localhost:8090/v1/mcp/sse