SkySQL MCP Server
This package contains everything needed to set up the SkySQL/MariaDB Cloud MCP (Model Context Protocol) server, which provides a powerful interface for managing SkySQL MariaDB database instances and interacting with AI Agents.
Features
- Launch and manage serverless MariaDB database instances
- Interact with AI-powered database agents
- Execute SQL queries directly on SkySQL (MySQL/MariaDB) instances
- Manage database credentials and IP allowlists
- List and monitor database services
Installation
Prerequisites
- Python 3.10 or higher
- A SkySQL/MariaDB Cloud API key
Option 1: Run locally
Installation steps
Clone the repository:
git clone [email protected]:skysqlinc/skysql-mcp.git cd skysql-mcpRun the installation script:
chmod +x install.sh ./install.shCreate a
.envfile in the root directory of the cloned git repository with your SkySQL API key. Obtain API key by signing up for free on SkySQL.SKYSQL_API_KEY=<your_skysql_api_key_here>Start the MCP server (HTTP mode):
chmod +x launch.sh ./launch.shThe server will start on
http://localhost:8000/mcpby default.Configure your IDE:
Cursor
Add the following to your Cursor MCP config (~/.cursor/mcp.json or .cursor/mcp.json in your project):
{
"mcpServers": {
"skysql-mcp-server": {
"url": "http://localhost:8000/mcp",
"headers": {
"X-API-Key": "<your-skysql-api-key>"
}
}
}
}
The
X-API-Keyheader is sent with each request, allowing per-user API keys when the server is hosted remotely.
Windsurf
Add the following to your Windsurf MCP config (~/.codeium/windsurf/mcp_config.json):
{
"mcpServers": {
"skysql-mcp-server": {
"serverUrl": "http://localhost:8000/mcp"
}
}
}
Note: Windsurf uses
serverUrl(noturl) and cannot send request headers. Start theserver in single-tenant mode so it falls back to the API key in your environment:SKYSQL_SINGLE_TENANT=true ./launch.shWith
SKYSQL_API_KEYset in.env(step 3). WithoutSKYSQL_SINGLE_TENANT, the serverrequires every HTTP caller to supply its ownX-API-Keyheader and will reject requests thatdon't โ deliberately, so a shared deployment can never serve requests using the operator's key.
Claude
Add the server as a custom connector (Settings > Connectors > Add custom connector), then supplyyour API key under Request headers:
| Field | Value |
|---|---|
| URL | your deployed server URL, ending in /mcp |
| Header name | x-api-key |
| Header value | your SkySQL API key, with no prefix |
| Required | yes |
Generate the key at app.skysql.com/user-profile/api-keys.Enter it exactly as-is โ Claude sends the value verbatim and does not add a scheme or prefix.
Claude requires a publicly reachable HTTPS URL, so
http://localhost:8000/mcpwill not workhere; deploy the server first. Request header authentication is currently in beta and may need tobe enabled for your organization.
- (Optional) Test the server interactively with MCP CLI:
npx @wong2/mcp-cli uv run python src/mcp-server/server.py