Snowflake架构数据查询服务

一个提供MCP服务器功能的Python项目,使LLM模型能够查询Snowflake架构数据表,用于应用结构分析、依赖关系和关系查询。

  • by NitinTalluri
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 NitinTalluri/mcp_server

使用说明

带Claude的LLM-雪花架构MCP服务器

一个Python项目,它提供了一个MCP(模型上下文协议)服务器来访问Snowflake架构数据表。此服务器使LLM模型能够查询实时架构数据,作为应用程序结构分析、依赖关系和关系的真实来源。

特性

  • 用于Snowflake架构数据访问的MCP服务器
  • 通过LLM工具直接查询架构表
  • 模式检查和数据搜索功能
  • 通过Continue IDE扩展与Claude模型集成
  • 支持多种环境(开发、阶段、产品)

架构表可用

服务器提供对这些关键架构表的访问:

核心实体表

  • BASE_NAMES -源表命名信息
  • VIEW_NAMES -查看表命名信息
  • BASE_TABLE -带列的源表定义
  • VIEW_TABLE -查看带列的表定义

血统和依赖关系

  • VIEW_TO_SOURCE_COLUMN_LINEAGE -原始列沿袭数据
  • VIEW_TO_SOURCE_COLUMN_LINEAGE_V -增强的列沿袭视图

应用集成

  • ACTION_TO_ENDPOINTS_TABLES_MAPPING -原始端点到表的映射
  • ACTION_TO_ENDPOINTS_TABLES_MAPPING_V -增强的端点映射

商业智能

  • THOUGHTSPOT_TABLE -ThoughtSpot表使用数据
  • THOUGHTSPOT_TABLE_V -增强的ThoughtSpot集成视图

存储过程

  • SP_TABLE_COLUMN_MAPPING -存储过程元数据
  • SP_TABLE_COLUMN_MAPPING_V -增强的SP映射
  • SP_REFERENCE_TO_FLOWS -流量参考数据
  • SP_MAPPING_WITH_ENDPOINTS_AND_FLOWS_V -全面的SP映射

安装指南

先决条件

  • Python 3.10或更高版本
  • 进入雪花环境
  • 继续IDE扩展(用于LLM集成)

安装

  1. 克隆存储库

    git clone <repository-url>
    
  2. 创建虚拟环境

    python -m venv .venv
    
  3. 激活虚拟环境

    窗户:

    .venv\Scripts\activate
    

    Linux/Mac:

    source .venv/bin/activate
    
  4. 安装依赖项

    pip install -r requirements_mcp.txt
    

    或使用紫外线(如果可用):

    uv sync
    

配置

  1. 雪花连接设置

    • 确保您可以访问Snowflake环境
    • 服务器通过以下方式使用现有的连接策略 common.sec 模块
    • 默认环境设置为“prod”,但可以在中进行修改 mcp_snowflake_server.py
  2. 继续IDE配置

    • 该项目包括 config_snowflake.yaml 对于Continue IDE,请用您的 config.yaml
    • 更新 cwd 配置中的路径以匹配您的项目位置

运行MCP服务器

  1. 直接执行

    python mcp_snowflake_server.py
    
  2. 通过继续IDE

    • 当Continue IDE加载配置时,服务器将自动启动
    • 检查中的MCP服务器配置 config_snowflake.yaml

用法

可用的MCP工具

  1. query_architecture_table

    • 查询具有可选过滤和限制的特定表
    • 参数:table_name(必填)、limit(可选)、where_clause(可选)
  2. get_table_schema

    • 获取表的列信息和架构详细信息
    • 参数:table_name(必填)
  3. 搜索架构数据

    • 在表中搜索特定模式或关系
    • 参数:search_term(必填),表(可选)

故障排除

常见问题

  1. 连接错误

    • 验证Snowflake凭据和访问权限
    • 检查网络连接
    • 确保 common.sec 模块配置正确
  2. MCP服务器未启动

    • 验证中的Python路径 config_snowflake.yaml 在config.yaml中回复此内容
    • 检查虚拟环境激活
    • 查看服务器日志中的特定错误
  3. 缺少的依赖

    • 跑 pip install -r requirements_mcp.txt
    • 确保安装了所有必需的软件包