QueryPilot MCP
QueryPilot sits between an LLM agent and your database. It gives the agent read-only, policy-checked SQL tools for any SQLAlchemy database. It grounds the model in your real schema, feeds errors back so the model can fix its SQL, and ships an eval harness that proves the SQL is correct and stays correct.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Generate and validate SQL queries for AI agents
- Execute read-only SQL with access policies
- Run evals to prove SQL correctness
- Connect to databases like PostgreSQL and Snowflake
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
querypilot 0.1.1
{
"version": "0.1.1",
"transport": "stdio",
"identifier": "querypilot",
"runtimeHint": "uvx",
"registryType": "pypi",
"registryBaseUrl": "https://pypi.org",
"packageArguments": [
{
"type": "positional",
"value": "mcp",
"description": "Selects the `querypilot mcp` subcommand (as opposed to `serve` or `eval`)."
}
],
"environmentVariables": [
{
"name": "QUERYPILOT_DATABASE_URL",
"format": "string",
"isRequired": true,
"description": "SQLAlchemy-style database connection URL, e.g. sqlite:///demo.db or postgresql://user:pass@host:5432/db. Equivalent to --database-url."
},
{
"name": "QUERYPILOT_DIALECT",
"format": "string",
"choices": [
"sqlite",
"postgres",
"postgresql"
],
"default": "sqlite",
"description": "SQL dialect for the connector. Equivalent to --dialect."
},
{
"name": "QUERYPILOT_MAX_ROWS",
"format": "number",
"default": "100",
"description": "Maximum rows returned per query. Equivalent to --max-rows."
},
{
"name": "QUERYPILOT_TIMEOUT_SECONDS",
"format": "number",
"default": "10",
"description": "Query execution timeout in seconds. Equivalent to --timeout-seconds."
},
{
"name": "QUERYPILOT_ACCESS_POLICY_JSON",
"format": "string",
"description": "JSON-encoded AccessPolicy (blocked_columns, allowed_columns, row_filters, masking_rules) enforced before execution. Equivalent to --access-policy-json."
},
{
"name": "QUERYPILOT_MCP_TRANSPORT",
"format": "string",
"choices": [
"stdio",
"streamable-http",
"sse"
],
"default": "stdio",
"description": "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."
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"querypilot-mcp": {
"command": "uvx",
"args": [
"querypilot==0.1.1",
"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>"
}
}
}
}Cline
{
"mcpServers": {
"querypilot-mcp": {
"command": "uvx",
"args": [
"querypilot==0.1.1",
"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
{
"servers": {
"querypilot-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"querypilot==0.1.1",
"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 Desktop
{
"mcpServers": {
"querypilot-mcp": {
"command": "uvx",
"args": [
"querypilot==0.1.1",
"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>"
}
}
}
}Let your agent find its tools
Find servers like QueryPilot MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.