Connect your AI Agents to Snowflake in minutes

Available tools
list_databases
List all databases in the Snowflake account
create_database
Create a new database in Snowflake
alter_database
Alter an existing database in Snowflake
drop_database
Drop a database from Snowflake
get_database
Get details of a specific database
list_schemas
List all schemas in a database
create_schema
Create a new schema in a database
alter_schema
Alter an existing schema in Snowflake
drop_schema
Drop a schema from a database
get_schema
Get details of a specific schema
list_roles
List all roles in the Snowflake account
create_role
Create a new role in Snowflake
drop_role
Drop a role from Snowflake
get_role
Get details of a specific role
grant_privilege
Grant privileges to a role on a Snowflake object
revoke_privilege
Revoke privileges from a role on a Snowflake object
grant_role
Grant a role to a user or another role
revoke_role
Revoke a role from a user or another role
execute_sql
Execute a SQL statement in Snowflake (query, DDL, or DML)
execute_sql_readonly
Execute a read-only SQL statement in Snowflake (SELECT, WITH, SHOW, DESCRIBE, EXPLAIN, VALUES, LIST). Rejects DDL/DML and multi-statement input. Use execute_sql for writes.
get_statement_status
Get the status of an asynchronous SQL statement
get_query_results
Fetch results from a completed SQL query with pagination
cancel_statement
Cancel a running SQL statement
list_stages
List all stages in a schema
create_stage
Create a new stage for data loading/unloading
drop_stage
Drop a stage from Snowflake
get_stage
Get details of a specific stage
list_stage_files
List files in a stage
describe_stage
Describe a stage to see its properties and file format settings
copy_into_table
Load data from a stage into a table. Supports file patterns, error handling modes, and validation.
copy_into_location
Unload data from a table or query to a stage. Supports file format and partitioning options.
list_tables
List all tables in a schema
create_table
Create a new table in Snowflake
alter_table
Alter an existing table in Snowflake
drop_table
Drop a table from Snowflake
describe_table
Get the structure and column definitions of a table
get_table
Get details of a specific table
list_tasks
List all tasks in a schema
create_task
Create a new scheduled task in Snowflake
alter_task
Alter an existing task in Snowflake
drop_task
Drop a task from Snowflake
resume_task
Resume a suspended task to start scheduled execution
suspend_task
Suspend a running task to stop scheduled execution
execute_task
Execute a task immediately without waiting for schedule
get_task_history
Get execution history for a task
get_task
Get details of a specific task
list_users
List all users in the Snowflake account
create_user
Create a new user in Snowflake
alter_user
Alter an existing user in Snowflake
drop_user
Drop a user from Snowflake
get_user
Get details of a specific user
validate_credential
Validate Snowflake credentials by executing a lightweight query. Supports key-pair and programmatic access token authentication. Returns {success, message}.
list_warehouses
List all warehouses in the Snowflake account
create_warehouse
Create a new virtual warehouse in Snowflake
alter_warehouse
Alter an existing warehouse in Snowflake
drop_warehouse
Drop a warehouse from Snowflake
resume_warehouse
Resume a suspended warehouse
suspend_warehouse
Suspend a running warehouse to stop billing
get_warehouse
Get details of a specific warehouse

How to set up Merge Agent Handler
In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}FAQs on using Merge's Snowflake MCP server
FAQs on using Merge's Snowflake MCP server
What is a Snowflake MCP server?
It’s an MCP server that lets you access data from a Snowflake instance via tools. Your agents can invoke these tools to modify databases, create a schema in a database, list user roles, and more.
Snowflake offers an official MCP server. But you can also access Snowflake MCP servers from 3rd-party platforms, like Merge Agent Handler.
What are common ways to use a Snowflake MCP server?
Here are just a few popular use cases:
- Schema and metadata discovery for better SQL generation: Browse databases, schemas, tables, columns, comments, and sample values so an LLM can ground itself before writing queries
- Ad hoc analytics and dashboards: Generate SQL for explorations, slice-and-dice, cohort checks, funnel breakdowns, and quick “why did this change?” investigations
- Data quality and observability: Run validation queries (null rates, duplicates, referential integrity), monitor freshness/latency, and surface anomalies in key metrics
- Customer or support “data lookup” workflows: Given an account id or email, fetch relevant rows (usage, invoices, events) for support or sales enablement
- Automated reporting: Produce daily/weekly summaries by running a known set of queries and returning results in a structured format (tables, JSON), often for posting into docs or Slack
What are popular tools for Snowflake’s MCP server?
Here are some widely-used tools:
Databases
- <code class="blog_inline-code">list_databases</code>
- <code class="blog_inline-code">create_databases</code>
- <code class="blog_inline-code">alter_databases</code>
- <code class="blog_inline-code">drop_database</code>
Schemas
- <code class="blog_inline-code">list_schemas</code>
- <code class="blog_inline-code">create_schema</code>
- <code class="blog_inline-code">get_schema</code>
- <code class="blog_inline-code">drop_schema</code>
Roles
- <code class="blog_inline-code">create_role</code>
- <code class="blog_inline-code">list_roles</code>
- <code class="blog_inline-code">get_role</code>
- <code class="blog_inline-code">grant_role</code>
What makes Merge Agent Handler’s Snowflake MCP server better than alternative Snowflake MCP servers?
Here are just a few reasons:
- Unified authentication and credential management: Merge Agent Handler abstracts OAuth and API key handling, enabling secure, user-level or shared authentication without custom implementation
- Built-in security and DLP: Developers can enforce granular policies on tool usage and data access, helping ensure sensitive Snowflake data is protected during agent interactions
- Real-time observability and auditability: Agent Handler provides real-time monitoring of tool calls along with fully-searchable logs, enabling debugging, compliance audits, and performance tracking of Snowflake interactions
- Connector Studio for customization: Teams can modify or extend Snowflake tools without rebuilding integrations from scratch, allowing tailored workflows for specific use cases
- Evaluation Suite for pre-production validation: Developers can test Snowflake tool performance before deployment, reducing the risk of failures in production environments
Can I set custom security rules for Snowflake tool calls in Merge Agent Handler?
Yes, Merge Agent Handler supports granular security controls, including DLP policies, which allow you to define rules governing how agents interact with external systems like Snowflake.
Here are some rules you can set:
- Prevent PII leaks in ad hoc analytics. Block or redact Snowflake query inputs and outputs when they contain SSNs, credit card numbers, or other regulated identifiers
- Stop credential and secret exfiltration. Detect and block tool calls that include API keys, tokens, or passwords in prompts, SQL text, or returned results
- Allow “safe insights” while masking raw rows. Let queries run, but redact sensitive fields in the result set before the agent receives them
- Create an audit trail for compliance reviews. Log tool calls (without changing payloads) so security teams can investigate who queried what and when
- Add “step-up” controls for risky workflows. Block or gate tool calls that match high-risk patterns (for example, bulk exports or unusually broad queries) unless explicitly allowed
- Customize detections to your data model. Use custom regex rules to catch internal identifiers (like customer IDs, contract numbers, or proprietary tokens) that generic DLP rules might miss
How can I start using Merge Agent Handler’s Snowflake connector?
You can take these steps:
1. Create (or sign in to) an Agent Handler account, then open the dashboard where you can manage connectors and Tool Packs.
2. Create a Tool Pack for the workflow you want (e.g., “Snowflake analytics copilot”), since Tool Packs define which connectors and tools your agent can access.
3. Add the Snowflake connector to that Tool Pack and configure access using least-privilege permissions (via your Tool Pack configuration and RBAC/policies).
4. Create a Registered User (the identity your agent will execute tool calls as) and complete the Snowflake authentication flow when prompted.
5. Connect your agent runtime to Agent Handler (either via MCP or the SDK pattern) so your agent can discover tools by calling “list tools” and then execute Snowflake tool calls through Agent Handler.
6. Validate end-to-end behavior using the Tool Pack tester / Evaluation Suite, starting with low-risk read-only queries, then iterating until outputs are consistent.
7. Before production, configure security rules (DLP) and alerts to scan Snowflake tool inputs and outputs, and to block, redact, or log sensitive data patterns.
Ready to try it out?
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now

























