使用说明
项目简介
Snowflake MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,旨在使 AI 助手(如 Claude)能够通过自然语言与 Snowflake 数据库进行交互。它充当一个桥梁,使得 AI 助手可以通过标准化的 MCP 协议,安全、便捷地访问和操作 Snowflake 中的数据。
主要功能点
- 自然语言查询 Snowflake: 允许用户使用自然语言提问,服务器将其转换为 SQL 查询并在 Snowflake 数据库上执行。
- SQL 查询执行: 支持直接执行 SQL 查询,以获取 Snowflake 数据库中的数据。
- 数据库信息检索: 提供工具列出数据库中的表,并获取指定表的结构信息(Schema)。
- 连接管理: 自动处理与 Snowflake 数据库的连接,包括建立、重连和关闭连接。
- 结果格式化: 将数据库查询结果格式化为易于阅读的文本,方便 AI 助手理解和呈现。
安装步骤
-
克隆仓库
git clone https://github.com/peterdonaghey/snowflake-mcp.git cd snowflake-mcp -
安装依赖 确保你的 Python 环境满足要求 (Python 3.8+),然后安装项目依赖:
pip install -r requirements.txt -
配置 Snowflake 数据库连接信息 复制 '.env.sample' 文件并重命名为 '.env',然后编辑 '.env' 文件,填入你的 Snowflake 数据库连接凭据:
SNOWFLAKE_USER=你的Snowflake用户名 SNOWFLAKE_PASSWORD=你的Snowflake密码 SNOWFLAKE_ACCOUNT=你的Snowflake账户名 # 例如:xy12345.us-east-2 SNOWFLAKE_DATABASE=你的Snowflake数据库名 SNOWFLAKE_WAREHOUSE=你的Snowflake仓库名 SNOWFLAKE_SCHEMA=你的Snowflake Schema名 # 可选,默认为 PUBLIC SNOWFLAKE_ROLE=你的Snowflake角色名 # 可选,默认为用户的默认角色
服务器配置
对于 MCP 客户端(例如 Claude Desktop),你需要配置 MCP 服务器的启动命令。以下是针对 Claude Desktop 的配置示例,你需要将此配置添加到 'claude_desktop_config.json' 文件中:
{ "mcpServers": { "snowflake": { "command": "/path/to/python", "args": ["/path/to/snowflake-mcp/src/server.py"] } } }
配置参数说明:
- '"snowflake"': 服务器名称,可以自定义,用于在 Claude Desktop 中标识该服务器。
- '"command"': Python 解释器的完整路径。你需要将其替换为你系统中 Python 解释器的实际路径,例如 '/usr/bin/python3' 或 'C:\Python39\python.exe'。
- '"args"': 启动 'snowflake-mcp' 服务器的参数,这里指定了服务器脚本 'src/server.py' 的完整路径。你需要将其替换为你克隆的 'snowflake-mcp' 仓库中 'src/server.py' 文件的实际路径。
注意: MCP 客户端通常会自动发现本地运行的 MCP 服务器,但如果需要手动配置,则需要提供上述启动命令和参数。
基本使用方法
-
启动服务器 在仓库根目录下,你可以使用以下命令启动 Snowflake MCP Server:
python src/server.py或者,如果安装了 'mcp' Python SDK,可以使用 'mcp run src/server.py' 命令。
-
连接 MCP 客户端 配置好 MCP 客户端(如 Claude Desktop 或 Cursor IDE)后,客户端应该能够自动或手动连接到正在运行的 Snowflake MCP Server。
-
使用 AI 助手查询 Snowflake 在连接成功后,你可以通过 AI 助手的界面,使用自然语言提出关于 Snowflake 数据库的问题,例如 "List all tables in the database" 或 "Show me the schema of table customers"。服务器会将请求转发给 Snowflake 数据库,并将结果返回给 AI 助手。你也可以直接使用 SQL 查询。
信息
分类
数据库与文件