# StackQL MCP server

> Query and provision cloud and SaaS resources across 40+ providers using SQL statements.

- Listing: https://mcp.tc/i/stackql
- Connect: this is a local (stdio) server; install it on your machine (see Install). The listing link is a page, not an MCP endpoint.
- Type: local (stdio)
- Auth: no API key needed
- Category: [Cloud & DevOps](https://mcp.tc/c/cloud-devops)
- Vendor: StackQL
- Homepage: <https://stackql.io>
- Repository: <https://github.com/stackql/stackql>
- Package: npm `@stackql/mcp-server`

## About

StackQL turns SQL statements into API calls against cloud and SaaS providers such as Google, AWS, Azure, Okta and GitHub. Through MCP, an assistant can query the state of resources and provision or change them using SQL, based on provider definitions from the StackQL provider registry.

It runs locally over stdio. Install it with npx (@stackql/mcp-server), uvx (stackql-mcp-server), Docker (stackql/stackql-mcp) or a platform-specific .mcpb bundle. A GitHub Action is available for CI and defaults to read-only mode. Provider credentials are needed for the clouds you query.

## What it can do

- Query cloud and SaaS resources using SQL
- Provision and modify resources through SQL statements
- Work across 40+ providers including Google, AWS, Azure, Okta and GitHub
- Run in read-only mode for CI workflows
- Install via npm, PyPI, Docker or .mcpb bundle

## Example prompts

- "List all my AWS EC2 instances that are stopped, using StackQL."
- "Query Google Cloud storage buckets and show which are public."
- "Show GitHub repositories in my organization with no recent pushes."
- "Use SQL to list Azure virtual machines grouped by region."

## Install

### Claude Code

1. Run this in a terminal, in your project folder:

```bash
claude mcp add --transport stdio stackql -- npx -y @stackql/mcp-server
```

2. Start Claude Code and type `/mcp`. **stackql** should show as connected.

Add `--scope user` to make it available in every project.

### Claude Desktop

1. Open **Settings → Developer → Edit Config**. It opens `claude_desktop_config.json`. Add:

`claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "stackql": {
      "command": "npx",
      "args": [
        "-y",
        "@stackql/mcp-server"
      ]
    }
  }
}
```

2. Save the file and restart Claude Desktop.

Needs Node.js on your computer. The file lives in `~/Library/Application Support/Claude/` on macOS and `%APPDATA%\Claude\` on Windows.

### Cursor

[Add to Cursor](<https://cursor.com/install-mcp?name=stackql&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBzdGFja3FsL21jcC1zZXJ2ZXIiXX0%3D>) (opens Cursor)

Or add it by hand to `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (this project):

`mcp.json`:

```json
{
  "mcpServers": {
    "stackql": {
      "command": "npx",
      "args": [
        "-y",
        "@stackql/mcp-server"
      ]
    }
  }
}
```

Needs Node.js on your computer.

### VS Code

[Install in VS Code](<https://vscode.dev/redirect/mcp/install?name=stackql&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40stackql%2Fmcp-server%22%5D%7D>) (opens VS Code)

Or from a terminal:

```bash
code --add-mcp '{"name":"stackql","type":"stdio","command":"npx","args":["-y","@stackql/mcp-server"]}'
```

Or commit it to the repo in `.vscode/mcp.json`:

`.vscode/mcp.json`:

```json
{
  "servers": {
    "stackql": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@stackql/mcp-server"
      ]
    }
  }
}
```

Needs Node.js on your computer.

### Devin Desktop

1. Add it to `~/.config/devin/mcp_config.json` (macOS and Linux) or `%APPDATA%\devin\mcp_config.json` (Windows):

`mcp_config.json`:

```json
{
  "mcpServers": {
    "stackql": {
      "command": "npx",
      "args": [
        "-y",
        "@stackql/mcp-server"
      ]
    }
  }
}
```

2. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf.

### Codex

```bash
codex mcp add stackql -- npx -y @stackql/mcp-server
```

Or edit `~/.codex/config.toml` directly:

`config.toml`:

```toml
[mcp_servers.stackql]
command = "npx"
args = ["-y", "@stackql/mcp-server"]
```

Needs Node.js on your computer.

### Gemini CLI

```bash
gemini mcp add stackql npx -- -y @stackql/mcp-server
```

This adds it to the current project. Add `-s user` to use it everywhere.

### Any client

Most clients that start local servers accept this shape:

```json
{
  "mcpServers": {
    "stackql": {
      "command": "npx",
      "args": [
        "-y",
        "@stackql/mcp-server"
      ]
    }
  }
}
```

Zed puts servers under `context_servers` in its settings, with the same `command`, `args` and `env` fields.

Needs Node.js on your computer.

## Details

- Server version: 0.12.732
- Last checked: 2026-10-04
- Listed: 2026-10-04
- Updated: 2026-10-04

---
Source: https://mcp.tc/i/stackql (mcp.tc is an independent directory, not affiliated with this server's publisher). Corrections: https://mcp.tc/report
