Skip to main content
Glama
Analytics-model-LTD

snowflake-analytics-mcp-server

snowflake-analytics-mcp-server

一个用于 SnowflakeModel Context Protocol 服务器,专为 Analytics Model 平台构建。它通过官方的 snowflake-sdk 驱动连接 Snowflake(纯 Node 实现——无需客户端二进制文件,与 Oracle 服务器不同),并通过 stdio 提供表发现和查询工具。可直接使用 npx 运行。

list_tables 工具返回平台精确的表发现信封,因此它可以直接嵌入与 Clio、Dropbox 和 Shopify 服务器相同的 fetchMcpTables 流程中。

安装

npm install -g snowflake-analytics-mcp-server
# or run directly (no install):
npx -y snowflake-analytics-mcp-server

配置

所有凭据均来自环境变量。

变量

必需

默认

描述

SNOWFLAKE_ACCOUNT

账户标识符,例如 xy12345.eu-central-1orgname-account_name

SNOWFLAKE_USERNAME

登录名

SNOWFLAKE_PASSWORD

✅(密码认证)

密码(除非使用密钥对/OAuth,否则必填)

SNOWFLAKE_WAREHOUSE

要使用的虚拟仓库

SNOWFLAKE_DATABASE

推荐

默认数据库(当未提供参数时,由 list_tables 使用)

SNOWFLAKE_SCHEMA

推荐

默认模式

SNOWFLAKE_ROLE

要使用的角色

SNOWFLAKE_AUTHENTICATOR

SNOWFLAKE

SNOWFLAKE(密码)、SNOWFLAKE_JWT(密钥对)、OAUTH

SNOWFLAKE_PRIVATE_KEY

密钥对

PEM 私钥内容

SNOWFLAKE_PRIVATE_KEY_PATH

密钥对

PEM 私钥文件的路径(上述内容的替代方案)

SNOWFLAKE_PRIVATE_KEY_PASSPHRASE

密码短语(如果密钥已加密)

SNOWFLAKE_TOKEN

OAuth

OAuth 访问令牌(配合 SNOWFLAKE_AUTHENTICATOR=OAUTH

SNOWFLAKE_READ_ONLY

true

阻止 execute_query 中的写入/DDL。设置为 false 以允许它们

SNOWFLAKE_ROW_LIMIT

1000

返回行数的硬上限

QUERY_TIMEOUT_MS

60000

客户端查询超时

账户标识符提示

如果客户端连接有问题,请在账户标识符中使用连字符而不是下划线(例如 orgname-account-name)。

Claude Desktop 配置

添加到 claude_desktop_config.json

{
  "mcpServers": {
    "snowflake": {
      "command": "npx",
      "args": ["-y", "snowflake-analytics-mcp-server"],
      "env": {
        "SNOWFLAKE_ACCOUNT": "xy12345.eu-central-1",
        "SNOWFLAKE_USERNAME": "ANALYTICS_USER",
        "SNOWFLAKE_PASSWORD": "••••••••",
        "SNOWFLAKE_WAREHOUSE": "COMPUTE_WH",
        "SNOWFLAKE_DATABASE": "ANALYTICS_DB",
        "SNOWFLAKE_SCHEMA": "PUBLIC",
        "SNOWFLAKE_ROLE": "ANALYST"
      }
    }
  }
}

密钥对认证示例

"env": {
  "SNOWFLAKE_ACCOUNT": "xy12345.eu-central-1",
  "SNOWFLAKE_USERNAME": "ANALYTICS_USER",
  "SNOWFLAKE_AUTHENTICATOR": "SNOWFLAKE_JWT",
  "SNOWFLAKE_PRIVATE_KEY_PATH": "/path/to/rsa_key.p8",
  "SNOWFLAKE_PRIVATE_KEY_PASSPHRASE": "••••••••",
  "SNOWFLAKE_DATABASE": "ANALYTICS_DB",
  "SNOWFLAKE_SCHEMA": "PUBLIC"
}

工具

工具

参数

描述

list_tables

database?, schema?, include_views?

平台契约。 以双重包装的信封返回 { table_name }[],供 fetchMcpTables 使用

test_connection

返回版本、账户、用户、角色、仓库、数据库、模式

list_databases

当前角色可见的数据库

list_schemas

database?

数据库中的模式

list_warehouses

仓库及其大小/状态

describe_table

table, database?, schema?

列、类型、可空性、默认值

get_table_sample

table, database?, schema?, limit?

预览表中的行

execute_query

query

运行 SQL。除非 SNOWFLAKE_READ_ONLY=false,否则为只读

平台集成说明

list_tables 与 Shopify/Clio 服务器使用的已确认信封匹配:

{
  "is_success": true,
  "status_code": 200,
  "data": "[{\"table_name\":\"ORDERS\"},{\"table_name\":\"CUSTOMERS\"}]", // double-stringified
  "message": "Found 2 table(s).",
  "requestedPayload": { "database": "ANALYTICS_DB", "schema": "PUBLIC", "include_views": true }
}

由于 Snowflake 暴露的是任意用户表(与 Clio 的固定资源类别不同,后者每个类别都有一个 list_<resource> 工具),因此没有针对每个表的工具。当用户在平台中选择一张表时,后端应通过 get_table_sample(预览)或 execute_querySELECT * FROM <table>)获取其行,而不是调用以表命名的工具。在连接行获取步骤之前,请与后端确认此映射。

许可证

MIT

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Analytics-model-LTD/snowflake-analytics-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server