# Snowflake MCP connector

The Snowflake connector lets Claude, ChatGPT, Cursor and other AI clients manage Snowflake users, roles, warehouses, views, alerts and accounts on your behalf, with every action limited to your own Snowflake access and recorded in an audit log.

Source: https://elaichi.ai/connectors/snowflake/

## Facts

| | |
| --- | --- |
| Application | Snowflake |
| Category | Database |
| AI tools | 205 |
| Authentication | Connects over OAuth |
| Needs your own OAuth app | Yes |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 205 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Snowflake is connected

- List Snowflake roles created in the last 30 days.
- Which Snowflake users have no role assigned?
- Show open Snowflake alerts by account.

## Connect Snowflake in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Snowflake.
2. Optionally set Share with, then press Connect.
3. Supply your own Snowflake app, then approve. Snowflake needs an OAuth app you register yourself, so bring its client ID and secret. One person does this once for the organization.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Snowflake tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Snowflake to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Snowflake to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Snowflake to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Snowflake to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Snowflake tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Snowflake through Elaichi

### Create a view without opening a worksheet

Data engineering. Describe the view you need and have it created in the right database and schema, then confirm it is there before pointing a dashboard at it.

### Onboard a new analyst in one ask

Data platform. Create the Snowflake user, grant the right role and check the warehouse they will use, all from the same conversation that started with the hiring ticket.

### Review who holds which Snowflake roles

Security. Pull the full list of Snowflake users and roles ahead of an access review, spot accounts that should have been removed and clean them up on the spot.

### Set up alerts on the numbers that matter

Analytics. Create a Snowflake alert for a threshold your team watches, run it once to check the condition is right, then clone it for a second region.

### See every warehouse before the bill arrives

Finance. List the warehouses in your Snowflake account, ask which ones were created recently, and stand up a properly sized one for a new project instead of reusing the biggest.

### Offboard a leaver cleanly from Snowflake

IT. Remove the departed person's Snowflake user and the roles nobody else needs, and if an account was dropped by mistake, restore it without a support ticket.

## Frequently asked questions

### How do I connect Snowflake to Claude?

First connect Snowflake in Elaichi, then in Claude go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. Snowflake requires an OAuth application registered inside your Snowflake account, so one administrator brings a client ID and secret once during setup; after that, everyone signs in to Snowflake with their normal username and password and nobody else touches a credential. Because Snowflake exposes a large number of actions, short concrete asks such as "list the warehouses" get better results than long paragraphs.

### Does Snowflake work with ChatGPT and Cursor as well as Claude?

Yes. Once Snowflake is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, the Elaichi Agent and any other MCP client. You connect Snowflake once and every client you use picks it up.

### What can an AI agent actually do with my Snowflake account?

With Snowflake connected, an AI agent can list, create, update and remove Snowflake users, list and create roles, list and create warehouses, create and look up views, and set up, run and clone alerts. It can also list Snowflake accounts, create new ones and restore an account that was dropped. It works on live records in your Snowflake account, so an answer about who has which role reflects what is true right now.

### Does connecting Snowflake give the AI access to everything in my account?

No. Every action runs as the person who signed in to Snowflake, so the AI can only see and change what that person's own Snowflake roles already allow. Elaichi can narrow that further by hiding actions from a team, but it can never grant anything the person's Snowflake account does not already have.

### Can my team share one Snowflake connection?

Yes. One administrator connects Snowflake in Elaichi and shares the connection with a team, and nobody else has to handle the OAuth client details or any other credential. Each teammate still signs in to Snowflake as themselves, so every user created or warehouse changed is logged against the person who did it.

### Can I stop an agent from deleting or changing things in Snowflake?

Yes. Restrictions in Elaichi apply per action, so you can allow listing Snowflake users, roles and warehouses while blocking the actions that delete users, drop views or remove accounts. A blocked action is never shown to Claude, ChatGPT, Cursor or any other client, so no prompt, however worded, can reach it.

### What happens to a Snowflake connection when someone leaves?

When you offboard a person in Elaichi, their access to Snowflake through every AI client ends at once. A shared Snowflake connection keeps working for everyone else on the team. If you ever want to remove Snowflake entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client at the same time.

## All 205 Snowflake tools

Every tool below is callable through https://api.elaichi.ai/mcp once Snowflake is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Snowflake users** (List). Use this endpoint to retrieve a list of all users.
- **Get single Snowflake user by ID** (Get). Use this endpoint to retrieve data for a single user. It always requires an ID to fetch.
- **Delete a Snowflake user by ID** (Delete). Use this endpoint to delete a user. It always requires an ID to delete.
- **Create a Snowflake user** (Create). Create a user in Snowflake with the required name parameter and optional createMode query parameter. Returns user creation status and details including name, email, and roles.
- **Update a Snowflake user by ID** (Update). Update a user in Snowflake by specifying the id. Returns the status of the request, indicating success or acceptance for processing.
- **List all Snowflake roles** (List). Use this endpoint to retrieve all the user roles.
- **Create a Snowflake role** (Create). Create a role in Snowflake with the required name parameter. Returns role details including created_on, owner, is_default, is_current, is_inherited, assigned_to_users, granted_to_roles, and granted_roles.
- **Delete a Snowflake role by ID** (Delete). Delete a role by id in Snowflake. Supports the ifExists query to handle non-existent roles without error.
- **List all Snowflake accounts** (List). List accessible accounts in Snowflake. Returns account id and name fields for each account.
- **Create a Snowflake account** (Create). Create an account in Snowflake with required fields name, edition, admin_name, and email. Returns status message indicating success or acceptance of the request.
- **Delete a Snowflake account by ID** (Delete). Delete the specified account by id in Snowflake. Supports ifExists to avoid error if account does not exist and gracePeriodInDays to specify restoration period. Returns 200 or 202 status.
- **Snowflake accounts restore** (Restore). Restore a dropped account by account name in Snowflake. Returns a 200 status for success or 202 if the request is accepted but not completed.
- **List all Snowflake alerts** (List). Use this endpoint to list all alerts in your Snowflake account.
- **Create a Snowflake alert** (Create). Create an alert in Snowflake with database and schema. Returns status indicating request completion.
- **Get single Snowflake alert by ID** (Get). Get alert details by database, schema, and name in Snowflake. Returns alert metadata and status fields.
- **Delete a Snowflake alert by ID** (Delete). Delete an alert by database, schema, and id in Snowflake. Returns 200 if successful or 202 if request is accepted but not completed. Supports ifExists query to handle non-existent alerts.
- **Snowflake alerts execute** (Execute). Execute an alert in Snowflake with the database, schema, and alert name. Returns a response object indicating success or acceptance status.
- **Snowflake alerts clone alert** (Action). Create a new alert by cloning from the specified alert in Snowflake using database, schema, and name. Returns the created alert details.
- **List all Snowflake views** (List). List views in Snowflake for the specified database and schema. Returns view names and optionally their dependency information if deep parameter is true.
- **Create a Snowflake view** (Create). Create a view in Snowflake with database and schema. Returns view name, columns, query, and creation details.
- **Get single Snowflake view by ID** (Get). Get information about a specific view in Snowflake using database, schema, and id. Returns details of the view resource.
- **Delete a Snowflake view by ID** (Delete). Delete a view by database, schema, and id in Snowflake. Returns success status 200 or 202 based on request processing. Supports ifExists query to handle non-existent views gracefully.
- **List all Snowflake warehouses** (List). List warehouses in Snowflake. Returns warehouse names and details matching the like parameter.
- **Create a Snowflake warehouse** (Create). Create or replace a virtual warehouse in Snowflake. Returns the created warehouse details upon success.
- **Get single Snowflake warehouse by ID** (Get). Get information about a specific warehouse by id in Snowflake. Returns detailed warehouse description including configuration and status fields.
- **Delete a Snowflake warehouse by ID** (Delete). Delete a virtual warehouse by id in Snowflake. Returns a success status. Use ifExists to avoid errors if the warehouse does not exist.
- **Update a Snowflake warehouse by ID** (Update). Update a warehouse by id in Snowflake. Returns warehouse properties including state, started_clusters, running, queued, created_on, updated_on, and owner.
- **Snowflake warehouses resume** (Resume). Resume a suspended warehouse by warehouse name in Snowflake. Returns 200 if successful or 202 if request accepted but not completed.
- **Snowflake warehouses suspend** (Suspend). Suspend a warehouse by name in Snowflake. Removes all compute nodes and sets the warehouse to 'Suspended' state if not already suspended. Returns 200 or 202 status on success.
- **Snowflake warehouses rename** (Action). Update and rename a warehouse by specifying a new unique identifier 'name' in Snowflake. Includes handling for non-existent warehouses with ifExists parameter. Returns success status.
- **Snowflake warehouses abort queries** (Action). Abort all queries currently running or queued on the warehouse identified by name in Snowflake. Supports ifExists parameter to handle non-existent warehouses without error.
- **List all Snowflake user defined functions** (List). List user-defined-functions in Snowflake for database and schema. Returns user-defined-function names and details filtered by database and schema.
- **Create a Snowflake user defined function** (Create). Create a user-defined function in Snowflake for the specified database and schema. Returns a response object indicating success or acceptance of the request.
- **Get single Snowflake user defined function by ID** (Get). Get information about a specific user-defined function in Snowflake by database, schema, and id. Returns fields including name, arguments, return_type, language_config, comment, body, created_on, and ownership details.
- **Delete a Snowflake user defined function by ID** (Delete). Delete a user-defined function by database, schema, and id in Snowflake. Returns success status upon completion or acceptance.
- **Snowflake user defined functions rename** (Action). Rename a user-defined function identified by it's name in Snowflake with parameters database and schema. Returns success status of the rename operation.
- **List all Snowflake user grants** (List). List all grants to the user in Snowflake. Requires the name of the user. Returns grants with details about each grant assigned to the user.
- **Create a Snowflake user grant** (Create). Grant a role to the user identified by name in Snowflake. Returns details including created_on and granted_by fields indicating grant creation time and granting role.
- **Snowflake user grants revoke** (Revoke). Revoke grants from the user identified by name in Snowflake. Requires securable details including name, containing_scope with database and securable_type ROLE, and privileges. Returns success status.
- **List all Snowflake tasks** (List). List tasks under the database and schema in Snowflake. Requires database and schema. Returns task details including task names and properties.
- **Create a Snowflake task** (Create). Create a task in Snowflake with database and schema. Returns task id, name, state, owner, created_on, last_committed_on, and schema_name fields.
- **Get single Snowflake task by ID** (Get). Get information about a specific task by database, schema, and id in Snowflake. Returns task details from the describe command output.
- **Update a Snowflake task by ID** (Update). Update a task in Snowflake with database, schema, and name. Returns task id, state, owner, creation and modification timestamps, and parent database and schema names.
- **Delete a Snowflake task by ID** (Delete). Delete a task by name in Snowflake using database and schema. Supports ifExists parameter to avoid error if task does not exist. Returns 200 or 202 status on success.
- **Snowflake tasks execute** (Execute). Execute a task in Snowflake identified by database, schema, and task name. Supports asynchronous execution and retrying the last failed run. Returns 200 for success or 202 if accepted but not completed.
- **Snowflake tasks resume** (Resume). Resume a suspended task identified by database, schema, and task name in Snowflake. Returns a response object indicating the request status.
- **Snowflake tasks suspend** (Suspend). Suspend a running task identified by id in Snowflake within the specified database and schema. Returns status of the suspend operation.
- **List all Snowflake dependant tasks** (List). Get the dependent tasks of a task in Snowflake using database, schema, and task name. Returns dependent tasks with details about each dependent task.
- **List all Snowflake tasks current graphs** (List). Get graph runs currently executing or scheduled within the next 8 days for the task identified by its name in Snowflake. Returns details of graph runs, including execution status and schedule.
- **List all Snowflake tasks complete graphs** (List). Get completed graph runs for the task identified by name in Snowflake. It requires a database, schema, and task name. Returns details of completed graph runs, including status and timestamps.
- **List all Snowflake catelog integrations** (List). List catalog integrations in Snowflake.
- **Create a Snowflake catelog integration** (Create). Create a catalog integration in Snowflake with the required name and catalog parameters. Returns the created integration details including type, category, and creation timestamp.
- **Get single Snowflake catelog integration by ID** (Get). Get information about a specific catalog integration by id in Snowflake. Returns details of the integration resource.
- **Delete a Snowflake catelog integration by ID** (Delete). Delete a catalog integration by id in Snowflake. Returns 200 if successful or if ifExists is true and the resource does not exist, or 202 if the request is accepted but not completed.
- **List all Snowflake compute pools** (List). List compute pools in Snowflake. Returns compute pool details such as name and status.
- **Create a Snowflake compute pool** (Create). Create a compute pool in Snowflake with required parameters name, min_nodes, max_nodes, and instance_family. Returns the created compute pool details including state, created_on, owner, and status_message.
- **Get single Snowflake compute pool by ID** (Get). Get information about a specific compute pool by id in Snowflake. Returns details of the compute pool identified by name.
- **Update a Snowflake compute pool by ID** (Update). Update a compute pool in Snowflake with name, min_nodes, max_nodes, and instance_family. Returns state, num_services, num_jobs, active_nodes, idle_nodes, target_nodes, created_on, resumed_on, updated_on, owner, is_exclusive, application, budget, error_code, and status_message.
- **Delete a Snowflake compute pool by ID** (Delete). Delete a compute pool by id in Snowflake. Supports ifExists parameter to avoid error if the compute pool does not exist. Returns 200 on success or 202 if request is accepted but not completed.
- **Snowflake compute pools resume** (Resume). Resume a suspended compute pool by name in Snowflake. If the compute pool is already running, no action is taken. Returns a 200 status for success or 202 if the request is accepted but not completed.
- **Snowflake compute pools suspend** (Suspend). Suspend an active compute pool by name in Snowflake. Returns 200 if successful or 202 if the request is accepted but not completed. No action if the pool is already suspended.
- **Snowflake compute pools stop all services** (Stop). Stop all services on the compute pool identified by its name in Snowflake.
- **Snowflake cortex inference complete** (Complete). Perform LLM text completion inference in Snowflake using the model and messages parameters. Returns choices containing the generated completions.
- **List all Snowflake databases** (List). List accessible databases in Snowflake. Returns database names and details. Supports filtering by like, startsWith, showLimit, fromName, and history parameters.
- **Get single Snowflake database by ID** (Get). Get information about a specific database in Snowflake by id. Returns database details including status and metadata.
- **Create a Snowflake database** (Create). Create a database in Snowflake with full database definition. Supports createMode for errorIfExists, orReplace, or ifNotExists, and kind for database type (transient or permanent). Returns response object with creation status.
- **Snowflake databases clone** (Action). Clone an existing database in Snowflake by name with required full database definition and point_of_time. Returns database creation details including name, kind, created_on, and owner.
- **Update a Snowflake database by ID** (Update). Update a database in Snowflake by specifying the full database definition with name. Returns database details including created_on, owner, retention_time, and other configuration fields.
- **Delete a Snowflake database by ID** (Delete). Delete a database by name in Snowflake. Use ifExists to avoid error if database does not exist. Use restrict to control dropping with foreign key references. Returns 200 or 202 status.
- **Snowflake databases undrop** (Action). Undrop a database by name in Snowflake. Returns a 200 status for success or 202 if the request is accepted but not completed.
- **List all Snowflake cortex search service** (List). Query a Cortex Search Service in Snowflake using database, schema, and service_name. Returns search results with specified columns based on the unstructured text query.
- **Create a Snowflake database from share** (Create). Create a database from a share using share and createMode parameters in Snowflake. Returns success status of the creation request.
- **Snowflake database replication enable** (Enable). Enable replication for a local database identified by database name in Snowflake by promoting it as a primary database. Returns status of the replication enablement request.
- **Snowflake database replication disable** (Disable). Disable replication for the primary database identified by database name in Snowflake. Requires name and accounts array. Returns success status indicating if the request was accepted or completed.
- **Snowflake database replication refresh** (Refresh). Refresh a secondary database replication from a snapshot of its primary database in Snowflake using name. Returns status of the refresh request. Only one refresh can run at a time per replica database.
- **Snowflake database failover enable** (Enable). Enable database failover for database with database name in Snowflake by specifying a list of accounts where a replica can be promoted as primary.
- **Snowflake database failover disable** (Disable). Disable failover for the primary database in Snowflake using the database name. This prevents any secondary database from being promoted to primary.
- **Snowflake database failover sets primary database** (Action). Promote the specified secondary database identified by database name to primary in Snowflake. The promoted database becomes writable, and the previous primary becomes read-only.
- **List all Snowflake database roles** (List). List database roles for the specified database in Snowflake. Returns roles with their details such as role name and privileges.
- **Create a Snowflake database role** (Create). Create a database role in Snowflake for the specified database. Returns details including name, comment, created_on, granted_to_roles, granted_to_database_roles, granted_database_roles, owner, and owner_role_type.
- **Delete a Snowflake database role by ID** (Delete). Delete a database role by database and id in Snowflake. Returns 200 if successful or 202 if request accepted but not completed.
- **Snowflake database roles clone** (Action). Create a new database role by cloning from the specified resource in Snowflake. Requires database and id. Returns success status of the clone operation.
- **List all Snowflake database role grants** (List). List all grants to the role with the role name in the database in Snowflake. Returns grant details, including privileges and roles granted.
- **Create a Snowflake database role grant** (Create). Grant privileges to the role with the role name in the specified database in Snowflake. Requires database_name and database_role_name. Returns grant creation status.
- **Snowflake database role grants revoke** (Revoke). Revoke grants from the role identified by role name in Snowflake for the database specified by database. The response indicates success or acceptance of the revoke operation.
- **List all Snowflake database role future grants** (List). List all future grants to the role with name in database in Snowflake. Returns future_grants including grant details.
- **Create a Snowflake database role future grant** (Create). Grant future privileges to the role identified by name in Snowflake for the database specified by database. Returns details of the granted privileges, including created_on and granted_by.
- **Snowflake database role future grants revoke** (Revoke). Revoke future grants from the role with name in database using Snowflake. Requires database and name. Returns success status of the revoke operation.
- **List all Snowflake dynamic tables** (List). List dynamic tables under the specified database and schema in Snowflake. Requires database and schema. Returns dynamic table details including dependency information if requested.
- **Get single Snowflake dynamic table by ID** (Get). Get a dynamic table by using the database name, schema, and name in Snowflake. Returns details of the dynamic table, including its structure and metadata.
- **Create a Snowflake dynamic table** (Create). Create a dynamic table in Snowflake with the required parameters database_name, database_schema, and request body including name, warehouse, and query. Returns details such as created_on, rows, bytes, scheduling_state, and owner.
- **Delete a Snowflake dynamic table by ID** (Delete). Delete a dynamic table by name in Snowflake using database_name and database_schema identifiers. Returns success status if the table is deleted or if ifExists is true and the table does not exist.
- **Snowflake dynamic tables clone** (Action). Create a new dynamic table by cloning the specified dynamic table with the name in Snowflake. Requires database_name, database_schema, and dynamic_table_name parameters. Returns the created dynamic table details.
- **Snowflake dynamic tables undrop** (Action). Undrop specified dynamic table identified by id in Snowflake within the given database and schema. Returns a response object indicating success or acceptance of the request.
- **Snowflake dynamic tables suspend** (Suspend). Suspend refreshes on the dynamic table identified by name in Snowflake using database and schema parameters. It returns 200 if successful or 202 if the request is accepted but not completed.
- **Snowflake dynamic tables resume** (Resume). Resume refreshes on the dynamic table in Snowflake using database, schema, and dynamic table name. Returns 200 on success or 202 if the request is accepted but not completed.
- **Snowflake dynamic tables refresh** (Refresh). Refresh the dynamic table identified by name in Snowflake for the specified database and schema. Returns 200 if refreshed or 202 if request accepted but not completed.
- **Snowflake dynamic tables suspend recluster** (Suspend). Suspend the recluster of a dynamic table in Snowflake using the database, schema, and dynamic table name. Returns 200 if successful or 202 if request accepted but not completed.
- **Snowflake dynamic tables resume recluster** (Resume). Resume recluster of a dynamic table in Snowflake using database, schema, and dynamic table name. Returns 200 if successful or 202 if request accepted but not completed.
- **Snowflake dynamic tables swap** (Action). Swap a dynamic table identified by name with another dynamic table in Snowflake. It requires a database, schema, name, and targetName. Returns 200 or 202 status indicating swap success or acceptance.
- **List all Snowflake event tables** (List). List event tables for the specified database and schema in Snowflake. Returns event table names and metadata.
- **Create a Snowflake event table** (Create). Create an event table in Snowflake with database and schema. Returns fields including name, cluster_by, data_retention_time_in_days, change_tracking, comment, created_on, owner, rows, bytes, columns, and search optimization details.
- **Get single Snowflake event table by ID** (Get). Get details of a specific event table by database, schema, and id in Snowflake. Returns event table metadata and configuration.
- **Delete a Snowflake event table by ID** (Delete). Delete an event table identified by database, schema, and id in Snowflake. Returns 200 if successful or if ifExists is true and the table does not exist, or 202 if the request is accepted but not completed.
- **Snowflake event tables rename** (Action). Rename the event table identified by id in Snowflake within the specified database and schema. Returns the success status of the rename operation.
- **List all Snowflake external volumes** (List). List external volumes in Snowflake filtered by optional like parameter. Returns external volume details matching the filter.
- **Create a Snowflake external volume** (Create). Create an external volume in Snowflake with a unique name and specified storage locations. Returns creation details including created_on, owner, and owner_role_type.
- **Get single Snowflake external volume by ID** (Get). Get information about a specific external volume in Snowflake by name. Returns details of the external volume resource.
- **Delete a Snowflake external volume by ID** (Delete). Delete an external volume by id in Snowflake. Returns 200 if successful or if ifExists is true and the volume does not exist, or 202 if the request is accepted but not completed.
- **Snowflake external volumes undrop** (Action). Undrop an external volume by name in Snowflake. Returns a response object indicating the success or acceptance of the undrop operation.
- **List all Snowflake functions** (List). List user functions under the specified database and schema in Snowflake. Returns function names and details filtered by database and schema.
- **Create a Snowflake function** (Create). Create a function in Snowflake with database and schema parameters. Returns function details including name, arguments, return type, language, and creation timestamp.
- **Get single Snowflake function by ID** (Get). Get details of a specific function by database, schema, and function id in Snowflake. Returns function metadata including name, arguments, and return type.
- **Delete a Snowflake function by ID** (Delete). Delete a function by id in Snowflake using database and schema identifiers. Returns success status 200 or 202 if accepted but not completed.
- **Snowflake functions execute** (Execute). Execute a function in Snowflake with the database, schema, and function name. Returns execution result or status.
- **List all Snowflake image repositories** (List). List image repositories under the specified database and schema in Snowflake. Requires database and schema. Returns image repository details.
- **Create a Snowflake image repository** (Create). Create an image repository in Snowflake specifying database and schema with createMode. Returns repository details including name, created_on, repository_url, owner, and owner_role_type.
- **Get single Snowflake image repository by ID** (Get). Get information about a specific image repository by database, schema, and id in Snowflake. Returns details of the image repository, including its properties.
- **Delete a Snowflake image repository by ID** (Delete). Delete an image repository by id in Snowflake using the database and schema. Supports the ifExists query to avoid error if the repository does not exist. Returns 200 or 202 status.
- **Snowflake image repositories images** (Action). List images in the image repository with the name in Snowflake. Returns an image array with image details.
- **List all Snowflake managed accounts** (List). List accessible managed accounts in Snowflake. Supports filtering by resource name using the like query parameter. Returns managed account details.
- **Create a Snowflake managed account** (Create). Create a managed account in Snowflake. Requires name, admin_name, admin_password, and account_type. Returns account details including cloud, region, locator, created_on, url, account_locator_url, and comment.
- **Delete a Snowflake managed account by ID** (Delete). Delete a managed account by id in Snowflake. This operation removes the account and all objects created in it, immediately restricting access. Returns status 200 if successful or 202 if the request is accepted but not completed.
- **List all Snowflake network policies** (List). List network policies in Snowflake. Returns network_policies array with details of each policy.
- **Create a Snowflake network policy** (Create). Create a network policy in Snowflake with the required name parameter. Returns the created network policy details including name, allowed and blocked network rules and IP lists, comment, created_on timestamp, owner, and owner_role_type.
- **Get single Snowflake network policy by ID** (Get). Get information about a specific network policy by id in Snowflake. Returns the network_policy object with details of the policy.
- **Delete a Snowflake network policy by ID** (Delete). Delete a network policy by id in Snowflake. Requires id. Supports the ifExists query parameter to avoid error if the policy does not exist. Returns 200 on success or 202 if the request is accepted but not completed.
- **List all Snowflake notebooks** (List). List notebooks for the specified database and schema in Snowflake. Returns notebook names and details.
- **Get single Snowflake notebook by ID** (Get). Get a notebook by database, schema, and id in Snowflake. Returns notebook details including its name and content.
- **Create a Snowflake notebook** (Create). Create a notebook in Snowflake specifying database and schema. Returns details including notebook name, version, main_file, comment, query_warehouse, and creation timestamp.
- **Delete a Snowflake notebook by ID** (Delete). Delete a notebook identified by id in Snowflake under the specified database and schema. Supports ifExists parameter to avoid error if notebook does not exist.
- **Snowflake notebooks execute** (Execute). Execute a notebook identified by its name in Snowflake using database and schema. Returns execution status and results if completed.
- **Snowflake notebooks rename** (Action). Change the name of the notebook identified by its name in Snowflake. Requires database, schema, and name. The new name must be unique within the schema. Returns the success status of the rename operation.
- **Snowflake notebooks add live version** (Add). Add a LIVE version to the notebook identified by the name of the notebook in Snowflake using the database and schema. Supports setting the LIVE version to the last version with fromLast and adding a comment. Returns the status of the request.
- **Snowflake notebooks commit** (Action). Commit the LIVE version of the notebook identified by name in the specified database and schema to the Git repository in Snowflake. Returns success status of the commit operation.
- **List all Snowflake notification integrations** (List). List notification integrations filtered by like parameter. Returns integration id and name for each notification integration in Snowflake.
- **Get single Snowflake notification integration by ID** (Get). Get information about a specific notification integration by id in Snowflake. Returns details of the notification integration resource.
- **Create a Snowflake notification integration** (Create). Create a notification integration in Snowflake with required name and notification_hook. Returns the created notification integration details including name, enabled status, comment, created_on, and notification_hook.
- **Delete a Snowflake notification integration by ID** (Delete). Delete a notification integration by id in Snowflake. Requires name. It supports the ifExists query parameter in controlling behavior when the resource does not exist.
- **List all Snowflake pipes** (List). List pipes in Snowflake for the specified database and schema. Returns pipe names and details matching the required database and schema parameters.
- **Get single Snowflake pipe by ID** (Get). Get information about a specific pipe in Snowflake. Requires database, schema, and id. Returns pipe details including configuration and status.
- **Create a Snowflake pipe** (Create). Create a pipe in Snowflake with database and schema. Requires name and copy_statement. Returns created_on, database_name, schema_name, owner, pattern, owner_role_type, invalid_reason, and budget fields in the response.
- **Delete a Snowflake pipe by ID** (Delete). Delete a pipe identified by id in Snowflake within the specified database and schema. The response indicates success or acceptance of the deletion request.
- **Snowflake pipes refresh** (Refresh). Refresh the pipe identified by name in Snowflake within the specified database and schema. Returns 200 if successful or 202 if the request is accepted but not completed.
- **List all Snowflake procedures** (List). List procedures for the specified database and schema in Snowflake. Returns procedure names and details matching the database and schema parameters.
- **Get single Snowflake procedure by ID** (Get). Get information about a specific procedure by database, schema, and procedure id in Snowflake. Returns procedure details including name, arguments, and definition.
- **Create a Snowflake procedure** (Create). Create a procedure in Snowflake specifying database and schema. Returns the created procedure details including name, arguments, return type, language, and body.
- **Delete a Snowflake procedure by ID** (Delete). Delete a procedure identified by database, schema, and id in Snowflake. Returns success status without content. Use ifExists to avoid errors if the procedure does not exist.
- **Snowflake procedures call** (Action). Call a procedure in Snowflake with database, schema, and procedure name. Returns a response object indicating the call status.
- **Get single Snowflake result by ID** (Get). Get the status of the result or fetch the result in Snowflake using the id. Depending on completion, it returns status or result data.
- **List all Snowflake schemas** (List). List accessible schemas for the database specified by database in Snowflake. Returns schema names and details. Supports filtering by like, startsWith, showLimit, fromName, and history parameters.
- **Get single Snowflake schema by ID** (Get). Get schema details for a specific database and schema name in Snowflake. Requires database_name and id parameters. Returns schema information, including metadata and structure.
- **Create a Snowflake schema** (Create). Create a schema in Snowflake with the required database parameter. Returns schema details including name, kind, created_on, owner, and retention_time.
- **Snowflake schemas clone** (Action). Clone an existing schema identified by the database and schema name in Snowflake. It requires a full schema definition in the request body. Supports createMode, kind, and targetDatabase as query parameters. Returns the status of the clone operation.
- **Snowflake schemas undrop** (Action). Undrop a schema identified by name in the specified database in Snowflake. Returns a response object indicating success or acceptance of the undrop request.
- **Update a Snowflake schema by ID** (Update). Create or alter a schema with id in database using Snowflake. Returns schema details including created_on, name, kind, owner, and retention_time.
- **Delete a Snowflake schema by ID** (Delete). Delete a schema by database and id in Snowflake. Supports ifExists to avoid error if schema does not exist, and restrict to control dropping with foreign key references. Returns 200 or 202 status.
- **List all Snowflake services** (List). List services under the specified database and schema in Snowflake. Requires database and schema. Returns service details including service names.
- **Get single Snowflake service by ID** (Get). Get information about a specific service by database, schema, and id in Snowflake. Returns service details including key attributes of the service.
- **Create a Snowflake service** (Create). Create a service in Snowflake with required parameters database, schema, name, compute_pool, and spec. Returns service details including name, status, owner, DNS name, and timestamps.
- **Snowflake services execute job service** (Execute). Create and execute a job service in Snowflake with database and schema. Returns the job execution response object.
- **Update a Snowflake service by ID** (Update). Update a service with the id in Snowflake under the specified database and schema. Returns service details including current_instances, target_instances, status, dns_name, owner, and timestamps for creation and updates.
- **Delete a Snowflake service by ID** (Delete). Delete a service by database, schema, and id in Snowflake. Use ifExists to avoid error if the service does not exist. Returns 200 on success or 202 if request accepted but not completed.
- **Snowflake services status** (Action). Fetch the status of a specific service by database, schema, and service name in Snowflake. Returns the current state or steady state if reached within the timeout.
- **Snowflake services resume** (Resume). Resume a service identified by name in Snowflake within the specified database and schema. Returns a 200 or 202 status indicating success or acceptance of the request.
- **Snowflake services suspend** (Suspend). Suspend a service by database, schema, and id in Snowflake. Returns 200 if successful or 202 if request is accepted but not completed. Supports ifExists to handle non-existent resources.
- **List all Snowflake service logs** (List). Fetch logs for a given service identified by database, schema, and service name in Snowflake. Returns log lines with details about the service instance and container name if specified.
- **List all Snowflake service containers** (List). List all containers of the service in Snowflake using database, schema, and service name. Returns container details in the response.
- **List all Snowflake service instances** (List). List all instances of the service in Snowflake for the specified database, schema, and service name. Returns instance details in the response.
- **List all Snowflake service roles** (List). List all the service roles of the service in Snowflake. Requires database, schema, and service name. Returns roles with their details.
- **Snowflake service roles grants** (Action). List all the grants of the service role with the name in Snowflake for the specified database, schema, and service. Returns grants, including their details.
- **Snowflake service roles grants given** (Action). List all the grants given to the service role with the name in Snowflake for the specified database, schema, and service. Returns grants, including their details.
- **List all Snowflake service endpoints** (List). List endpoints in a Snowpark Container Services service using database, schema, and service name. Returns endpoint details in the response.
- **List all Snowflake stages** (List). List stages under the specified database and schema in Snowflake. Requires database and schema. Returns stage names and details.
- **Get single Snowflake stage by ID** (Get). Get information about a specific stage using database, schema, and id in Snowflake. Returns stage details from the describe command output.
- **Create a Snowflake stage** (Create). Create a stage in Snowflake with required parameters database and schema. Returns stage details including name, kind, url, storage_integration, comment, owner, region, and cloud.
- **Delete a Snowflake stage by ID** (Delete). Delete a stage by id in Snowflake using database and schema. Supports ifExists parameter to avoid error if the stage does not exist. Returns 200 or 202 status on success.
- **Snowflake stages files** (Action). List files in the stage with database, schema, and stage name. Returns file details matching the optional pattern filter.
- **Snowflake stage file presigned URL presigned URL** (Action). Generate a presigned URL for uploading or downloading a file at the specified filePath in the stage name within schema and database in Snowflake. Returns the presigned URL and optionally encryption materials.
- **List all Snowflake streams** (List). List streams in Snowflake for the specified database and schema. Returns stream names and metadata.
- **Get single Snowflake stream by ID** (Get). Get information about a specific stream in Snowflake. Requires database, schema, and id. Returns details of the stream resource.
- **Delete a Snowflake stream by ID** (Delete). Delete a stream by database, schema, and id in Snowflake. Returns success status 200 or 202. Use ifExists to avoid error if stream does not exist.
- **Snowflake streams clone** (Action). Clone a stream with its name in Snowflake using the database, schema. Returns the cloned stream object with its details.
- **Create a Snowflake stream** (Create). Create a stream in Snowflake with required parameters database and schema. Returns stream details including name, creation time, source table, owner, mode, and staleness status.
- **List all Snowflake tables** (List). List tables under the specified database and schema in Snowflake. Requires database and schema. Returns table names and details.
- **Create a Snowflake table** (Create). Create a table in Snowflake specifying database and schema. Returns table name, kind, columns, created_on, database_name, schema_name, rows, bytes, owner, and table_type.
- **Get single Snowflake table by ID** (Get). Get information about a specific table in Snowflake using database, schema, and id. Returns table details from the describe command output.
- **Update a Snowflake table by ID** (Update). Update a table with id in Snowflake under the specified database and schema. Returns table metadata including created_on, database_name, schema_name, rows, bytes, owner, dropped_on, automatic_clustering, search_optimization, search_optimization_progress, search_optimization_bytes, owner_role_type, budget, and table_type.
- **Delete a Snowflake table by ID** (Delete). Delete a table by database, schema, and id in Snowflake. Returns success status if the table is deleted or if ifExists is true and the table does not exist.
- **Snowflake tables clone** (Action). Create a new table by cloning an existing table in Snowflake. Requires database, schema, and name of the source table. Returns the cloned table's name, kind, columns, created_on, database_name, schema_name, rows, bytes, owner, and table_type.
- **Snowflake tables create like** (Create). Create a new empty table like the specified table in Snowflake. Requires database, schema, and name. Supports createMode and copyGrants query parameters. Returns the created table resource.
- **Snowflake tables undrop** (Action). Undrop specified table identified by database, schema, and table name in Snowflake. Returns a response object indicating success or acceptance of the undrop request.
- **Snowflake tables suspend recluster** (Suspend). Suspend recluster of a table in Snowflake using database, schema, and table name. Returns 200 if successful or 202 if request accepted but not completed.
- **Snowflake tables resume recluster** (Resume). Resume recluster of a table identified by database, schema, and table name in Snowflake. Returns 200 if successful or 202 if the request is accepted but not completed. Handles non-existence based on ifExists parameter.
- **Snowflake tables swap with** (Action). Swap the table identified by its name with another table specified by targetName, optionally in targetDatabase and targetSchema, in Snowflake. Returns 200 on success or 202 if the request is accepted but not completed.
- **Create a Snowflake table using templete** (Create). Create a table using template in Snowflake with database and schema. Returns the created table's details including name. Requires name in request body.
- **Create a Snowflake table using select query** (Create). Create a table using the result of the specified select query in Snowflake. Requires database, schema, and request body with table name and columns. Supports createMode and copyGrants query parameters.
- **List all Snowflake role grants** (List). List all grants to the role with its name in Snowflake. Returns grants, including key details about each grant.
- **Create a Snowflake role grant** (Create). Grant privileges to the role identified by id in Snowflake. Requires securable details including name, containing_scope with database, securable_type, and privileges. Returns grant creation status.
- **Snowflake role grants revoke** (Revoke). Revoke grants from the role with the name, including containing_scope, securable_type, and privileges. The mode query parameter controls the revoke behavior and returns a success status.
- **Snowflake role grants grants of** (Action). List all grants of the role with name. Returns grants including key details about each grant in Snowflake.
- **Snowflake role grants grants on** (Action). List all grants on the role with name. Returns grants including details about the granted privileges and objects.
- **List all Snowflake role future grants** (List). List all future grants to the role with name. Returns future_grants array containing details of each grant.
- **Create a Snowflake role future grant** (Create). Grant future privileges to the role identified by its name in Snowflake. It requires securable details, including name, containing_scope with database, and securable_type, and privileges. Returns grant creation details, including created_on and granted_by.
- **Snowflake role future grants revoke** (Revoke). Revoke future grants from the role with its name. The response confirms the revoke operation status.
