使用说明
项目简介
本项目 'mcp-snowflake-service' 是一个基于 Model Context Protocol (MCP) 构建的服务器,它充当 LLM 客户端(如 Claude)和 Snowflake 数据库之间的桥梁。通过此服务器,LLM 能够安全地执行 SQL 查询,从而利用 Snowflake 数据库中的数据作为上下文信息或执行数据操作。
主要功能点
- Snowflake 数据库访问: 允许 LLM 通过服务器安全地连接和访问 Snowflake 数据库。
- SQL 查询执行: 支持 LLM 执行 SQL 查询语句,获取 Snowflake 数据库中的数据。
- 自动连接管理: 服务器自动处理 Snowflake 数据库连接的建立、维护和关闭,无需手动管理数据库连接。
- 安全的数据操作: 支持安全地执行数据库读写操作,并处理查询结果和错误。
安装步骤
- 克隆仓库
git clone https://github.com/datawiz168/mcp-snowflake-service.git cd mcp-snowflake-service - 安装依赖
确保你的Python环境中安装了 'pip',然后运行以下命令安装项目依赖:
pip install -r requirements.txt
服务器配置 (MCP 客户端配置)
要让 MCP 客户端(例如 Claude)连接到此 Snowflake MCP 服务器,你需要在 MCP 客户端的配置文件中添加服务器配置信息。以 'claude_desktop_config.json' 为例,你需要添加类似以下的配置:
{ "mcpServers": { "snowflake": { "command": "/path/to/your/python", // Python 解释器的完整路径,例如:C:\\Users\\YourUsername\\anaconda3\\python.exe (Windows) 或 /usr/bin/python3 (MacOS/Linux) "args": ["/path/to/mcp-snowflake-service/server.py"] // 服务器脚本 server.py 的完整路径,请根据实际克隆仓库的位置修改 } } }
配置参数说明:
- 'command': 必填。指向你的 Python 解释器的完整路径。MCP 服务器需要使用 Python 环境来运行。请根据你的 Python 安装路径进行配置。
- 'args': 必填。一个字符串数组,包含了运行 'server.py' 脚本所需的参数。这里只需要指定 'server.py' 脚本的完整路径即可。请根据你克隆 'mcp-snowflake-service' 仓库的实际位置进行配置。
Snowflake 数据库连接配置:
在项目根目录下,你需要创建 '.env' 文件,并配置 Snowflake 数据库的连接信息。请替换以下示例中的占位符为你自己的 Snowflake 数据库凭据:
SNOWFLAKE_USER=your_snowflake_username # 你的 Snowflake 用户名 SNOWFLAKE_PASSWORD=your_snowflake_password # 你的 Snowflake 密码 SNOWFLAKE_ACCOUNT=your_snowflake_account # 你的 Snowflake 账号,例如:NRB18479.US-WEST-2 SNOWFLAKE_DATABASE=your_snowflake_database # 你要访问的 Snowflake 数据库名 SNOWFLAKE_WAREHOUSE=your_snowflake_warehouse # 你要使用的 Snowflake 数据仓库名
请务必妥善保管 '.env' 文件,避免泄露数据库敏感信息。
基本使用方法
- 配置 MCP 客户端: 按照上述 "服务器配置 (MCP 客户端配置)" 步骤,在你的 MCP 客户端(如 Claude)的配置文件中添加 Snowflake MCP 服务器的配置。
- 启动 MCP 客户端: 启动你的 MCP 客户端(如 Claude)。MCP 客户端会自动根据配置启动 Snowflake MCP 服务器。
- 在 LLM 中使用: 在 LLM 客户端中,你可以指示 LLM 使用 'execute_query' 工具来查询 Snowflake 数据库。例如,你可以对 Claude 说 "请查询 Snowflake 数据库中销售额最高的 10 个产品是什么"。服务器会将 SQL 查询请求转发到 Snowflake 数据库,并将查询结果返回给 LLM。
注意: 正常使用时,Snowflake MCP 服务器会随 MCP 客户端自动启动和停止,无需手动运行 'server.py'。手动运行 'server.py' 仅用于开发测试目的。
信息
分类
数据库与文件