使用说明

项目简介

本项目 'mcp-snowflake-service' 是一个基于 Model Context Protocol (MCP) 构建的服务器,它充当 LLM 客户端(如 Claude)和 Snowflake 数据库之间的桥梁。通过此服务器,LLM 能够安全地执行 SQL 查询,从而利用 Snowflake 数据库中的数据作为上下文信息或执行数据操作。

主要功能点

  • Snowflake 数据库访问: 允许 LLM 通过服务器安全地连接和访问 Snowflake 数据库。
  • SQL 查询执行: 支持 LLM 执行 SQL 查询语句,获取 Snowflake 数据库中的数据。
  • 自动连接管理: 服务器自动处理 Snowflake 数据库连接的建立、维护和关闭,无需手动管理数据库连接。
  • 安全的数据操作: 支持安全地执行数据库读写操作,并处理查询结果和错误。

安装步骤

  1. 克隆仓库
    git clone https://github.com/datawiz168/mcp-snowflake-service.git
    cd mcp-snowflake-service
  2. 安装依赖 确保你的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' 文件,避免泄露数据库敏感信息。

基本使用方法

  1. 配置 MCP 客户端: 按照上述 "服务器配置 (MCP 客户端配置)" 步骤,在你的 MCP 客户端(如 Claude)的配置文件中添加 Snowflake MCP 服务器的配置。
  2. 启动 MCP 客户端: 启动你的 MCP 客户端(如 Claude)。MCP 客户端会自动根据配置启动 Snowflake MCP 服务器。
  3. 在 LLM 中使用: 在 LLM 客户端中,你可以指示 LLM 使用 'execute_query' 工具来查询 Snowflake 数据库。例如,你可以对 Claude 说 "请查询 Snowflake 数据库中销售额最高的 10 个产品是什么"。服务器会将 SQL 查询请求转发到 Snowflake 数据库,并将查询结果返回给 LLM。

注意: 正常使用时,Snowflake MCP 服务器会随 MCP 客户端自动启动和停止,无需手动运行 'server.py'。手动运行 'server.py' 仅用于开发测试目的。

信息

分类

数据库与文件