Token导航 LogoToken导航

MCP Server · 开发工具

Snowflake MCP Service

MCP server implementation for Snowflake integration

stdio官方级别未说明来源级核验工具 2
数据库连接AI代理PythonClaudeClaude Desktop

快速开始

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

工具数量

2

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

5

仓库热度

收录来源

4 个

MCP.so

选型结论

Snowflake MCP Service 属于开发工具类 MCP Server,公开资料标注 2 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install -r requirements.txt

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

上手步骤

  1. 1

    准备运行环境

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

  2. 2

    安装服务

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

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

详细介绍

Snowflake MCP服务

一个模型上下文协议(MCP)服务器,为任何兼容MCP的客户端提供访问Snowflake数据库的权限。

此服务器实现了模型上下文协议(Model Context Protocol),以便任何MCP客户端能够:

  • 在Snowflake数据库上执行SQL查询
  • 自动处理数据库连接的生命周期(连接、超时后重连、关闭)
  • 处理查询结果和错误
  • 安全地执行数据库操作
  • 使用密码或密钥对认证进行连接

架构概述

什么是MCP(模型上下文协议)?

MCP是一种标准协议,允许应用程序与人工智能模型和外部服务进行通信。它使人工智能模型能够访问超出其训练数据范围的工具和数据源,通过标准化的通信接口扩展其功能。主要特性包括:

  • 基于stdio通信(标准输入/输出)
  • 结构化工具定义与发现
  • 标准化工具调用机制
  • 结构化结果传输

系统组件

Snowflake-MCP服务器由几个关键组件构成:

  1. MCP 服务器 - 实现MCP协议并处理客户端请求的核心组件
  2. Snowflake 连接管理器 - 管理数据库连接,包括创建、维护和清理
  3. 查询处理器 - 在Snowflake上执行SQL查询并处理结果
  4. 认证管理器 - 支持不同的认证方法(密码或私钥)

信息流/沟通流程

该系统通过以下通信流程工作:

  1. 一个MCP客户端(如Claude或其他MCP兼容应用程序)向MCP服务器发送请求
  2. MCP服务器使用来自(指定位置的)凭据对Snowflake进行身份验证 .env 文件
  3. MCP服务器在Snowflake上执行SQL查询
  4. Snowflake 将结果返回给 MCP 服务器
  5. MCP服务器对结果进行格式化,并将其发送回MCP客户端

这种架构实现了人工智能应用与Snowflake数据库之间的无缝集成,同时确保了安全性和高效的连接管理。

安装

  1. 克隆此仓库
git clone https://github.com/davidamom/snowflake-mcp.git
  1. 安装依赖项
pip install -r requirements.txt

配置

MCP客户端配置示例

以下是Claude Desktop的一个示例配置,但此服务器可与任何MCP兼容的客户端配合使用。每个客户端可能有自己的配置方法:

{
  "mcpServers": {
    "snowflake": {
      "command": "C:\\Users\\YourUsername\\path\\to\\python.exe",
      "args": ["C:\\path\\to\\snowflake-mcp\\server.py"]
    }
  }
}

配置参数:

  • command您Python解释器的完整路径。请根据您的Python安装位置修改此路径。
  • args服务器脚本的完整路径。请根据您克隆仓库的位置修改此路径。

不同操作系统的示例路径:

Windows:

{
  "mcpServers": {
    "snowflake": {
      "command": "C:\\Users\\YourUsername\\anaconda3\\python.exe",
      "args": ["C:\\Path\\To\\snowflake-mcp\\server.py"]
    }
  }
}

MacOS/Linux:

{
  "mcpServers": {
    "snowflake": {
      "command": "/usr/bin/python3",
      "args": ["/path/to/snowflake-mcp/server.py"]
    }
  }
}

Snowflake 配置

创建一个 .env 在项目根目录中创建文件并添加以下配置:

# Snowflake Configuration - Basic Info
SNOWFLAKE_USER=your_username          # Your Snowflake username
SNOWFLAKE_ACCOUNT=YourAccount.Region  # Example: MyOrg.US-WEST-2
SNOWFLAKE_DATABASE=your_database      # Your database
SNOWFLAKE_WAREHOUSE=your_warehouse    # Your warehouse
SNOWFLAKE_ROLE=your_role              # Your role

# Authentication - Choose one method
认证选项

此MCP服务器支持两种认证方法:

  1. 密码认证
   SNOWFLAKE_PASSWORD=your_password      # Your Snowflake password
  1. 密钥对认证
   SNOWFLAKE_PRIVATE_KEY_FILE=/path/to/rsa_key.p8     # Path to private key file 
   SNOWFLAKE_PRIVATE_KEY_PASSPHRASE=your_passphrase   # Optional: passphrase if key is encrypted

对于密钥对认证,您必须首先在Snowflake中设置密钥对认证:

- 生成密钥对,并将公钥注册到Snowflake - 在您的机器上安全地存储私钥文件 - 在配置中提供私钥文件的完整路径

如需设置密钥对认证的说明,请参阅 Snowflake关于密钥对认证的文档。

如果配置了两种认证方法,服务器将优先使用密钥对认证。

连接管理

服务器提供自动连接管理功能:

  • 自动连接初始化

- 在首次接收到查询时建立连接 - 验证连接参数

  • 连接维护

- 跟踪连接状态 - 处理连接超时 - 如果连接丢失,将自动重新连接

  • 连接清理

- 当服务器停止时,正确关闭连接 - 适当地释放资源

使用方法

标准用法

当您的MCP客户端进行配置后,服务器将自动启动。在正常运行过程中,无需手动启动。一旦服务器运行起来,您的MCP客户端将能够执行Snowflake查询。

对于开发测试,您可以使用以下命令手动启动服务器:

python server.py

注:正常使用时无需手动启动服务器。MCP客户端通常会根据配置管理服务器的启动和关闭。

Docker 使用方法

你也可以使用 Docker 来运行服务器。这种方法建议用于生产环境,以确保在不同平台上的执行一致性。

  1. 构建Docker镜像:
docker build -t snowflake-mcp .
  1. 配置您的MCP客户端以使用Docker。配置示例:
{
  "mcpServers": {
    "snowflake-docker": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "snowflake-mcp"
      ],
      "env": {
        "SNOWFLAKE_USER": "your_username",
        "SNOWFLAKE_ACCOUNT": "your_account",
        "SNOWFLAKE_DATABASE": "your_database",
        "SNOWFLAKE_WAREHOUSE": "your_warehouse",
        "SNOWFLAKE_PASSWORD": "your_password",
        "SNOWFLAKE_ROLE": "your_role"
        
      }
    }
  }
}

注:Docker 实现使用 stdio 进行通信,因此无需暴露端口。

如果在使用 Docker 时采用密钥对认证,您需要挂载您的私钥文件:

docker run -i -v /path/to/your/key.p8:/app/rsa_key.p8:ro snowflake-mcp

并相应地更新您的配置:

{
  "mcpServers": {
    "Snowflake-Docker": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "-v",
        "/path/to/your/key.p8:/app/rsa_key.p8:ro",
        //optional
        "-v",
        "/path/to/export/dir/:/export/"
        "snowflake-mcp"
      ],
      "env": {
        "SNOWFLAKE_USER": "your_username",
        "SNOWFLAKE_ACCOUNT": "your_account",
        "SNOWFLAKE_DATABASE": "your_database",
        "SNOWFLAKE_WAREHOUSE": "your_warehouse",
        "SNOWFLAKE_ROLE": "your_role",
        "SNOWFLAKE_PRIVATE_KEY_FILE": "path_for_your_private_key",
        "SNOWFLAKE_PRIVATE_KEY_PASSPHRASE": "your_password_for_private_key"
      }
    }
  }
}

特点/功能

  • 确保Snowflake数据库访问安全
  • 灵活的认证方式(密码或密钥对认证)
  • 强大的错误处理和报告功能
  • 自动连接管理
  • 查询执行和结果处理
  • 兼容任何符合MCP标准的客户端

技术细节

核心组件

实现过程包括几个关键的类和模块:

  • server.py 翻译成中文是“服务器.py”或保持原名(因为“server.py”在中文语境下通常直接使用,表示一个名为“server”的Python脚本文件)。如果要更具体地描述其用途,可能会说“服务器端Python脚本文件”或“服务器程序(Python)”,但直接翻译“server.py”为“服务器.py”已足够清晰 - 包含MCP服务器实现的主要入口点。
  • Snowflake 连接 - 处理所有Snowflake数据库操作的类,包括:

- 连接建立和重新连接 - 查询执行和事务管理 - 连接维护和清理

  • Snowflake MCP 服务器 - 实现MCP协议的主要服务器类:

- 在MCP框架中注册可用工具 - 处理来自客户端的工具调用请求 - 管理连接的生命周期

连接生命周期

连接生命周期经过精心管理,以确保可靠性:

  1. 初始化 - 当接收到第一个查询时,才会按需创建连接
  2. 验证 - 在尝试连接之前,会对连接参数进行验证
  3. 监测 - 定期测试连接的有效性
  4. 恢复 - 如果连接丢失或超时,则自动重新连接
  5. 清理 - 服务器关闭时正确释放资源

MCP工具接口

服务器向MCP客户端提供了以下工具:

  • 执行查询 - 在Snowflake上执行SQL查询并返回结果

- 输入:SQL 查询字符串 - 输出:以结构化格式呈现查询结果

  • 导出为CSV文件 - 在Snowflake上执行SQL查询并返回结果

- 输入:SQL 查询字符串 - 输出:导出的行数。输出文件的文件路径

此实现遵循了MCP协议实现和Snowflake数据库交互的最佳实践。

许可证

这个项目遵循以下许可协议: 麻省理工学院许可证(MIT License). 查看 许可证 文件中有详细信息。

版权所有 (c) 2025 David Amom

工具与能力

工具数量

2

资源数量

0

提示词数量

0

能力标签

developer-tools数据库连接Python本地部署SQL执行MCP协议Snowflake集成AI工具扩展

支持客户端

Claude DesktopClaude

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

典型使用场景

让助手直接读代码

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

在对话里跑命令

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

接进开发流程

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

选择建议

值得选的地方

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

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

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

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

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

MCP.so · 本页

2stdio有4 个2026-05-17
Git 838e2ec1

MCP World

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

MCP World

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

MCP World

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

MCP World

0stdio有1 个2026-05-17

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

常见问题

5 条

Snowflake MCP Service 怎么安装?

公开资料给出的安装命令是 pip install -r requirements.txt,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

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

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

Snowflake MCP Service 收费吗?

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

Snowflake MCP Service 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Snowflake MCP Service 支持哪些客户端?

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

来源信息

继续浏览同类 MCP