How to connect to the Snowflake MCP with Claude Code (5 steps)
.png)
Engineers building data-intensive features spend more time than they should switching between their terminal and Snowflake's UI: checking table schemas, running test queries, verifying row counts, then switching back to write the next line of code.
And every round trip breaks their flow.
To help developers query Snowflake warehouses and inspect data directly from the terminal, we'll show you how to connect Snowflake with Merge Agent Handler's Snowflake MCP server.
How it works
Merge Agent Handler acts as a secure bridge between Claude Code and Snowflake's API. When you configure a Tool Pack and Registered User, Merge generates a unique MCP URL that Claude Code accesses via HTTP, combined with an API key for authentication.
Here's how the command looks before you add your specific MCP URL and API key:
Claude Code sends requests to that MCP URL, and Merge handles authentication and API calls to Snowflake on the backend. You don't manage Snowflake credentials or key pairs locally. Merge handles credential storage from here on.
Prerequisites
Before getting started, you'll need the following:
- A Merge Agent Handler account
- Claude Code installed
- A Snowflake account with access to the databases and warehouses you want to query
Related: A guide to integrating the Datadog MCP with Claude Code
1. Create a Tool Pack
Log into Merge Agent Handler and navigate to Tool Packs. Click Create Tool Pack and give it a name tied to the use case, like Data query assistant.

Under connectors, select Snowflake, and choose which tools to enable.

For most development workflows, enabling schema inspection, table listing, and query execution covers the common cases. Enable write tools only if your agent needs to create or modify objects.
Save the Tool Pack. You'll return here in step 4 to copy your MCP URL.
2. Add a Registered User
Inside your Tool Pack, create a Registered User. This is the identity context under which your agent operates: the account it acts on behalf of when calling Snowflake.

Give it a name that maps to your environment, like dev-local or your own name. Once created, Merge generates a unique MCP URL scoped to this user.
3. Authenticate Snowflake
From the Registered User detail page, click Add Connector and select Snowflake.
Complete the authentication flow to grant your agent access to the Snowflake account and databases you want to connect.

Once authenticated, Merge stores and manages the credentials. You won't need to re-authenticate unless you revoke access.
4. Gather your credentials
You need two things before configuring Claude Code:
1. MCP URL: found on the Tool Pack detail page under the Registered User you just created. It looks like
2. API key: found in Settings > API Keys in your Merge Agent Handler dashboard. Create one if you don't have one yet.
Keep both handy for the next step.
5. Configure Claude Code with Snowflake
Run the following command in your terminal, substituting your actual MCP URL and API key:
Verify the connection registered: <code class="blog_inline-code">claude mcp list</code>
<code class="blog_inline-code">agent-handler</code> should appear in the output with a connected status.
To confirm the connector is accessible, open a Claude Code session and run a command like "List all tables in the production database and show me the schema for the events table."
You should then see an output that looks like the following:

{{this-blog-only-cta}}
Snowflake MCP FAQ
In case you have more questions on setting up and using the Snowflake MCP in Claude Code, we've addressed several more commonly-asked questions below.
What can you do once the Snowflake MCP is connected to Claude Code?
With Snowflake connected, Claude Code can:
- List databases, schemas, and tables: browse the full structure of your Snowflake account without opening the UI
- Inspect table schemas: retrieve column names, data types, clustering keys, and constraints for any table
- Run queries: execute SQL against your Snowflake warehouse and return results Claude can reason over directly in the terminal
- Check row counts and data distributions: validate assumptions about your data before writing transformation logic
- List warehouses and their status: see which compute resources are running and what their current load is
Why use Merge Agent Handler vs. a self-hosted Snowflake MCP server?
You can build a self-hosted MCP server that connects directly to Snowflake. For a single developer with direct database access, that works.
It breaks down at the team level. Self-hosting means distributing Snowflake credentials across developers, managing key pair rotation, and maintaining the server as Snowflake's API evolves. For teams where different engineers need different levels of access—some read-only, some with write permissions to specific schemas—you end up managing that access control outside of any central system.
Merge Agent Handler handles this at the Tool Pack and Registered User level. You define exactly which databases, schemas, and tools each agent can access, and every query is logged. When you need to audit what an agent read or wrote during a data incident, the trail is there.
For teams running agents against production Snowflake data, Merge Agent Handler removes the credential management overhead and adds the access scoping that matters at scale.
Why connect Snowflake to Claude Code?
Snowflake is where your production data lives. Claude Code is where you write the code that transforms, queries, and builds on it. Without a connection between the two, every data question means a round trip: open the Snowflake UI, run the query, copy the result, paste it back into your terminal.
With the Snowflake MCP connected, Claude Code can list tables, inspect schemas, and run queries without leaving the session. That means you can ask Claude to verify a table structure before writing a JOIN, check whether a column contains nulls before adding a NOT NULL constraint, validate the output of a new transformation against the raw source data, and more.
.png)
.png)


