Snowflake to ChatGPT

ChatGPT connects to a Snowflake-managed MCP server over HTTPS. No data is copied into ChatGPT and no administrator password is handed over.

The short answer

The setup is a connector created in ChatGPT Developer Mode, a Snowflake OAuth integration that allows its exact callback URL, and a narrow role each person signs in with. What usually breaks is a login that succeeds while queries fail, because the default role or warehouse is wrong or the role cannot use every object in the MCP path.

What ChatGPT reads from Snowflake

MCP server tools
A Cortex Agent, semantic view, Cortex Search service, function or procedure exposed by the server, each with its own grant.
Approved reporting tables
Gold tables in one schema, read through a read-only role, with comments on tables and key columns.
Masked sensitive columns
Salaries or personal data protected with a masking policy in Snowflake rather than trusting the prompt.

How we set it up

  1. 1

    Create a least-privilege role

    We grant USAGE on the reporting warehouse, the database, the MCP server’s schema and the server, plus only what its tools need.

  2. 2

    Start the connector and copy the callback

    With Developer Mode on, we create the connector in ChatGPT, enter the full MCP URL, choose OAuth, and copy the callback URL it shows.

  3. 3

    Create the OAuth integration

    We use that exact callback as OAUTH_REDIRECT_URI, restrict the integration to the connector role, and enter the client ID and one active secret in ChatGPT.

  4. 4

    Set defaults and verify the session

    We grant the role, set default role and warehouse, have each person sign in, and run a context query and one narrow business query.

What breaks, and how we handle it

Login works, queries fail
If the default warehouse is blank, or the default role cannot use it, the OAuth screen can finish while the MCP session fails to start.
A callback URL that almost matches
A different hostname, path or trailing character stops OAuth before permissions are tested. We copy the value ChatGPT displays.
Workspace settings
In a managed workspace an owner may need to allow Developer Mode or publish the connector. That does not give members the owner’s Snowflake access.
Changes not picked up
An existing token can keep old session context. Each person reconnects after any change to grants or defaults.
Uncapped query cost
We put AI queries on their own warehouse with a statement timeout and a resource monitor, and use budgets for serverless and AI services.

What we build on top of the Snowflake data

  • Read-only role on approved gold tables, with secondary roles off
  • Dedicated AI warehouse with a statement timeout and resource monitor
  • Comments on approved tables and key columns
  • Masking policies on sensitive columns
  • Semantic views for metrics that need one definition

Common questions

Does ChatGPT get access to my whole Snowflake account?

No. It connects to a Snowflake-managed MCP server and can only use the tools and data the signed-in Snowflake user is allowed to access.

Where do I add a Snowflake connector in ChatGPT?

Enable Developer Mode under Settings, Connectors, Advanced, then create the connector under Settings, Connectors. Menu labels can vary by plan and workspace policy.

Why can ChatGPT sign into Snowflake but not query?

Check the connector role, warehouse usage, database and schema usage including PUBLIC, MCP server usage and the underlying objects. Then reconnect, because an old token can keep old settings.

Does session:role:all activate every Snowflake role?

No. Despite the name, the session starts with the user’s DEFAULT_ROLE. Setting a default role also does not grant it: the user must have the role.

Does each person need their own Snowflake login?

Yes. Sharing the connector configuration does not share a Snowflake identity or role session. Each person completes the Snowflake authorization with their own account or SSO.

Want Snowflake data you can trust?

Bring the Snowflake reports that don't match. We'll trace them to the source and show you where to start.

Book a Call