Token导航 LogoToken导航

MCP Server · 数据服务

Tlx Snowflake MCP

Snowflake Cortex AI 模型服务器为 Snowflake Cortex AI 提供工具支持,包括对象管理、SQL 编排和语义视图查询等功能,适用于数据分析和 AI 应用场景。

stdio官方级别未说明来源级核验工具 6
PythonClaude数据分析Claude DesktopCursor

快速开始

作者 / 组织
trustlogix
提供方
trustlogix
运行时
Python

工具数量

6

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Tlx Snowflake MCP 属于数据服务类 MCP Server,公开资料标注 6 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude、Cursor,有可以直接复制的安装命令;接入前要先准备 OAuth 授权。

分类

数据服务

传输方式

stdio

认证方式

OAuth 授权

部署方式

公开资料未说明

安装与配置

安装命令

uvx snowflake-labs-mcp --service-config-file config.yaml

客户端配置示例

{
  "mcpServers": {
    "tlx-snowflake-mcp": {
      "command": "uvx",
      "args": [
        "snowflake-labs-mcp",
        "--service-config-file",
        "config.yaml"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

详细介绍

Snowflake Cortex AI模型上下文协议(MCP)服务器

MCP服务器目前支持以下功能:

  • 皮质搜索:在Snowflake中查询非结构化数据,如检索增强生成(RAG)应用程序中常用的。
  • 皮质分析员:通过丰富的语义建模在Snowflake中查询结构化数据。
  • 皮质剂:跨结构化和非结构化数据检索的代理编排器
  • 对象管理:对Snowflake最常见的对象执行基本操作,如创建、删除、更新等。
  • SQL执行:运行由用户配置的权限管理的LLM生成的SQL。
  • 语义视图查询:发现和查询雪花语义视图

入门指南

服务配置

一个简单的配置文件用于驱动所有工具。一个例子可以在 services/configuration.yaml 下面是一个模板。此配置文件的路径将传递给服务器,其内容用于在启动时创建MCP服务器工具。

Cortex服务

可以添加许多Cortex代理、搜索和分析服务。理想的描述既具有高度的描述性,又相互排斥。 只有明确列出的Cortex服务才能作为MCP客户端中的工具使用。

其他服务

其他服务包括工具 对象管理, 查询执行,以及 语义视图使用. 这些工具组可以通过在中设置为True来启用 other_services 配置文件的一部分。

SQL语句权限

这 sql_statement_permissions 该部分确保只有经过批准的语句才能在任何有权更改Snowflake对象的工具上执行。 该列表包含SQL表达式类型。标有True的是允许的,标有False的是不允许的。请看 SQL执行 对于每种表达式类型的示例。

agent_services: # List all Cortex Agent services
  - service_name: 
    description: > # Describe contents of the agent service
      
    database_name: 
    schema_name: 
  - service_name: 
    description: > # Describe contents of the agent service
      
    database_name: 
    schema_name: 
search_services: # List all Cortex Search services
  - service_name: 
    description: > # Describe contents of the search service
      
    database_name: 
    schema_name: 
  - service_name: 
    description: > # Describe contents of the search service
      
    database_name: 
    schema_name: 
analyst_services: # List all Cortex Analyst semantic models/views
  - service_name:  # Create descriptive name for the service
    semantic_model:  # Fully-qualify semantic YAML model or Semantic View
    description: > # Describe contents of the analyst service
      
  - service_name:  # Create descriptive name for the service
    semantic_model:  # Fully-qualify semantic YAML model or Semantic View
    description: > # Describe contents of the analyst service
      
other_services: # Set desired tool groups to True to enable tools for that group
  object_manager: True # Perform basic operations against Snowflake's most common objects such as creation, dropping, updating, and more.
  query_manager: True # Run LLM-generated SQL managed by user-configured permissions.
  semantic_manager: True # Discover and query Snowflake Semantic Views and their components.
sql_statement_permissions: # List SQL statements to explicitly allow (True) or disallow (False).
  # - All: True # To allow everything, uncomment and set All: True.
  - Alter: True
  - Command: True
  - Comment: True
  - Commit: True
  - Create: True
  - Delete: True
  - Describe: True
  - Drop: True
  - Insert: True
  - Merge: True
  - Rollback: True
  - Select: True
  - Transaction: True
  - TruncateTable: True
  - Unknown: False # To allow unknown or unmapped statement types, set Unknown: True.
  - Update: True
  - Use: True
\[!注意\] 以前版本的配置文件支持为列指定显式值,并为每个Cortex Search服务指定限制。相反,这些现在完全是基于用户提示的动态的。如果未指定,将返回搜索服务的默认search_columns,限制为10。

连接到Snowflake

MCP服务器使用 Snowflake Python连接器 适用于所有身份验证和连接方法。 请参阅Snowflake官方文档,了解全面的身份验证选项和最佳实践。

MCP服务器尊重分配给指定角色(在连接参数中传递)或用户默认角色(如果没有传递角色进行连接)的RBAC权限。

连接参数可以作为CLI参数和/或环境变量传递。服务器支持Snowflake Python连接器中可用的所有身份验证方法,包括:

  • 用户名/密码验证
  • 密钥对身份验证
  • OAuth身份验证
  • 单点登录(SSO)
  • 多因素身份验证(MFA)

连接参数

连接参数可以作为CLI参数和/或环境变量传递:

参数CLI参数环境变量描述
帐户--帐户SNOWFLAKE_Account帐户标识符(例如xy12345.us-east-1)
主机--主机SNOWFLAKE_Host雪花主机URL
用户--用户,--用户名SNOWFLAKE_User身份验证用户名
密码--密码SNOWFLAKE_Password密码或编程访问令牌
角色--RoleSNOWFLAKE_Role用于连接的角色
仓库--仓库SNOWFLAKE_Warehouse用于查询的仓库
密码中的密码--密码中的通行码-密码中是否嵌入了通行码
密码--密码SNOWFLAKE_PasscodeMFA身份验证密码
私钥--私钥SNOWFLAKE_Private_Key密钥对身份验证私钥
私钥文件--私钥文件SNOWFLAKE_Private_Key_File私钥文件路径
私钥密码--私钥文件pwdSNOWFLAKE_Private_Key_file_pwd加密私钥密码
身份验证器--身份验证器-身份验证类型(默认:雪花)
连接名称--连接名称-connections.toml(或config.toml)文件中的连接名称
\[!警告\] 弃用通知:CLI参数 --account-identifier 和 --pat,以及环境变量 SNOWFLAKE_PAT,已弃用,并将在未来的版本中删除。请使用 --account 和 --password (或 SNOWFLAKE_ACCOUNT 和 SNOWFLAKE_PASSWORD)相反。

传输配置

MCP服务器支持多种传输机制。有关MCP传输的详细信息,请参阅 FastMCP传输协议.

运输描述用例
stdio标准输入/输出(默认)本地开发,MCP客户端集成
sse (传统)服务器发送事件流媒体应用程序
streamable-http可流式HTTP传输容器部署、远程服务器

用法

# Default stdio transport
uvx snowflake-labs-mcp --service-config-file config.yaml

# HTTP transport with custom endpoint
uvx snowflake-labs-mcp --service-config-file config.yaml --transport streamable-http --endpoint /my-endpoint

# For containers (uses streamable-http on port 9000)
uvx snowflake-labs-mcp --service-config-file config.yaml --transport streamable-http --endpoint /snowflake-mcp

运输定制

可用于的服务器自定义 sse 和 streamable-http 运输:

参数CLI参数环境变量默认值
主机--服务器主机SNOWFLAKE_MCP_Host“0.0.0.0”
端口--端口SNOWFLAKE_MCP_Port9000
端点--端点SNOWFLAKE_MCP_Endpoint/MCP
调试日志--verboseSNOWFLAKE_MCP_verbosefalse

例子:

export SNOWFLAKE_MCP_ENDPOINT="/my-mcp"
uvx snowflake-labs-mcp --service-config-file config.yaml --transport streamable-http

与MCP客户端一起使用

MCP服务器与客户端无关,将与大多数支持MCP工具和(可选)资源基本功能的MCP客户端一起工作。以下是本地安装的示例。要连接到容器化部署,请参阅 将MCP客户端连接到容器.

克劳德桌面

要将此服务器与Claude Desktop集成为MCP客户端,请将以下内容添加到应用程序的服务器配置中。默认情况下,它位于:

  • macOS:~/库/应用程序支持/Claude/Claude_desktop_config json
  • Windows:%APPDATA%\\Claude\\Claude_desktop_config.json

设置服务配置文件的路径并配置连接方法:

{
  "mcpServers": {
    "mcp-server-snowflake": {
      "command": "uvx",
      "args": [
        "snowflake-labs-mcp",
        "--service-config-file",
        "
/tools_config.yaml",
        "--connection-name",
        "default"
      ]
    }
  }
}

光标

通过打开光标并导航到设置->光标设置->MCP,在光标中注册MCP服务器。添加以下内容:

{
  "mcpServers": {
    "mcp-server-snowflake": {
      "command": "uvx",
      "args": [
        "snowflake-labs-mcp",
        "--service-config-file",
        "
/tools_config.yaml",
        "--connection-name",
        "default"
      ]
    }
  }
}

在聊天中添加MCP服务器作为上下文。

要排除Cursor服务器问题,请打开输出面板并从下拉菜单中选择Cursor MCP来查看日志。

快速代理

更新 fastagent.config.yaml 带有配置文件路径和连接名称的mcp服务器部分:

# MCP Servers
mcp:
    servers:
        mcp-server-snowflake:
            command: "uvx"
            args: ["snowflake-labs-mcp", "--service-config-file", "
/tools_config.yaml", "--connection-name", "default"]

微软Visual Studio代码+GitHub副本

有关先决条件、环境设置、分步指南和说明,请参阅此 博客.

法典

通过添加以下内容在codex中注册MCP服务器 ~/.codex/config.toml

[mcp_servers.mcp-server-snowflake]
command = "uvx"
args = [
    "snowflake-labs-mcp",
    "--service-config-file",
    "
/tools_config.yaml",
    "--connection-name",
    "default"
]

编辑后,雪花mcp应出现在输出中 codex mcp list 从终端运行。

容器部署

将MCP服务器部署为远程访问或生产环境的容器。本指南为Docker和Docker Compose部署提供了分步说明。

Docker部署

按照以下步骤使用Docker部署MCP服务器:

步骤1:准备配置文件

创建MCP配置目录并复制模板:

mkdir -p ${HOME}/.mcp/
cp services/configuration.yaml ${HOME}/.mcp/tools_config.yaml

步骤2:配置服务

编辑配置文件以匹配您的环境:

# Edit the configuration file as needed
# Update service names, database/schema references, and enable desired features
nano ${HOME}/.mcp/tools_config.yaml

步骤3:构建容器映像

从提供的Dockerfile构建Docker镜像:

docker build -f docker/server/Dockerfile -t mcp-server-snowflake .

步骤4:设置环境变量

配置Snowflake连接参数。选择以下身份验证方法之一:

用户名/密码验证:

export SNOWFLAKE_ACCOUNT=
export SNOWFLAKE_USER=
export SNOWFLAKE_PASSWORD=

密钥对身份验证:

export SNOWFLAKE_ACCOUNT=
export SNOWFLAKE_USER=
export SNOWFLAKE_PRIVATE_KEY="$(cat 
)"
export SNOWFLAKE_PRIVATE_KEY_FILE_PWD=

步骤5:运行容器

使用配置和环境变量启动容器:

用户名/密码验证:

docker run -d \
  --name mcp-server-snowflake \
  -p 9000:9000 \
  -e SNOWFLAKE_ACCOUNT=${SNOWFLAKE_ACCOUNT} \
  -e SNOWFLAKE_USER=${SNOWFLAKE_USER} \
  -e SNOWFLAKE_PASSWORD=${SNOWFLAKE_PASSWORD} \
  -v ${HOME}/.mcp/tools_config.yaml:/app/services/tools_config.yaml:ro \
  mcp-server-snowflake

对于密钥对身份验证:

docker run -d \
  --name mcp-server-snowflake \
  -p 9000:9000 \
  -e SNOWFLAKE_ACCOUNT=${SNOWFLAKE_ACCOUNT} \
  -e SNOWFLAKE_USER=${SNOWFLAKE_USER} \
  -e SNOWFLAKE_PRIVATE_KEY="${SNOWFLAKE_PRIVATE_KEY}" \
  -e SNOWFLAKE_PRIVATE_KEY_FILE_PWD=${SNOWFLAKE_PRIVATE_KEY_FILE_PWD} \
  -v ${HOME}/.mcp/tools_config.yaml:/app/services/tools_config.yaml:ro \
  mcp-server-snowflake

步骤6:验证部署

检查容器是否正在运行且可访问:

# Check container status
docker ps

# Check container logs
docker logs mcp-server-snowflake

# Test endpoint (should return MCP server info)
curl http://localhost:9000/snowflake-mcp

Docker编写部署

按照以下步骤使用Docker Compose进行简化部署:

步骤1:准备配置文件

创建配置目录并复制模板:

mkdir -p ${HOME}/.mcp/
cp services/configuration.yaml ${HOME}/.mcp/tools_config.yaml

步骤2:配置服务

编辑配置文件以匹配您的环境:

# Update service configurations as needed
nano ${HOME}/.mcp/tools_config.yaml

步骤3:设置环境变量

配置Snowflake连接参数:

export SNOWFLAKE_ACCOUNT=
export SNOWFLAKE_USER=
# For username/password auth:
export SNOWFLAKE_PASSWORD=
# For key pair auth, also set:
# export SNOWFLAKE_PRIVATE_KEY="$(cat 
)"
# export SNOWFLAKE_PRIVATE_KEY_FILE_PWD=

步骤4:启动服务

使用Docker Compose启动容器:

docker-compose up -d

步骤5:验证部署

检查服务是否正在运行:

# Check service status
docker-compose ps

# View logs
docker-compose logs

# Test endpoint
curl http://localhost:9000/snowflake-mcp

将MCP客户端连接到容器

一旦您的MCP服务器在容器中运行,您就可以将各种MCP客户端连接到它。所有客户端的连接配置都是相同的,只是配置格式不同。

连接URL格式:

  • 本地部署: http://localhost:9000/snowflake-mcp
  • 远程部署: `http://:

/snowflake-mcp`

克劳德桌面

将此添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "mcp-server-snowflake": {
      "url": "http://localhost:9000/snowflake-mcp"
    }
  }
}

光标

将此添加到光标中的MCP设置中(设置->光标设置->MCP):

{
  "mcpServers": {
    "mcp-server-snowflake": {
      "url": "http://localhost:9000/snowflake-mcp"
    }
  }
}

快速代理

将此添加到您的 fastagent.config.yaml:

# MCP Servers
mcp:
    servers:
        mcp-server-snowflake:
            url: "http://localhost:9000/snowflake-mcp"

笔记:

  • 对于远程部署,请替换 localhost:9000 使用服务器的主机名和端口
  • 确保防火墙允许端口9000(或配置的端口)上的连接
  • 对于生产部署,考虑使用HTTPS和适当的身份验证

Cortex服务

Cortex Agent实例(in agent_services 部分),皮质搜索(in search_services 第节)和Cortex Analyst(in analyst_services 配置文件的第节)将用作工具。将这些部分留空以省略这些工具。

MCP服务器中仅支持Cortex Agent对象。也就是说,只有Snowflake中预先配置的Cortex Agent对象才能用作工具。看 Cortex代理运行API 了解更多详情。

确保所有服务的服务名称、数据库、模式等都有准确的上下文名称。理想的描述既具有高度的描述性,又相互排斥。

这 semantic_model 分析师服务中的值应该是Snowflake阶段的完全限定语义视图或语义YAML文件:

  • 对于语义视图: MY_DATABASE.MY_SCHEMA.MY_SEMANTIC_VIEW
  • 对于语义YAML文件: @MY_DATABASE.MY_SCHEMA.MY_STAGE/my_semantic_file.yaml (注意 @.)

对象管理

MCP服务器包括数十个工具,范围很窄,可以完成基本的操作管理。建议直接使用Snowsight进行高级对象管理。

MCP服务器当前支持 创建, 掉落, 创建或更改, 描述,以及 挂牌 下面的对象类型。 要启用这些工具,请设置 object_manager 在配置文件中设置为True other_services.

- Database
- Schema
- Table
- View
- Warehouse
- Compute Pool
- Role
- Stage
- User
- Image Repository

请注意,这些工具也受以下配置文件中捕获的权限的控制 sql_statement_permissions. 用于创建和创建或更改对象的对象管理工具由 Create 许可。对象删除受以下因素控制 Drop 许可。

未来的版本中可能会包含更多的操作和对象。

SQL执行

通用SQL工具将提供一种执行MCP客户端生成的通用SQL语句的方法。用户可以完全控制配置文件中批准的SQL语句的类型。

在配置文件中列出 sql_statement_permissions 是 sqlglot表达式类型标记为False的将在执行前停止。标记为True的将被执行(或根据MCP客户端设置提示用户执行)。

要启用SQL执行工具,请设置 query_manager 在配置文件中设置为True other_services. 要允许所有SQL表达式通过额外的验证,请设置 All 真的。

并非所有Snowflake SQL命令都映射到sqlglot中,您可能会发现一些模糊的命令尚未在配置文件中捕获。 设置 Unknown 为True将允许这些未捕获的命令通过额外的验证。 您还可以直接添加新的表达式类型来纪念特定的表达式类型。

以下是sqlglot表达式类型的一些示例,以及附带的Snowflake SQL命令示例:

SQLGlot表达式类型SQL命令
更改ALTER TABLE my_table ADD COLUMN new_column VARCHAR(50);
指挥部CALL my_procedure('param1_value', 123);

GRANT ROLE analyst TO USER user1; SHOW TABLES IN SCHEMA my_database.my_schema; | |评论| COMMENT ON TABLE my_table IS 'This table stores customer data.'; | |承诺| COMMIT; | |创建| CREATE TABLE my_table ( id INT, name VARCHAR(255), email VARCHAR(255) ); CREATE OR ALTER VIEW my_schema.my_new_view AS SELECT id, name, created_at FROM my_schema.my_table WHERE created_at >= '2023-01-01'; | |删除| DELETE FROM my_table WHERE id = 101; | |描述| DESCRIBE TABLE my_table; | |放下| DROP TABLE my_table; | |错误| COPY INTO my_table FROM @my_stage/data/customers.csv FILE_FORMAT = (TYPE = CSV SKIP_HEADER = 1 FIELD_DELIMITER = ','); REVOKE ROLE analyst FROM USER user1; UNDROP TABLE my_table; | |插入| INSERT INTO my_table (id, name, email) VALUES (102, 'Jane Doe', 'jane.doe@example.com'); | |合并| MERGE INTO my_table AS target USING (SELECT 103 AS id, 'John Smith' AS name, 'john.smith@example.com' AS email) AS source ON target.id = source.id WHEN MATCHED THEN UPDATE SET target.name = source.name, target.email = source.email WHEN NOT MATCHED THEN INSERT (id, name, email) VALUES (source.id, source.name, source.email); | |回滚| ROLLBACK; | |选择| `SELECT id, name FROM my_table WHERE id

工具与能力

工具数量

6

资源数量

0

提示词数量

0

能力标签

AI模型服务本地部署数据查询SQL编排对象管理语义分析

支持客户端

Claude DesktopClaudeCursor

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

典型使用场景

用自然语言查库

不用手写 SQL,直接问数据,让模型组织查询语句。

数据巡检

定期拉指标、做对比,把异常项整理成一段说明。

打通业务数据

把数据库、数仓和接口接进同一个上下文,减少导出再上传。

选择建议

值得选的地方

  • 只提供 6 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude、Cursor,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备OAuth 授权,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在数据服务场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到OAuth 授权的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Tlx Snowflake MCP

MCP World · 本页

6stdio有1 个2026-05-17
Memory 9d25f64e

MCP World

9未说明未标注1 个2026-05-17
Prisma MCP Server

MCP World

0stdio有3 个2026-05-17
Astr Bot

MCP World

0stdio有1 个2026-05-17
Getzep MCP

MCP World

9stdio有1 个2026-05-17

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

常见问题

5 条

Tlx Snowflake MCP 怎么安装?

公开资料给出的安装命令是 uvx snowflake-labs-mcp --service-config-file config.yaml,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Tlx Snowflake MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Tlx Snowflake MCP 收费吗?

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

Tlx Snowflake MCP 需要 API Key 吗?

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

Tlx Snowflake MCP 支持哪些客户端?

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

来源信息

继续浏览同类 MCP