Skip to main content
All connectors
qbash Connectors / Snowflake

Snowflake MCP serverand Python AI tasks

qbash hosts a Snowflake MCP server you can use in Claude, ChatGPT, Codex, Cursor, Grok Bot and Muse.

Developers use qbash Tasks to write cloud-hosted Python functions that pair Snowflake with models such as Claude and GPT.

MCP server

Build a Snowflake MCP server

Give ChatGPT, Claude and your other AI tools access to Snowflake through one server. You pick which Snowflake tools it shares, and you can add other connectors, memory folders and Tasks to the same server.

How to set it up

  1. Connect Snowflake on the qbash Connectors page.
  2. Create an MCP server and add the Snowflake tools you want to share.
  3. Paste the server URL into your client. It connects with OAuth or an access token.

Python AI task

Write a Snowflake task in Python

A qbash Task is a hosted Python function that calls Snowflake and AI models.

Summarise seven days of trade volume by currency pair

The query totals trades and US dollar notional per pair for each day. An inline prompt turns the totals into a note on the busiest pairs and the largest day-to-day changes.

main.py
report = qbash.integrations.snowflake.execute_query(
query="""SELECT trade_date, currency_pair, COUNT(*) AS trades,
SUM(notional_usd) AS notional_usd
FROM fx_trades
WHERE trade_date >= DATEADD(day, ?, CURRENT_DATE())
GROUP BY trade_date, currency_pair
ORDER BY trade_date, notional_usd DESC""",
query_params=[-7], read_only=True,
)
rows = report["result"]
if rows:
note = qbash.ai.run_prompt(
slug="snowflake-fx-volume",
variables={"volumes": json.dumps(rows)},
)
qbash.output(note)
else:
qbash.output("No FX trades were recorded in the last seven days.")
Sample execute_query response
{
"status": "success",
"result": [
{
"TRADE_DATE": "2026-10-13",
"CURRENCY_PAIR": "EUR/USD",
"TRADES": 1764,
"NOTIONAL_USD": "2291400000.00"
},
{
"TRADE_DATE": "2026-10-13",
"CURRENCY_PAIR": "USD/JPY",
"TRADES": 1129,
"NOTIONAL_USD": "1478250000.00"
},
{
"TRADE_DATE": "2026-10-14",
"CURRENCY_PAIR": "EUR/USD",
"TRADES": 1842,
"NOTIONAL_USD": "2384150000.00"
},
{
"TRADE_DATE": "2026-10-14",
"CURRENCY_PAIR": "USD/JPY",
"TRADES": 1407,
"NOTIONAL_USD": "1902600000.00"
}
],
"row_count": 4,
"total_rows": 4,
"truncated": false,
"rows_affected": null,
"query_id": "01bf6c2e-0001-4a7d-0000-3e5b00a2f19a"
}

What the Snowflake connector can do

  • Run one SQL statement in Snowflake and return its rows. It runs with the rights of the credential's role, so a role granted only SELECT keeps it to reads. Set read_only to refuse anything but SELECT, WITH, SHOW, DESCRIBE and EXPLAIN
  • Insert rows into a Snowflake table. Each row is a dict keyed by column name
  • List the databases the credential's role can see
  • List the schemas in a Snowflake database
  • List the tables and views in a Snowflake schema
  • Describe the columns of a Snowflake table or view
  • List the Snowflake warehouses the credential's role can see, with their size and state
See every Snowflake method in the SDK Reference

qbash Tasks: AI applications in Python

A Task is a Python function that calls Snowflake, your other connectors and models such as Claude, GPT, Gemini and Grok. qbash hosts and runs it.

AnthropicOpenAIGeminixAI

Run Tasks on a schedule or from your team's tools

OpenAIAnthropicGrokGmailSlackGitHub+ more
  • Deterministic where it counts Write the logic in Python and call a model only for the steps that need judgement, so the rest runs the same way every time.
  • Version controlled Every save is a revision you can compare and roll back.
  • Logged Each run records its inputs, output, errors and what started it.
  • Shared credentials Connections belong to your organization, so a Task keeps working when its author is away.

Snowflake MCP questions

Does Snowflake have an official MCP server?

Yes. The Snowflake-managed MCP server, generally available since November 2025, exposes Cortex Analyst, Cortex Search and SQL execution as tools and signs in with Snowflake OAuth. The qbash server signs in with your key pair or token and shares one URL with your other connectors.

Can I keep the Snowflake MCP server to reads?

Yes. Connect a role granted only SELECT, or set read_only on execute_query. Test runs in qbash force read_only.

Build a Snowflake task

Write it in Python with AI steps, and qbash hosts it with versions and run logs.

Build a task

Build a Snowflake MCP server

Pick the Snowflake tools to share and connect ChatGPT, Claude or Grok Bot.

Build an MCP server