Token导航 LogoToken导航

MCP Server · 开发工具

snowmcpaz (Miguel El Gallo)

VS Code扩展,通过本地Node.js代理暴露Snowflake管理的MCP服务器,并使用Azure CLI获取的Microsoft Entra访问令牌进行身份验证。

未说明官方级别未说明来源级核验工具 0
TypeScriptVS Code开发工具

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
MiguelElGallo
提供方
MiguelElGallo

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

snowmcpaz (Miguel El Gallo) 属于开发工具类 MCP Server,公开资料标注 0 个工具,通过传输方式未标注接入,适配 VS Code,没有现成的安装命令;接入前要先准备 OAuth 授权。

分类

开发工具

传输方式

未说明

认证方式

OAuth 授权

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

雪人水晶

VS Code扩展,通过本地Node.js代理公开Snowflake管理的MCP服务器,并使用从Azure CLI获取的Microsoft Entra访问令牌对请求进行身份验证。

角色快捷方式:

概述

扩展有四件事:

  • 在VS代码中注册MCP服务器定义
  • 启动本地Node.js stdio代理
  • 通过以下方式获取访问令牌 az account get-access-token
  • 将JSON-RPC调用转发到Snowflake MCP端点

该扩展不会创建您的Entra应用程序注册、Snowflake MCP服务器、外部OAuth集成、用户映射或角色授予。

这些部分必须已经存在,扩展才能工作。

建筑

flowchart LR
		user["VS Code user"] --> vscode["VS Code extension"]
		vscode --> broker["Local MCP broker"]
		broker --> az["Azure CLI"]
		az --> entra["Microsoft Entra app\napi://"]
		broker --> snowflake["Snowflake MCP endpoint"]
		snowflake --> broker

谁做什么

任务所有者完成时间
创建Entra应用程序注册Entra管理员应用程序已 api:// 和 session:role-any
预授权Azure CLIEntra管理员Azure CLI应用程序ID已添加到授权客户端应用程序中
处理租户同意Entra管理员用户可以在没有同意失败的情况下获取令牌
创建Snowflake MCP服务器Snowflake管理员端点URL已知并返回JSON-RPC响应
配置外部OAuth雪花管理员受众、发行者、JWKS URL和用户映射有效
授予可用的Snowflake角色Snowflake管理员目标角色可以使用数据库、架构和MCP服务器
配置VS代码扩展最终用户已设置扩展设置,连接测试成功

先决条件清单

在使用扩展之前,请确认所有这些都是真的。

  • Entra应用程序注册存在,并使用基于应用程序(客户端)ID的真实应用程序ID URI,而不是显示名称。
  • 该应用程序公开了委托范围 session:role-any.
  • Azure CLI已预先授权该应用程序注册。
  • 租户同意已处理。
  • 雪花MCP服务器已存在。
  • Snowflake外部OAuth集成信任相同的Entra应用程序受众。
  • Snowflake可以将令牌声明映射到目标用户。
  • 所选Snowflake角色已授予用户,并且对外部OAuth有效。

如果您需要管理程序,请使用接下来的两部分。

面向终端用户的快速入门

只有在满足上述清单后才能使用此路径。

  1. 安装Azure CLI并使用拥有Entra应用程序的租户登录。
  2. 集 snowflakeMcp.endpointUrl, snowflakeMcp.azureAppIdUri,以及 snowflakeMcp.role 在VS代码中。
  3. 可选设置 snowflakeMcp.azureTenantId 如果你需要强制特定的租户。
  4. 离开 snowflakeMcp.useAzureCli 着手 true.
  5. 跑 Snowflake MCP: Refresh Azure Token.
  6. 跑 Snowflake MCP: Test Connection.

如果您还没有以下四个值,请停在这里询问您的Entra和Snowflake管理员。这 谁做什么 表显示了他们必须完成的设置。

  • 雪花MCP端点URL
  • 例如,Entra应用程序ID URI api://e78b3971-ac83-4da7-ba8e-c99e42e5e8b9
  • 要发送的雪花角色 X-Snowflake-Role
  • 如果您的组织需要租户锁定,则显示租户ID

Entra管理员

Entra方面很小,但很严格。用户只需要获取令牌就可以为一个受众工作,并且该扩展完全依赖于Azure CLI来实现该运行时流。

所需的应用程序注册形状:

  • 登录受众:通常是单租户
  • 应用程序ID URI: api://
  • 委托范围: session:role-any
  • Azure CLI预先授权为授权客户端应用程序

