PluginBench
MCP Server
Maintained
MIT

QueryPilot MCP Server

io.github.nickklos10/querypilot

What is the QueryPilot MCP server?

Safe SQL gateway for AI agents: SELECT-only validation, access policies, masking, audit trail, evals

How to install QueryPilot

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • QUERYPILOT_DATABASE_URL
    required
    secret

    SQLAlchemy-style database connection URL, e.g. sqlite:///demo.db or postgresql://user:pass@host:5432/db. Equivalent to --database-url.

  • QUERYPILOT_DIALECT

    SQL dialect for the connector. Equivalent to --dialect.

  • QUERYPILOT_MAX_ROWS

    Maximum rows returned per query. Equivalent to --max-rows.

  • QUERYPILOT_TIMEOUT_SECONDS

    Query execution timeout in seconds. Equivalent to --timeout-seconds.

  • QUERYPILOT_ACCESS_POLICY_JSON

    JSON-encoded AccessPolicy (blocked_columns, allowed_columns, row_filters, masking_rules) enforced before execution. Equivalent to --access-policy-json.

  • QUERYPILOT_MCP_TRANSPORT

    MCP transport used by `querypilot mcp`. Equivalent to --transport. Most MCP clients should leave this at stdio; streamable-http is for clients that speak Streamable HTTP directly.

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "querypilot": {
      "command": "uvx",
      "args": [
        "querypilot",
        "mcp"
      ],
      "env": {
        "QUERYPILOT_DATABASE_URL": "<YOUR_QUERYPILOT_DATABASE_URL>",
        "QUERYPILOT_DIALECT": "<YOUR_QUERYPILOT_DIALECT>",
        "QUERYPILOT_MAX_ROWS": "<YOUR_QUERYPILOT_MAX_ROWS>",
        "QUERYPILOT_TIMEOUT_SECONDS": "<YOUR_QUERYPILOT_TIMEOUT_SECONDS>",
        "QUERYPILOT_ACCESS_POLICY_JSON": "<YOUR_QUERYPILOT_ACCESS_POLICY_JSON>",
        "QUERYPILOT_MCP_TRANSPORT": "<YOUR_QUERYPILOT_MCP_TRANSPORT>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "querypilot": {
      "command": "uvx",
      "args": [
        "querypilot",
        "mcp"
      ],
      "env": {
        "QUERYPILOT_DATABASE_URL": "<YOUR_QUERYPILOT_DATABASE_URL>",
        "QUERYPILOT_DIALECT": "<YOUR_QUERYPILOT_DIALECT>",
        "QUERYPILOT_MAX_ROWS": "<YOUR_QUERYPILOT_MAX_ROWS>",
        "QUERYPILOT_TIMEOUT_SECONDS": "<YOUR_QUERYPILOT_TIMEOUT_SECONDS>",
        "QUERYPILOT_ACCESS_POLICY_JSON": "<YOUR_QUERYPILOT_ACCESS_POLICY_JSON>",
        "QUERYPILOT_MCP_TRANSPORT": "<YOUR_QUERYPILOT_MCP_TRANSPORT>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "querypilot": {
      "command": "uvx",
      "args": [
        "querypilot",
        "mcp"
      ],
      "env": {
        "QUERYPILOT_DATABASE_URL": "<YOUR_QUERYPILOT_DATABASE_URL>",
        "QUERYPILOT_DIALECT": "<YOUR_QUERYPILOT_DIALECT>",
        "QUERYPILOT_MAX_ROWS": "<YOUR_QUERYPILOT_MAX_ROWS>",
        "QUERYPILOT_TIMEOUT_SECONDS": "<YOUR_QUERYPILOT_TIMEOUT_SECONDS>",
        "QUERYPILOT_ACCESS_POLICY_JSON": "<YOUR_QUERYPILOT_ACCESS_POLICY_JSON>",
        "QUERYPILOT_MCP_TRANSPORT": "<YOUR_QUERYPILOT_MCP_TRANSPORT>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "querypilot": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "querypilot",
        "mcp"
      ],
      "env": {
        "QUERYPILOT_DATABASE_URL": "<YOUR_QUERYPILOT_DATABASE_URL>",
        "QUERYPILOT_DIALECT": "<YOUR_QUERYPILOT_DIALECT>",
        "QUERYPILOT_MAX_ROWS": "<YOUR_QUERYPILOT_MAX_ROWS>",
        "QUERYPILOT_TIMEOUT_SECONDS": "<YOUR_QUERYPILOT_TIMEOUT_SECONDS>",
        "QUERYPILOT_ACCESS_POLICY_JSON": "<YOUR_QUERYPILOT_ACCESS_POLICY_JSON>",
        "QUERYPILOT_MCP_TRANSPORT": "<YOUR_QUERYPILOT_MCP_TRANSPORT>"
      }
    }
  }
}
Claude Code
claude mcp add querypilot --env QUERYPILOT_DATABASE_URL=<YOUR_QUERYPILOT_DATABASE_URL> --env QUERYPILOT_DIALECT=<YOUR_QUERYPILOT_DIALECT> --env QUERYPILOT_MAX_ROWS=<YOUR_QUERYPILOT_MAX_ROWS> --env QUERYPILOT_TIMEOUT_SECONDS=<YOUR_QUERYPILOT_TIMEOUT_SECONDS> --env QUERYPILOT_ACCESS_POLICY_JSON=<YOUR_QUERYPILOT_ACCESS_POLICY_JSON> --env QUERYPILOT_MCP_TRANSPORT=<YOUR_QUERYPILOT_MCP_TRANSPORT> -- uvx querypilot mcp

Related MCP servers

Control a real Chrome browser to complete any task: fill forms, extract data, book flights.

110k
Python
MIT
View repository →

Real-time global intelligence: markets, conflicts, country risk, energy, and infrastructure monitoring via 39 MCP tools.

83k
TypeScript
AGPL-3.0
View repository →

Netdata

Active

Real-time infrastructure monitoring with per-second metrics, ML-powered anomaly detection, and zero-configuration setup.

80k
Go
GPL-3.0
View repository →

Trending hip-hop artist momentum scores across four cultural dimensions.

79k
TypeScript
MIT
View repository →

AI orchestration platform with 100+ agents, swarm coordination, and self-learning memory for enterprise development.

68k
TypeScript
MIT
View repository →

Web scraping with stealth HTTP, real browsers, and Cloudflare bypass capabilities.

67k
Python
BSD-3-Clause
View repository →