Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Snowflake in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Ask your Snowflake data questions from Claude, ChatGPT or Copilot through Snowflake's official managed MCP server: Cortex Agents, Cortex Analyst semantic views, Cortex Search and your own functions, governed by your Snowflake roles.
Try asking
Example prompts for Snowflake
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Snowflake, paste your credentials, mint an MCP API key — done. No Docker, no
git clone, no local server.
Snowflake + Microsoft Copilot
Ask your Snowflake data questions from Claude, ChatGPT or Copilot through Snowflake's official managed MCP server: Cortex Agents, Cortex Analyst semantic views, Cortex Search and your own functions, governed by your Snowflake roles.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
SNOWFLAKE_ACCOUNT_HOST, SNOWFLAKE_DATABASE, SNOWFLAKE_SCHEMA, SNOWFLAKE_MCP_SERVER, SNOWFLAKE_PAT
Step 1 — Get credentials
AnythingMCP bridges the Snowflake-managed MCP server, Snowflake's official MCP server that runs inside your own Snowflake account. You create an MCP server object in a database and schema, and it serves the tools you define in it: Cortex Agents, Cortex Analyst semantic views, Cortex Search services, SQL execution, and your own UDFs and stored procedures. AnythingMCP connects with a programmatic access token (PAT).
The tools are the ones you define. Your server object decides which tools exist (at most 50 per server) and what they are called. At install AnythingMCP asks the server for its list, so you get exactly your tools. The five tools in the table below are the examples from Snowflake's documentation, one per tool type; they are only used if the server cannot be reached at install. After you change the server object (CREATE OR REPLACE MCP SERVER with a new specification), open the connector and click Discover tools.
Setup takes about 15 minutes and needs a Snowflake admin (ACCOUNTADMIN or a delegated admin).
- In a worksheet, create the MCP server object in the database and schema that should hold it. Snowflake recommends exposing a Cortex Agent for governed business questions:
The other tool types areCREATE OR REPLACE MCP SERVER analytics_db.mcp.business_mcp FROM SPECIFICATION $$ tools: - name: "business_data_agent" type: "CORTEX_AGENT_RUN" identifier: "analytics_db.mcp.sales_agent" title: "Governed business data agent" description: "Use this agent for governed business data questions." $$;CORTEX_ANALYST_MESSAGE(a semantic view),CORTEX_SEARCH_SERVICE_QUERY(a Cortex Search service),SYSTEM_EXECUTE_SQL(direct SQL, read-only by default) andGENERIC(a UDF or stored procedure, with aninput_schema). - Create a least-privileged role and grant it only what the tools need:
AddGRANT USAGE ON MCP SERVER analytics_db.mcp.business_mcp TO ROLE mcp_access;USAGEon the database, the schema and the warehouse,USAGEon each agent, Cortex Search service, function or procedure,SELECTon each semantic view, and for agents the database roleSNOWFLAKE.CORTEX_AGENT_USER. Access to the server does not give access to its tools: each tool needs its own grant. Grant the role to the user AnythingMCP connects as, ideally a service user (TYPE = SERVICE), and give that user a default warehouse. - Create the token, restricted to that role and with an expiry, and copy
token_secret(Snowflake shows it once):
In Snowsight the same is under Governance & security > Users & roles > the user > Programmatic access tokens > Generate new token, with One specific role.ALTER USER mcp_service ADD PROGRAMMATIC ACCESS TOKEN amcp_token ROLE_RESTRICTION = 'MCP_ACCESS' DAYS_TO_EXPIRY = 90; - Allow the network. By default a PAT only works for a user under a network policy, and that policy must allow the address AnythingMCP calls from. On AnythingMCP Cloud, ask support for the current egress IP:
CREATE NETWORK RULE amcp_ingress MODE = INGRESS TYPE = IPV4 VALUE_LIST = ('<egress IP>'); ALTER NETWORK POLICY <your_policy> ADD ALLOWED_NETWORK_RULE_LIST = ('amcp_ingress'); - In AnythingMCP, install Snowflake from the catalog and fill in:
SNOWFLAKE_ACCOUNT_HOST: the account host withouthttps://, for examplemyorg-myaccount.snowflakecomputing.com. Use hyphens, not underscores: a host such asmyorg-my_accountfails to connect, writemyorg-my-accountinstead.SNOWFLAKE_DATABASE,SNOWFLAKE_SCHEMAandSNOWFLAKE_MCP_SERVER: where the server object lives and its name (SHOW MCP SERVERS IN ACCOUNTlists them).SNOWFLAKE_PAT: the token from step 3. It is stored encrypted and sent as a Bearer token withX-Snowflake-Authorization-Token-Type: PROGRAMMATIC_ACCESS_TOKEN.
Safety: the role is the real boundary, the AI sees whatever that role sees. Prefer a Cortex Agent or Cortex Analyst over raw SQL; Snowflake advises putting a SYSTEM_EXECUTE_SQL tool on a separate server with its own least-privileged role. The SQL execution example (snowflake_sql_exec_tool) installs switched off; if your server has such a tool, keep read_only: true in its configuration before you switch it on. Tools run on your warehouse and Cortex calls consume Snowflake credits. You can revoke the token at any time with ALTER USER mcp_service REMOVE PROGRAMMATIC ACCESS TOKEN amcp_token;
First calls: ask an agent or Cortex Analyst tool a plain question in message (Cortex Analyst also returns the SQL it generated); give a Cortex Search tool a query and a limit. Responses of SQL execution and custom tools are cut at 250 KB, so select fewer columns or rows; agent responses can be large because they include reasoning steps and citations.
If something fails: a 401 means the token is wrong or expired, or the network policy blocks the call; tools missing from the list mean the role lacks USAGE on the MCP server; a listed tool that fails means the role lacks the grant on the underlying object, or the user has no default warehouse.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Microsoft Copilot
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Microsoft Copilot uses MCP servers through agents built in Copilot Studio: you add AnythingMCP to an agent as a tool, then publish the agent to Microsoft 365 Copilot and Teams. Copilot Studio connects from Microsoft's cloud over Streamable HTTP, which AnythingMCP supports.
- In Copilot Studio, open your agent (or create one), go to Tools and choose Add a tool → New tool → Model Context Protocol.
- Enter a Server name (for example
AnythingMCP), a Server description that says what the connector does, and the Server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio uses the description to decide when to call the server. - Under authentication, choose API key, set Type to Header and the header name to
X-API-Key, then select Create. - In Add tool, choose Create a new connection, paste an MCP API key from AnythingMCP (MCP Servers → your server → API keys) and select Add to agent.
- Try it in the agent's Test pane: ask for something that needs the
Snowflaketools. - Select Publish, then Channels → Microsoft 365 and Microsoft Teams, keep Make agent available in Microsoft Copilot selected and choose Add channel. See agent in Teams installs it for you; in Microsoft 365 Copilot, type @ and pick the agent.
Prefer per-user sign-in? Choose OAuth 2.0 → Dynamic discovery instead of an API key: each user then signs in to AnythingMCP the first time the agent calls it.
Self-hosting? Use your instance's public HTTPS address instead of https://cloud.anythingmcp.com. Copilot Studio connects from Microsoft's cloud, so localhost does not work.
Available tools
| Tool | What it does |
|---|---|
snowflake_business_data_agent | Example of a Cortex Agent tool (CORTEX_AGENT_RUN): answers governed business data questions with reasoning steps and citations |
snowflake_revenue_semantic_view | Example of a Cortex Analyst tool (CORTEX_ANALYST_MESSAGE): turns a question into SQL over a semantic view |
snowflake_product_search | Example of a Cortex Search tool (CORTEX_SEARCH_SERVICE_QUERY): keyword and vector search over unstructured text |
snowflake_sql_exec_tool | Example of a SQL execution tool (SYSTEM_EXECUTE_SQL): runs one statement with the role's privileges (off at install) |
snowflake_my_custom_tool | Example of a custom tool (GENERIC): a UDF or stored procedure with the inputs declared in the specification |
FAQ
Which Copilot is this for? Microsoft 365 Copilot at work, through agents built in Copilot Studio. The Microsoft Copilot app for personal accounts has no option to add your own MCP server.
What do I need? A work account with access to Copilot Studio (a license or a trial) to build the agent. People who use it in Microsoft 365 Copilot or Teams need access to the agent: share it with them, or ask an admin to publish it to the organization. If your organization applies data policies to Power Platform connectors, they cover MCP servers too.
The agent doesn't call the tools. Check that the header name is exactly X-API-Key and that the key belongs to the same MCP server as the URL, and make the server description specific: Copilot Studio uses it to decide when to call the server. Publish the agent again after each change; in an open chat, type "start over" to get the new version.
Next steps
- Connector landing page
- Connect to Claude
- Connect to ChatGPT
- Connect to Cursor
- Connect to Gemini
- Connect to Meta Muse
Was this guide helpful?