Azure CLI客户端ID:

04b07795-8ddb-461a-bbee-02f9e1bf7b46

预授权门户位置:

  • 应用程序注册
  • 您的应用程序
  • 公开API
  • 授权客户端应用程序

推荐给用户的切换:

  • 租户ID
  • 应用程序ID URI
  • 用户是否必须使用特定租户登录

详细的管理员检查表: ENTRA_ADMIN_CHECKLIST.md

对于Snowflake管理员

在引入扩展之前,Snowflake必须已经能够接受Entra令牌。

创建授权集成

这是强制性的。

Snowflake管理员必须创建一个外部OAuth授权集成,在Snowflake中作为安全集成公开,然后任何用户都可以使用此扩展进行身份验证。

如果没有这种整合:

  • Snowflake不信任Entra发行的代币
  • 象征性的观众永远无法匹配
  • 用户声明无法映射到Snowflake用户
  • 即使Azure CLI令牌获取成功,扩展连接测试也会失败

至少,这种整合必须定义:

  • Entra发行人雪花应该信任
  • JWKS URL Snowflake用于验证令牌签名
  • 包含确切Entra应用程序ID URI的受众列表
  • 用户映射声明和Snowflake用户属性
  • EXTERNAL_OAUTH_ANY_ROLE_MODE = 'ENABLE' 如果您希望请求的角色标头正常工作

所需设置

  • 创建MCP服务器。
  • 创建外部OAuth安全集成。
  • 配置令牌受众和发行者以匹配Entra。
  • 集 EXTERNAL_OAUTH_ANY_ROLE_MODE = 'ENABLE' 因此可以在请求时选择所请求的角色。
  • 将用户声明映射到真正的Snowflake用户。
  • 授予具有以下条件的角色 USAGE 在数据库、模式和MCP服务器上。

端点形状示例:

https://.snowflakecomputing.com/api/v2/databases//schemas//mcp-servers/

不追加 /mcp.

参考外部OAuth形状:

CREATE OR REPLACE SECURITY INTEGRATION azure_oauth_mcp
	TYPE = EXTERNAL_OAUTH
	ENABLED = TRUE
	EXTERNAL_OAUTH_TYPE = AZURE
	EXTERNAL_OAUTH_ISSUER = 'https://sts.windows.net//'
	EXTERNAL_OAUTH_JWS_KEYS_URL = 'https://login.microsoftonline.com//discovery/v2.0/keys'
	EXTERNAL_OAUTH_TOKEN_USER_MAPPING_CLAIM = 'email'
	EXTERNAL_OAUTH_SNOWFLAKE_USER_MAPPING_ATTRIBUTE = 'email_address'
	EXTERNAL_OAUTH_ANY_ROLE_MODE = 'ENABLE'
	EXTERNAL_OAUTH_AUDIENCE_LIST = ('api://');

访客用户备注:

  • email 映射通常比 upn 对于访客用户。
  • 只有当令牌 email 索赔与Snowflake用户的索赔相匹配 EMAIL 属性。
  • 如果 email 在您的租户中不可靠,请验证是否 upn 在切换之前,映射可用于所有预期用户。

角色说明:

  • 不要计划 ACCOUNTADMIN 对于这种流动。
  • 尽可能使用特权最低的角色。
  • 使用验证当前集成设置 DESC SECURITY INTEGRATION azure_oauth_mcp;.

调试VS代码前验证

此序列从扩展外部验证身份验证链。

1.获取Azure CLI会话

az login

如果尚未行使租户同意,而您的政策允许:

az login --scope "api:///session:role-any" --allow-no-subscriptions

2.验证令牌获取

az account get-access-token --resource "api://" --output json

外延首先尝试现代范围形式,然后回落到 --resource。如果上述命令失败,扩展也将失败。

3.检查重要索赔

在已发布的令牌中确认这些声明:

  • aud 火柴 api://
  • iss 与Snowflake集成发行者匹配
  • scp 包含 session:role-any
  • email 如果使用电子邮件映射,则与Snowflake用户匹配

如果您需要快速检查令牌有效负载,请在本地解码访问令牌或将其粘贴到您组织批准的JWT检查工具中。

4.验证端点可达性和角色假设

此步骤假设Snowflake外部OAuth集成已经存在,并且与您之前验证的受众和发行者值匹配。

TOKEN=$(az account get-access-token --resource "api://" --query accessToken -o tsv)
ROLE=""

