Skip to content
VS Code

QueryPilot for VS Code

io.github.nickklos10/querypilot

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

client:VS Code transport:stdio runtime:pypi

Install QueryPilot in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "querypilot-database-url",
      "description": "QUERYPILOT_DATABASE_URL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "querypilot-dialect",
      "description": "QUERYPILOT_DIALECT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "querypilot-max-rows",
      "description": "QUERYPILOT_MAX_ROWS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "querypilot-timeout-seconds",
      "description": "QUERYPILOT_TIMEOUT_SECONDS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "querypilot-access-policy-json",
      "description": "QUERYPILOT_ACCESS_POLICY_JSON",
      "password": true
    },
    {
      "type": "promptString",
      "id": "querypilot-mcp-transport",
      "description": "QUERYPILOT_MCP_TRANSPORT",
      "password": true
    }
  ],
  "servers": {
    "querypilot": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "querypilot"
      ],
      "env": {
        "QUERYPILOT_DATABASE_URL": "${input:querypilot-database-url}",
        "QUERYPILOT_DIALECT": "${input:querypilot-dialect}",
        "QUERYPILOT_MAX_ROWS": "${input:querypilot-max-rows}",
        "QUERYPILOT_TIMEOUT_SECONDS": "${input:querypilot-timeout-seconds}",
        "QUERYPILOT_ACCESS_POLICY_JSON": "${input:querypilot-access-policy-json}",
        "QUERYPILOT_MCP_TRANSPORT": "${input:querypilot-mcp-transport}"
      }
    }
  }
}

VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs

QueryPilot in other clients