[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-snowflake-snowflake-mcp-setup":3,"mdc--cacijm-key":32,"related-org-snowflake-snowflake-mcp-setup":571,"related-repo-snowflake-snowflake-mcp-setup":579},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":21,"repoUrl":22,"updatedAt":23,"license":24,"forks":25,"topics":26,"repo":27,"sourceUrl":30,"mdContent":31},"snowflake-mcp-setup","configure Snowflake MCP server","Guide for setting up and connecting to a Snowflake-managed MCP server from Cursor using Programmatic Access Tokens (PAT)",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"snowflake","Snowflake","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fsnowflake.jpg","snowflakedb",[13,17,20],{"name":14,"slug":15,"type":16},"Database","database","tag",{"name":18,"slug":19,"type":16},"MCP","mcp",{"name":9,"slug":8,"type":16},8,"https:\u002F\u002Fgithub.com\u002Fsnowflakedb\u002Fsnowflake-cursor-plugin","2026-07-16T06:02:33.137229",null,3,[],{"repoUrl":22,"stars":21,"forks":25,"topics":28,"description":29},[],"Snowflake Plugin for Cursor","https:\u002F\u002Fgithub.com\u002Fsnowflakedb\u002Fsnowflake-cursor-plugin\u002Ftree\u002FHEAD\u002Fskills\u002Fsnowflake-mcp-setup","---\nname: snowflake-mcp-setup\ndescription: Guide for setting up and connecting to a Snowflake-managed MCP server from Cursor using Programmatic Access Tokens (PAT)\n---\n\n# Snowflake MCP Server Setup\n\nThis skill guides you through connecting Cursor to a [Snowflake-managed MCP server](https:\u002F\u002Fdocs.snowflake.com\u002Fen\u002Fuser-guide\u002Fsnowflake-cortex\u002Fcortex-agents-mcp), enabling AI agents to securely interact with Snowflake data and services — including Cortex Search, Cortex Analyst, SQL execution, Cortex Agents, and custom tools (UDFs\u002Fstored procedures) — directly from the IDE.\n\n## Setup\n\n### 1. Create a Programmatic Access Token (PAT)\n\nAuthentication uses a [Programmatic Access Token](https:\u002F\u002Fdocs.snowflake.com\u002Fen\u002Fuser-guide\u002Fprogrammatic-access-tokens). Generate one in Snowsight under **Settings → Authentication → Programmatic Access Tokens**. Use the least-privileged role that has USAGE on your MCP server and its tools.\n\nOr with SQL:\n\n```sql\nALTER USER \u003CYOUR_USERNAME> ADD PROGRAMMATIC ACCESS TOKEN \u003CPAT_NAME>;\n```\n\nSee the [SQL reference](https:\u002F\u002Fdocs.snowflake.com\u002Fen\u002Fsql-reference\u002Fsql\u002Falter-user-add-programmatic-access-token) for full details.\n\n### 2. Get Your MCP Server URL\n\nThe URL follows this format:\n\n```\nhttps:\u002F\u002F\u003Caccount_url>\u002Fapi\u002Fv2\u002Fdatabases\u002F\u003Cdatabase>\u002Fschemas\u002F\u003Cschema>\u002Fmcp-servers\u002F\u003Cserver_name>\n```\n\nYour [account URL](https:\u002F\u002Fdocs.snowflake.com\u002Fen\u002Fuser-guide\u002Fadmin-account-identifier) is typically `\u003Corgname>-\u003Caccount_name>.snowflakecomputing.com`. Use hyphens (`-`) instead of underscores (`_`) in hostnames. Follow [Snowflake docs](https:\u002F\u002Fdocs.snowflake.com\u002Fen\u002Fuser-guide\u002Fsnowflake-cortex\u002Fcortex-agents-mcp) to create an MCP server.\n\n### 3. Configure mcp.json\n\nThe `mcp.json` is already configured to read from environment variables:\n\n```json\n{\n  \"mcpServers\": {\n    \"Snowflake\": {\n      \"url\": \"${SNOWFLAKE_MCP_SERVER_URL}\",\n      \"headers\": {\n        \"Authorization\": \"Bearer ${SNOWFLAKE_PAT_TOKEN}\"\n      }\n    }\n  }\n}\n```\n\nBefore using the MCP server, make sure the following environment variables are set in your shell:\n\n- **`SNOWFLAKE_MCP_SERVER_URL`** — Your full MCP server URL (see step 2).\n- **`SNOWFLAKE_PAT_TOKEN`** — The Programmatic Access Token generated in step 1.\n\nFor example, add them to your shell profile (e.g. `~\u002F.zshrc`):\n\n```sh\nexport SNOWFLAKE_MCP_SERVER_URL=\"https:\u002F\u002F\u003Corgname>-\u003Caccount_name>.snowflakecomputing.com\u002Fapi\u002Fv2\u002Fdatabases\u002F\u003Cdatabase>\u002Fschemas\u002F\u003Cschema>\u002Fmcp-servers\u002F\u003Cserver_name>\"\nexport SNOWFLAKE_PAT_TOKEN=\"your-pat-token-here\"\n```\n\nThen restart Cursor (or reload the window) so it picks up the new environment variables.\n\n",{"data":33,"body":34},{"name":4,"description":6},{"type":35,"children":36},"root",[37,46,63,70,77,99,104,126,140,146,151,161,207,213,226,439,444,477,490,560,565],{"type":38,"tag":39,"props":40,"children":42},"element","h1",{"id":41},"snowflake-mcp-server-setup",[43],{"type":44,"value":45},"text","Snowflake MCP Server Setup",{"type":38,"tag":47,"props":48,"children":49},"p",{},[50,52,61],{"type":44,"value":51},"This skill guides you through connecting Cursor to a ",{"type":38,"tag":53,"props":54,"children":58},"a",{"href":55,"rel":56},"https:\u002F\u002Fdocs.snowflake.com\u002Fen\u002Fuser-guide\u002Fsnowflake-cortex\u002Fcortex-agents-mcp",[57],"nofollow",[59],{"type":44,"value":60},"Snowflake-managed MCP server",{"type":44,"value":62},", enabling AI agents to securely interact with Snowflake data and services — including Cortex Search, Cortex Analyst, SQL execution, Cortex Agents, and custom tools (UDFs\u002Fstored procedures) — directly from the IDE.",{"type":38,"tag":64,"props":65,"children":67},"h2",{"id":66},"setup",[68],{"type":44,"value":69},"Setup",{"type":38,"tag":71,"props":72,"children":74},"h3",{"id":73},"_1-create-a-programmatic-access-token-pat",[75],{"type":44,"value":76},"1. Create a Programmatic Access Token (PAT)",{"type":38,"tag":47,"props":78,"children":79},{},[80,82,89,91,97],{"type":44,"value":81},"Authentication uses a ",{"type":38,"tag":53,"props":83,"children":86},{"href":84,"rel":85},"https:\u002F\u002Fdocs.snowflake.com\u002Fen\u002Fuser-guide\u002Fprogrammatic-access-tokens",[57],[87],{"type":44,"value":88},"Programmatic Access Token",{"type":44,"value":90},". Generate one in Snowsight under ",{"type":38,"tag":92,"props":93,"children":94},"strong",{},[95],{"type":44,"value":96},"Settings → Authentication → Programmatic Access Tokens",{"type":44,"value":98},". Use the least-privileged role that has USAGE on your MCP server and its tools.",{"type":38,"tag":47,"props":100,"children":101},{},[102],{"type":44,"value":103},"Or with SQL:",{"type":38,"tag":105,"props":106,"children":111},"pre",{"className":107,"code":108,"language":109,"meta":110,"style":110},"language-sql shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","ALTER USER \u003CYOUR_USERNAME> ADD PROGRAMMATIC ACCESS TOKEN \u003CPAT_NAME>;\n","sql","",[112],{"type":38,"tag":113,"props":114,"children":115},"code",{"__ignoreMap":110},[116],{"type":38,"tag":117,"props":118,"children":121},"span",{"class":119,"line":120},"line",1,[122],{"type":38,"tag":117,"props":123,"children":124},{},[125],{"type":44,"value":108},{"type":38,"tag":47,"props":127,"children":128},{},[129,131,138],{"type":44,"value":130},"See the ",{"type":38,"tag":53,"props":132,"children":135},{"href":133,"rel":134},"https:\u002F\u002Fdocs.snowflake.com\u002Fen\u002Fsql-reference\u002Fsql\u002Falter-user-add-programmatic-access-token",[57],[136],{"type":44,"value":137},"SQL reference",{"type":44,"value":139}," for full details.",{"type":38,"tag":71,"props":141,"children":143},{"id":142},"_2-get-your-mcp-server-url",[144],{"type":44,"value":145},"2. Get Your MCP Server URL",{"type":38,"tag":47,"props":147,"children":148},{},[149],{"type":44,"value":150},"The URL follows this format:",{"type":38,"tag":105,"props":152,"children":156},{"className":153,"code":155,"language":44},[154],"language-text","https:\u002F\u002F\u003Caccount_url>\u002Fapi\u002Fv2\u002Fdatabases\u002F\u003Cdatabase>\u002Fschemas\u002F\u003Cschema>\u002Fmcp-servers\u002F\u003Cserver_name>\n",[157],{"type":38,"tag":113,"props":158,"children":159},{"__ignoreMap":110},[160],{"type":44,"value":155},{"type":38,"tag":47,"props":162,"children":163},{},[164,166,173,175,181,183,189,191,197,199,205],{"type":44,"value":165},"Your ",{"type":38,"tag":53,"props":167,"children":170},{"href":168,"rel":169},"https:\u002F\u002Fdocs.snowflake.com\u002Fen\u002Fuser-guide\u002Fadmin-account-identifier",[57],[171],{"type":44,"value":172},"account URL",{"type":44,"value":174}," is typically ",{"type":38,"tag":113,"props":176,"children":178},{"className":177},[],[179],{"type":44,"value":180},"\u003Corgname>-\u003Caccount_name>.snowflakecomputing.com",{"type":44,"value":182},". Use hyphens (",{"type":38,"tag":113,"props":184,"children":186},{"className":185},[],[187],{"type":44,"value":188},"-",{"type":44,"value":190},") instead of underscores (",{"type":38,"tag":113,"props":192,"children":194},{"className":193},[],[195],{"type":44,"value":196},"_",{"type":44,"value":198},") in hostnames. Follow ",{"type":38,"tag":53,"props":200,"children":202},{"href":55,"rel":201},[57],[203],{"type":44,"value":204},"Snowflake docs",{"type":44,"value":206}," to create an MCP server.",{"type":38,"tag":71,"props":208,"children":210},{"id":209},"_3-configure-mcpjson",[211],{"type":44,"value":212},"3. Configure mcp.json",{"type":38,"tag":47,"props":214,"children":215},{},[216,218,224],{"type":44,"value":217},"The ",{"type":38,"tag":113,"props":219,"children":221},{"className":220},[],[222],{"type":44,"value":223},"mcp.json",{"type":44,"value":225}," is already configured to read from environment variables:",{"type":38,"tag":105,"props":227,"children":231},{"className":228,"code":229,"language":230,"meta":110,"style":110},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"mcpServers\": {\n    \"Snowflake\": {\n      \"url\": \"${SNOWFLAKE_MCP_SERVER_URL}\",\n      \"headers\": {\n        \"Authorization\": \"Bearer ${SNOWFLAKE_PAT_TOKEN}\"\n      }\n    }\n  }\n}\n","json",[232],{"type":38,"tag":113,"props":233,"children":234},{"__ignoreMap":110},[235,244,274,299,342,367,404,413,421,430],{"type":38,"tag":117,"props":236,"children":237},{"class":119,"line":120},[238],{"type":38,"tag":117,"props":239,"children":241},{"style":240},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[242],{"type":44,"value":243},"{\n",{"type":38,"tag":117,"props":245,"children":247},{"class":119,"line":246},2,[248,253,259,264,269],{"type":38,"tag":117,"props":249,"children":250},{"style":240},[251],{"type":44,"value":252},"  \"",{"type":38,"tag":117,"props":254,"children":256},{"style":255},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[257],{"type":44,"value":258},"mcpServers",{"type":38,"tag":117,"props":260,"children":261},{"style":240},[262],{"type":44,"value":263},"\"",{"type":38,"tag":117,"props":265,"children":266},{"style":240},[267],{"type":44,"value":268},":",{"type":38,"tag":117,"props":270,"children":271},{"style":240},[272],{"type":44,"value":273}," {\n",{"type":38,"tag":117,"props":275,"children":276},{"class":119,"line":25},[277,282,287,291,295],{"type":38,"tag":117,"props":278,"children":279},{"style":240},[280],{"type":44,"value":281},"    \"",{"type":38,"tag":117,"props":283,"children":285},{"style":284},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[286],{"type":44,"value":9},{"type":38,"tag":117,"props":288,"children":289},{"style":240},[290],{"type":44,"value":263},{"type":38,"tag":117,"props":292,"children":293},{"style":240},[294],{"type":44,"value":268},{"type":38,"tag":117,"props":296,"children":297},{"style":240},[298],{"type":44,"value":273},{"type":38,"tag":117,"props":300,"children":302},{"class":119,"line":301},4,[303,308,314,318,322,327,333,337],{"type":38,"tag":117,"props":304,"children":305},{"style":240},[306],{"type":44,"value":307},"      \"",{"type":38,"tag":117,"props":309,"children":311},{"style":310},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[312],{"type":44,"value":313},"url",{"type":38,"tag":117,"props":315,"children":316},{"style":240},[317],{"type":44,"value":263},{"type":38,"tag":117,"props":319,"children":320},{"style":240},[321],{"type":44,"value":268},{"type":38,"tag":117,"props":323,"children":324},{"style":240},[325],{"type":44,"value":326}," \"",{"type":38,"tag":117,"props":328,"children":330},{"style":329},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[331],{"type":44,"value":332},"${SNOWFLAKE_MCP_SERVER_URL}",{"type":38,"tag":117,"props":334,"children":335},{"style":240},[336],{"type":44,"value":263},{"type":38,"tag":117,"props":338,"children":339},{"style":240},[340],{"type":44,"value":341},",\n",{"type":38,"tag":117,"props":343,"children":345},{"class":119,"line":344},5,[346,350,355,359,363],{"type":38,"tag":117,"props":347,"children":348},{"style":240},[349],{"type":44,"value":307},{"type":38,"tag":117,"props":351,"children":352},{"style":310},[353],{"type":44,"value":354},"headers",{"type":38,"tag":117,"props":356,"children":357},{"style":240},[358],{"type":44,"value":263},{"type":38,"tag":117,"props":360,"children":361},{"style":240},[362],{"type":44,"value":268},{"type":38,"tag":117,"props":364,"children":365},{"style":240},[366],{"type":44,"value":273},{"type":38,"tag":117,"props":368,"children":370},{"class":119,"line":369},6,[371,376,382,386,390,394,399],{"type":38,"tag":117,"props":372,"children":373},{"style":240},[374],{"type":44,"value":375},"        \"",{"type":38,"tag":117,"props":377,"children":379},{"style":378},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[380],{"type":44,"value":381},"Authorization",{"type":38,"tag":117,"props":383,"children":384},{"style":240},[385],{"type":44,"value":263},{"type":38,"tag":117,"props":387,"children":388},{"style":240},[389],{"type":44,"value":268},{"type":38,"tag":117,"props":391,"children":392},{"style":240},[393],{"type":44,"value":326},{"type":38,"tag":117,"props":395,"children":396},{"style":329},[397],{"type":44,"value":398},"Bearer ${SNOWFLAKE_PAT_TOKEN}",{"type":38,"tag":117,"props":400,"children":401},{"style":240},[402],{"type":44,"value":403},"\"\n",{"type":38,"tag":117,"props":405,"children":407},{"class":119,"line":406},7,[408],{"type":38,"tag":117,"props":409,"children":410},{"style":240},[411],{"type":44,"value":412},"      }\n",{"type":38,"tag":117,"props":414,"children":415},{"class":119,"line":21},[416],{"type":38,"tag":117,"props":417,"children":418},{"style":240},[419],{"type":44,"value":420},"    }\n",{"type":38,"tag":117,"props":422,"children":424},{"class":119,"line":423},9,[425],{"type":38,"tag":117,"props":426,"children":427},{"style":240},[428],{"type":44,"value":429},"  }\n",{"type":38,"tag":117,"props":431,"children":433},{"class":119,"line":432},10,[434],{"type":38,"tag":117,"props":435,"children":436},{"style":240},[437],{"type":44,"value":438},"}\n",{"type":38,"tag":47,"props":440,"children":441},{},[442],{"type":44,"value":443},"Before using the MCP server, make sure the following environment variables are set in your shell:",{"type":38,"tag":445,"props":446,"children":447},"ul",{},[448,463],{"type":38,"tag":449,"props":450,"children":451},"li",{},[452,461],{"type":38,"tag":92,"props":453,"children":454},{},[455],{"type":38,"tag":113,"props":456,"children":458},{"className":457},[],[459],{"type":44,"value":460},"SNOWFLAKE_MCP_SERVER_URL",{"type":44,"value":462}," — Your full MCP server URL (see step 2).",{"type":38,"tag":449,"props":464,"children":465},{},[466,475],{"type":38,"tag":92,"props":467,"children":468},{},[469],{"type":38,"tag":113,"props":470,"children":472},{"className":471},[],[473],{"type":44,"value":474},"SNOWFLAKE_PAT_TOKEN",{"type":44,"value":476}," — The Programmatic Access Token generated in step 1.",{"type":38,"tag":47,"props":478,"children":479},{},[480,482,488],{"type":44,"value":481},"For example, add them to your shell profile (e.g. ",{"type":38,"tag":113,"props":483,"children":485},{"className":484},[],[486],{"type":44,"value":487},"~\u002F.zshrc",{"type":44,"value":489},"):",{"type":38,"tag":105,"props":491,"children":495},{"className":492,"code":493,"language":494,"meta":110,"style":110},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export SNOWFLAKE_MCP_SERVER_URL=\"https:\u002F\u002F\u003Corgname>-\u003Caccount_name>.snowflakecomputing.com\u002Fapi\u002Fv2\u002Fdatabases\u002F\u003Cdatabase>\u002Fschemas\u002F\u003Cschema>\u002Fmcp-servers\u002F\u003Cserver_name>\"\nexport SNOWFLAKE_PAT_TOKEN=\"your-pat-token-here\"\n","sh",[496],{"type":38,"tag":113,"props":497,"children":498},{"__ignoreMap":110},[499,531],{"type":38,"tag":117,"props":500,"children":501},{"class":119,"line":120},[502,507,513,518,522,527],{"type":38,"tag":117,"props":503,"children":504},{"style":255},[505],{"type":44,"value":506},"export",{"type":38,"tag":117,"props":508,"children":510},{"style":509},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[511],{"type":44,"value":512}," SNOWFLAKE_MCP_SERVER_URL",{"type":38,"tag":117,"props":514,"children":515},{"style":240},[516],{"type":44,"value":517},"=",{"type":38,"tag":117,"props":519,"children":520},{"style":240},[521],{"type":44,"value":263},{"type":38,"tag":117,"props":523,"children":524},{"style":329},[525],{"type":44,"value":526},"https:\u002F\u002F\u003Corgname>-\u003Caccount_name>.snowflakecomputing.com\u002Fapi\u002Fv2\u002Fdatabases\u002F\u003Cdatabase>\u002Fschemas\u002F\u003Cschema>\u002Fmcp-servers\u002F\u003Cserver_name>",{"type":38,"tag":117,"props":528,"children":529},{"style":240},[530],{"type":44,"value":403},{"type":38,"tag":117,"props":532,"children":533},{"class":119,"line":246},[534,538,543,547,551,556],{"type":38,"tag":117,"props":535,"children":536},{"style":255},[537],{"type":44,"value":506},{"type":38,"tag":117,"props":539,"children":540},{"style":509},[541],{"type":44,"value":542}," SNOWFLAKE_PAT_TOKEN",{"type":38,"tag":117,"props":544,"children":545},{"style":240},[546],{"type":44,"value":517},{"type":38,"tag":117,"props":548,"children":549},{"style":240},[550],{"type":44,"value":263},{"type":38,"tag":117,"props":552,"children":553},{"style":329},[554],{"type":44,"value":555},"your-pat-token-here",{"type":38,"tag":117,"props":557,"children":558},{"style":240},[559],{"type":44,"value":403},{"type":38,"tag":47,"props":561,"children":562},{},[563],{"type":44,"value":564},"Then restart Cursor (or reload the window) so it picks up the new environment variables.",{"type":38,"tag":566,"props":567,"children":568},"style",{},[569],{"type":44,"value":570},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":572,"total":120},[573],{"slug":4,"name":4,"fn":5,"description":6,"org":574,"tags":575,"stars":21,"repoUrl":22,"updatedAt":23},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[576,577,578],{"name":14,"slug":15,"type":16},{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16},{"items":580,"total":120},[581],{"slug":4,"name":4,"fn":5,"description":6,"org":582,"tags":583,"stars":21,"repoUrl":22,"updatedAt":23},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[584,585,586],{"name":14,"slug":15,"type":16},{"name":18,"slug":19,"type":16},{"name":9,"slug":8,"type":16}]