curl -s -X POST "https://.snowflakecomputing.com/api/v2/databases//schemas//mcp-servers/" \
	-H "Authorization: Bearer $TOKEN" \
	-H "X-Snowflake-Authorization-Token-Type: OAUTH" \
	-H "X-Snowflake-Role: $ROLE" \
	-H "Content-Type: application/json" \
	-d '{
		"jsonrpc": "2.0",
		"id": 2,
		"method": "tools/call",
		"params": {
			"name": "sql-exec-tool",
			"arguments": {
				"sql": "SELECT CURRENT_USER() AS user, CURRENT_ROLE() AS role"
			}
		}
	}'

这不仅验证了原始可达性。它验证令牌获取是否有效,端点是否正确,用户是否已映射,以及所选角色是否可以实际担任。

如果简单,Windows用户可以使用PowerShell或WSL运行相同的请求 curl 不方便。

扩展设置

配置示例:

{
	"snowflakeMcp.endpointUrl": "https://.snowflakecomputing.com/api/v2/databases/MCP_DB/schemas/MCP_SCHEMA/mcp-servers/SQL_EXEC_SERVER",
	"snowflakeMcp.azureAppIdUri": "api://",
	"snowflakeMcp.azureTenantId": "",
	"snowflakeMcp.role": "SYSADMIN",
	"snowflakeMcp.serverLabel": "snowflakeMcpAzAuth",
	"snowflakeMcp.useAzureCli": true
}
设置必填含义
snowflakeMcp.endpointUrl是完整雪花MCP端点URL
snowflakeMcp.azureAppIdUri是Entra应用程序ID URI用作令牌受众
snowflakeMcp.azureTenantId否已将租户覆盖传递给Azure CLI
snowflakeMcp.role否已发送雪花角色 X-Snowflake-Role
snowflakeMcp.serverLabel否在VS代码中显示MCP服务器的标签
snowflakeMcp.useAzureCli是必须保留 true 在当前实施中

开发的等效当地值如所示 .env.示例.

命令面板命令

  • Snowflake MCP: Refresh Azure Token
  • Snowflake MCP: Test Connection
  • Snowflake MCP: Show Effective Configuration

故障排除

az account get-access-token 失败

通常其中一个是错误的:

  • 错误的租户
  • 缺失或受限同意
  • Azure CLI未在应用程序注册上预先授权
  • 应用程序ID URI错误

第一次重试:

az login --scope "api:///session:role-any" --allow-no-subscriptions

雪花归来 404

您的端点错误。用途:

/api/v2/databases//schemas//mcp-servers/

不追加 /mcp.

Snowflake返回身份验证或角色错误

检查所有这些:

  • aud 火柴 EXTERNAL_OAUTH_AUDIENCE_LIST
  • iss 火柴 EXTERNAL_OAUTH_ISSUER
  • 映射的声明与Snowflake用户匹配
  • 用户可以担任发送的角色 X-Snowflake-Role
  • 该角色在数据库、架构和MCP服务器上有使用

访客或外部用户意外失败

验证令牌是否确实包含 email 声明,它与Snowflake用户的完全匹配 EMAIL 属性。

扩展报告配置问题

跑 Snowflake MCP: Show Effective Configuration.

当前版本要求:

  • 有效的端点URL
  • 非空 snowflakeMcp.azureAppIdUri
  • snowflakeMcp.useAzureCli = true

发展

npm install
npm run check
npm run build
npm test

要在本地创建VSIX,请执行以下操作:

npm run package:vsix

当前限制

运行时身份验证仍然依赖于Azure CLI。

扩展管理登录尚未实现。

参考文献

  • 上游雪花MCP设置:
  • 支持和问题:

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

SnowflakeTypeScript本地部署MCP代理VSCode扩展Azure认证Node.js代理

支持客户端

VS Code

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备OAuth 授权,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 VS Code 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到OAuth 授权的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
snowmcpaz (Miguel El Gallo)

MCP World · 本页

0未说明未标注1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

snowmcpaz (Miguel El Gallo) 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

snowmcpaz (Miguel El Gallo) 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

snowmcpaz (Miguel El Gallo) 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

snowmcpaz (Miguel El Gallo) 需要 API Key 吗?

公开资料标注的认证方式是OAuth 授权,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

snowmcpaz (Miguel El Gallo) 支持哪些客户端?

公开资料标注支持 VS Code;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP