Token导航 LogoToken导航TokenDH.com
Duckcode Snowflake Readonly MCP Server logo
运维云端stdio官方级别未说明来源级核验

Duckcode Snowflake Readonly MCP Server

MCP Server

一个面向企业的只读模型上下文协议(MCP)服务器,用于向MCP兼容代理(如Claude Desktop)暴露Snowflake数据,确保凭证不进入日志,验证SQL使用,并准备在基于Docker的MCP托管环境中运行。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude数据访问Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

DuckCode-MCP-Servers

提供方

DuckCode-MCP-Servers

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m duckcode_snowflake_reader_mcp_server.main \

详细介绍

Duckcode 雪花阅读器 MCP 服务器

一个面向企业、仅读取的模型上下文协议(MCP)服务器,用于暴露(或提供访问) 将Snowflake数据传输到兼容MCP的代理程序,如Claude Desktop。服务器持续保持 从日志中提取凭据,验证SQL使用情况,并准备好在基于Docker的环境中运行 MCP托管环境。

亮点

  • 通过SQL防护和标识符验证强制实施只读访问
  • 多个凭证来源:JSON 密钥文件、环境变量或内联 JSON
  • 最小运行时表面面积:单个Python进程,无后台线程
  • 即插即用的MCP服务器标识符 duckcode-snowflake-reader

安全配置选项

快速凭证示例

  • 秘密文件创建 /run/secrets/snowflake.json 使用以下所示的JSON有效载荷并启动 python -m duckcode_snowflake_reader_mcp_server.main --connection-file /run/secrets/snowflake.json
  • 环境变量出口 DUCKCODE_SNOWFLAKE_ACCOUNT=my-accountDUCKCODE_SNOWFLAKE_USER=svc_reader等,然后运行 python -m duckcode_snowflake_reader_mcp_server.main --env-prefix DUCKCODE_SNOWFLAKE
  • 内联JSON(仅用于测试)python -m duckcode_snowflake_reader_mcp_server.main --connection '{"account":"my-account","user":"svc_reader","password":"super-secret","warehouse":"reporting_wh","database":"analytics_db","schema":"production","role":"ANALYST_ROLE"}'

选项1 - JSON密钥文件(推荐)

将凭据存储在一个文件中,该文件 不是 致力于源代码控制。示例 snowflake-credentials.json

{
  "account": "your-account",
  "user": "svc_reader",
  "password": "${SNOWFLAKE_PASSWORD}",
  "warehouse": "reporting_wh",
  "database": "analytics_db",
  "schema": "production",
  "role": "ANALYST_ROLE"
}

运行服务器:

python -m duckcode_snowflake_reader_mcp_server.main \
  --connection-file /secure/path/snowflake-credentials.json

选项2 - 环境变量

通过环境前缀提供值。每个键都变成 _ (例如。 DUCKCODE_SNOWFLAKE_ACCOUNT)。

export DUCKCODE_SNOWFLAKE_ACCOUNT=your-account
export DUCKCODE_SNOWFLAKE_USER=svc_reader
export DUCKCODE_SNOWFLAKE_PASSWORD='...'
export DUCKCODE_SNOWFLAKE_WAREHOUSE=reporting_wh
export DUCKCODE_SNOWFLAKE_DATABASE=analytics_db
export DUCKCODE_SNOWFLAKE_SCHEMA=production
export DUCKCODE_SNOWFLAKE_ROLE=ANALYST_ROLE

python -m duckcode_snowflake_reader_mcp_server.main --env-prefix DUCKCODE_SNOWFLAKE

环境来源的值会覆盖JSON中提供的任何内容。

选项3 - 内联JSON(仅用于快速测试)

python -m duckcode_snowflake_reader_mcp_server.main \
  --connection '{"account":"your-account","user":"svc_reader",...}'

在共享外壳或生产环境中避免使用这种方法,因为命令 历史或许会揭开秘密。

Claude Desktop / Claude for Web 配置

将服务器添加到您的MCP配置文件中。替换占位符或切换到 --connection-file / --env-prefix 如果你将密钥挂载到容器中。

{
  "mcpServers": {
    "duckcode-snowflake-reader": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "duckcode-snowflake-reader-mcp-server",
        "--connection",
        "{\"account\":\"your-account\",\"user\":\"svc_reader\",\"password\":\"your-password\",\"warehouse\":\"reporting_wh\",\"database\":\"analytics_db\",\"schema\":\"production\",\"role\":\"ANALYST_ROLE\"}"
      ]
    }
  }
}

svc_reader 只是一个占位符,用于代表任意一个Snowflake用户(通常是一个专门的 您想要以哪个服务账户进行身份验证。转义的引号(\") 是 因为这个 JSON 对象要被嵌入到另一个 JSON 字符串中,所以需要它。 如果你希望避免使用转义字符,请切换到 --connection-file 或者 --env-prefix,它们将凭据保持在其原始的JSON或环境变量中 可变形式。

使用 Docker 运行

docker build -t duckcode-snowflake-reader-mcp-server .
docker run --rm \
  -v /secure/path/snowflake-credentials.json:/run/secrets/snowflake.json:ro \
  duckcode-snowflake-reader-mcp-server \
  --connection-file /run/secrets/snowflake.json

与……一起奔跑 uvx

uvx duckcode-snowflake-reader-mcp-server \
  --env-prefix DUCKCODE_SNOWFLAKE

确保运行时环境变量或密钥文件可用。

可用资源与工具

  • snowflake://tables — 列出配置角色可见的表
  • snowflake://schema/{table_name} — 描述一个表(全限定名)
  • query 工具 — 执行单个只读查询 (SELECTSHOWDESCEXPLAINWITH)

许可证

根据MIT许可证分发。详见 LICENSE

目录标签

目录标签

PythonClaude数据访问Snowflake本地部署MCP服务器企业级只读访问

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP