Snowflake MCP 服务器使用说明
项目简介
Snowflake MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的后端应用,它允许大型语言模型 (LLM) 客户端通过标准化的 MCP 协议与 Snowflake 云数据仓库进行交互。该服务器提供了一系列工具,使 LLM 能够查询 Snowflake 数据库、检索数据表结构信息,并将数据分析的洞察记录到动态更新的备忘录资源中,从而增强 LLM 在数据分析和应用构建方面的能力。
主要功能点
- 资源管理:
- 提供动态更新的 'memo://insights' 资源,用于存储和共享数据分析洞察。
- 工具注册与执行:
- 查询工具:
- 'read_query': 执行 SELECT 查询从 Snowflake 数据库读取数据。
- 'write_query': 执行 INSERT, UPDATE, DELETE 查询修改数据库数据(需要 '--allow-write' 标志)。
- 'create_table': 在 Snowflake 数据库中创建新表(需要 '--allow-write' 标志)。
- Schema 工具:
- 'list_tables': 获取 Snowflake 数据库中所有表的列表。
- 'describe_table': 查看指定表的列信息和数据类型。
- 分析工具:
- 'append_insight': 将新的数据洞察添加到 'memo://insights' 资源中。
- 查询工具:
- Prompt 模板:
- 目前未提供 Prompt 模板功能。
- 会话管理和能力声明:
- 基于 MCP 协议与客户端通信,处理请求和响应。
- 传输协议:
- 支持 Stdio 传输协议。
安装步骤
- 使用 Smithery CLI 安装 (推荐):
打开终端并执行以下命令,即可自动安装 Snowflake MCP 服务器:
这种方式无需克隆仓库和手动配置,安装过程更便捷。npx -y @smithery/cli install mcp_snowflake_server --client claude
服务器配置
对于 MCP 客户端(例如 Claude Desktop),您需要在其配置文件中添加 Snowflake MCP 服务器的配置信息。以下是一个 'claude_desktop_config.json' 示例,展示了如何配置 Snowflake 服务器:
{ "mcpServers": { "snowflake": { // 服务器名称,可以自定义 "command": "uvx", // 启动命令,uvx 通常用于运行 npm 包 "args": [ "mcp_snowflake_server" // 实际执行的命令,对应安装的 npm 包名 // "--allow-write" // (可选) 允许写入操作,**生产环境不推荐开启** ], "env": { // 环境变量配置,用于 Snowflake 数据库连接 "SNOWFLAKE_WAREHOUSE": "your_snowflake_warehouse", // 您的 Snowflake 仓库名称 "SNOWFLAKE_DATABASE": "your_snowflake_database", // 您的 Snowflake 数据库名称 "SNOWFLAKE_ACCOUNT": "your_snowflake_account_identifier", // 您的 Snowflake 账户标识符 "SNOWFLAKE_USER": "your_snowflake_username", // 您的 Snowflake 用户名 "SNOWFLAKE_ROLE": "your_snowflake_role", // 您的 Snowflake 角色名 "SNOWFLAKE_SCHEMA": "your_snowflake_schema", // 您的 Snowflake Schema 名称 "SNOWFLAKE_PASSWORD": "your_snowflake_password" // 您的 Snowflake 密码 } } } }
请务必将 'env' 中的占位符替换为您实际的 Snowflake 数据库连接信息。
基本使用方法
配置完成后,MCP 客户端 (如 Claude Desktop) 即可连接到 Snowflake MCP 服务器。您可以使用客户端提供的界面或指令,通过以下方式与 Snowflake 数据库交互:
- 列出数据库表: 使用 'list_tables' 工具获取数据库中所有表的名称列表。
- 查看表结构: 使用 'describe_table' 工具,并指定表名,获取表的列信息。
- 执行 SQL 查询:
- 使用 'read_query' 工具,输入 SELECT 查询语句,从数据库中读取数据。
- 如果服务器配置允许写入操作 (启动参数包含 '--allow-write'),可以使用 'write_query' 工具执行 INSERT, UPDATE, DELETE 等修改数据的 SQL 语句。
- 同样在允许写入的情况下,可以使用 'create_table' 工具创建新的数据表。
- 访问数据洞察备忘录: 读取 'memo://insights' 资源,获取当前的数据分析洞察记录。
- 添加数据洞察: 使用 'append_insight' 工具,添加新的数据分析发现到 'memo://insights' 资源中。
通过这些工具和资源,LLM 客户端可以利用 Snowflake MCP 服务器便捷地访问和分析 Snowflake 中的数据,从而实现更强大的数据驱动应用。
信息
分类
数据库与文件