Token导航 LogoToken导航TokenDH.com
Support Rules MCP logo
搜索检索stdio官方级别未说明来源级核验

Support Rules MCP

MCP Server

一个基于Snowflake的MCP服务器,提供全面的规则用于故障排除、构建存储过程和创建复现,支持语义搜索和自然语言查询。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
PythonCursor搜索Cursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

sfc-gh-cconner

提供方

sfc-gh-cconner

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python upload_rules.py

详细介绍

Snowflake规则引擎 - MCP服务器

![License](LICENSE) ![Snowflake](https://www.snowflake.com)

A. 由Snowflake托管的MCP服务器 该工具提供了全面的规则,用于解决Snowflake问题、构建存储过程以及创建复现案例。它利用Cortex Search进行语义搜索,并使用Cortex Analyst进行自然语言查询。

这是一个专为支持工程工作流设计的Snowflake内部项目。它需要访问Snowflake的内部系统和数据。

🎯 目的

这个规则引擎作为 单一真实来源 针对多个项目中的Snowflake故障排除知识。它提供:

  • DPO → 表映射如何将Snowflake对象映射到Snowhouse表
  • 源代码访问GitHub上的MCP模式用于探索Snowflake存储库
  • 文档访问Snowflake Docs MCP模式的官方指南
  • 代码质量示例和最佳实践的Context7 MCP模式
  • 调查工作流程系统化的故障排除程序
  • SQL 模式高效的Snowhouse查询技术

🏗️ 建筑学

Snowflake组件

┌─────────────────────────────────────────────────────┐
│                    Cursor AI                        │
│                                                     │
│  ┌───────────────────────────────────────────────┐ │
│  │         MCP Client (snow mcp connect)         │ │
│  └───────────────┬───────────────────────────────┘ │
└──────────────────┼─────────────────────────────────┘
                   │
                   ▼
┌─────────────────────────────────────────────────────┐
│         Snowflake MCP Server                        │
│         (temp.support_sp_dev.support_rules_mcp)     │
│                                                     │
│  ┌─────────────────────┐  ┌─────────────────────┐  │
│  │  get-snowflake-rule │  │ list-snowflake-rules│  │
│  │  (Cortex Search)    │  │  (Cortex Analyst)   │  │
│  └──────────┬──────────┘  └──────────┬──────────┘  │
└─────────────┼────────────────────────┼─────────────┘
              │                        │
              ▼                        ▼
   ┌─────────────────────┐  ┌─────────────────────┐
   │   rules_search      │  │   rules_metadata    │
   │ (Cortex Search)     │  │  (Semantic View)    │
   └──────────┬──────────┘  └──────────┬──────────┘
              │                        │
              └────────────┬───────────┘
                           ▼
                  ┌─────────────────┐
                  │   rules table   │
                  │  (42 rules)     │
                  └─────────────────┘

规则层级

rules/
├── _meta/                     # Meta-rules (composite workflows)
│   ├── troubleshooting.mdc   # Complete troubleshooting workflow
│   ├── stored-procedures.mdc # Complete SP generation workflow
│   └── reproductions.mdc     # Complete reproduction workflow
│
├── core/                      # Core knowledge (reusable)
│   ├── 01-github-mcp.mdc     # Source code access patterns
│   ├── 02-docs-mcp.mdc       # Documentation access patterns
│   ├── 03-code-quality-mcp.mdc # Code examples and best practices
│   ├── 04-dpo-mappings.mdc   # DPO→table mappings (critical!)
│   └── 05-snowhouse-querying.mdc # Query patterns
│
├── workflows/                 # Workflow-specific guidance
│   ├── troubleshooting.mdc   # Investigation workflows
│   ├── stored-procedures.mdc # SP generation patterns
│   └── reproductions.mdc     # Reproduction building
│
├── connectors/                # Connector-specific rules (11 files)
│   ├── python.mdc
│   ├── jdbc.mdc
│   └── ...
│
└── spcs/                      # SPCS-specific rules (10 files)
    ├── architecture.mdc
    └── ...

🚀 快速入门

1. 配置光标MCP

添加到您的Cursor MCP配置中(~/.cursor/mcp.json 或光标设置 → MCP):

{
  "mcpServers": {
    "snowflake-rules": {
      "command": "snow",
      "args": [
        "mcp",
        "connect",
        "--connection",
        "snowhouse",
        "--mcp-server",
        "temp.support_sp_dev.support_rules_mcp"
      ],
      "env": {}
    }
  }
}

2. 重启光标(或:重新启动光标工具)

重启光标以加载MCP服务器。

3. 遵守规则

在 Cursor 聊天中,提出有关 Snowflake 故障排除的问题:

"How do I troubleshoot Python connector authentication issues?"
"Show me the DPO mappings for image repositories"
"What are the best practices for writing stored procedures?"

Cursor AI 将自动调用 MCP 工具来检索相关规则。

📊 已部署内容

创建的对象

  • 数据库temp
  • 模式/架构support_sp_dev
  • 桌子rules (42条规则:14条核心规则,11条连接规则,10条特殊规则,7条工作流规则)
  • Cortex Search 翻译为中文是“皮层搜索”或“大脑皮层搜索”(具体翻译可能根据上下文有所调整,但“皮层搜索”是较为直接的译法)。不过,需要注意的是,“Cortex”一词在计算机科学或人工智能领域中,有时也可能被用作特定技术或系统的名称,因此其翻译可能需要结合具体语境来确定。但在此处,若仅从字面意义翻译,“皮层搜索”是一个合理的选项rules_search (对所有规则进行语义搜索)
  • 语义视图rules_metadata (可查询的元数据)
  • MCP 服务器: support_rules_mcp (2个工具)

可用的MCP工具

  1. get-snowflake-rule - 搜索并检索规则内容

- 类型: CORTEX_SEARCH_SERVICE_QUERY - 查询示例: "troubleshooting""dpo mappings""python connector" - 按以下条件筛选 rule_typemetacoreconnectorspcsworkflow

  1. list-snowflake-rules - 列出并发现可用规则

- 类型: CORTEX_ANALYST_MESSAGE - 自然语言查询: "list all rules""show me connector rules""how many core rules?"

访问

  • 具有访问权限的角色: ENGINEERENGINEER_BASIC
  • 所有者: SUPPORT_ENGINEER

🔧 安装与部署

初始设置(运行一次)

# 1. Create rules table
snow sql -c snowhouse -f sql/01_create_table.sql

# 2. Upload rules from local files
python upload_rules.py

# 3. Create Cortex Search service
snow sql -c snowhouse -f sql/02_create_single_service.sql

# 4. Force immediate indexing (or wait ~1 hour)
snow sql -c snowhouse -f sql/04_force_refresh.sql

# 5. Create semantic view for Cortex Analyst
snow sql -c snowhouse -f sql/05_create_semantic_view.sql

# 6. Create MCP server
snow sql -c snowhouse -f sql/06_create_mcp_server.sql

# 7. Test the setup
snow sql -c snowhouse -f sql/test_queries.sql

更新工作流

当规则需要更新时:

# 1. Edit rules locally in rules/ directory
vim rules/core/04-dpo-mappings.mdc

# 2. Upload changes to Snowflake
python upload_rules.py

# 3. Force immediate refresh
snow sql -c snowhouse -f sql/04_force_refresh.sql

🎯 使用场景

1. 故障排除项目

目标调查客户SPCS镜像仓库创建失败的原因。

在光标处:

"Load troubleshooting rules for SPCS image repository issues"

工作流程

  1. 查看文档: mcp_snowflake-docs_CKESnowflakeDocs("SPCS image repository")
  2. 查询Snowhouse:已确认 stage_etl_v 和;与 stage_type = 'IMAGE_REPOSITORY' (不是专用的桌子!)
  3. 搜索来源: mcp_github_search_code("imageRepositoryDPO repo:snowflakedb/snowflake")
  4. 分析日志:获取时间戳 job_etl_v,查询 gs_logs_v 有界限/限制

2. 存储过程项目

目标创建一个过程,用于检索特定工单的失败查询。

在光标处

"Help me write a stored procedure to query failed jobs in Snowhouse"

工作流

  1. 地图需求:查询失败 → job_etl_v
  2. 获取示例: mcp_context7_get-library-docs("/snowflakedb/snowpark-python", "stored procedures")
  3. 构建查询:从...开始 job_etl_v按 account_id 和 error_code 过滤
  4. 编写程序的步骤:使用类型提示、错误处理、日志记录
  5. 测试并记录

3. 繁殖项目

目标重现Python连接器的认证问题。

在光标处:

"Show me how to create a minimal reproduction for a Python connector auth bug"

工作流程

  1. 检查文档: mcp_snowflake-docs_CKESnowflakeDocs("authentication methods")
  2. 查找来源: mcp_github_search_code("auth repo:snowflakedb/snowflake-connector-python")
  3. 获取示例: mcp_context7_get-library-docs("/snowflakedb/snowflake-connector-python", "authentication")
  4. 构建最小可复现示例:自包含、可运行的代码
  5. 验证并记录

🔍 维护

查看最近更新

SELECT rule_name, rule_type, version, updated_at
FROM temp.support_sp_dev.rules
ORDER BY updated_at DESC
LIMIT 10;

通过关键词查找规则

SELECT rule_name, rule_type, rule_description
FROM temp.support_sp_dev.rules
WHERE rule_content ILIKE '%keyword%';

检查规则统计

SELECT 
    rule_type,
    COUNT(*) AS count,
    AVG(LENGTH(rule_content)) AS avg_size
FROM temp.support_sp_dev.rules
GROUP BY rule_type;

刷新搜索索引

ALTER CORTEX SEARCH SERVICE temp.support_sp_dev.rules_search REFRESH;

🚨 关键知识

最大的错误:依赖舞台支持的对象

并非所有对象都有专用的表格!

这些对象使用 stage_etl_v

  • ❌ 错误: image_repository_etl_v (不存在!)
  • ✅ 正确: stage_etl_v (与……一起)带着;用;凭借 stage_type = 'IMAGE_REPOSITORY'

舞台支持的对象:

  • 镜像仓库 → stage_etl_v (介词)和……一起;带着;用 stage_type = 'IMAGE_REPOSITORY'
  • Git 仓库 → stage_etl_v 和;与 stage_type = 'GIT_REPOSITORY'
  • 命名阶段 → stage_etl_v 和;与;带着 stage_type = 'INTERNAL'
  • 外部舞台 → stage_etl_v 与;带有;使用 stage_type IN ('S3', 'AZURE', 'GCS')

💡 核心原则

适用于所有项目:

  1. 永远 使用GitHub MCP进行源代码管理(永远不要使用本地路径)
  2. 永远 使用 Snowflake Docs MCP 作为官方文档
  3. 永远 按以下条件筛选Snowhouse查询 account_id
  4. 永远 以……开始;从……着手 job_etl_v 用于时间戳
  5. 永远 检查对象是否为舞台支持对象

对于代码项目(SP & Repro):

  1. 永远 使用Context7 MCP作为代码示例
  2. 永远 包含类型提示和错误处理
  3. 永远 验证输入并添加日志记录

🎯 优势/好处

对比本地Python MCP服务器

  • ✅ 无需设置Python环境
  • ✅ 适用于所有具有ENGINEER角色的用户
  • ✅ 集中化规则管理
  • ✅ 自动扩展和可用性
  • ✅ 数据库中的版本追踪
  • ✅ 内置语义搜索功能

🛠️ 故障排除

未找到MCP服务器

# List available MCP servers
snow sql -c snowhouse -Q "SHOW MCP SERVERS IN SCHEMA temp.support_sp_dev;"

搜索未找到规则

# Force immediate refresh
snow sql -c snowhouse -f sql/04_force_refresh.sql

权限被拒绝

# Check grants
snow sql -c snowhouse -Q "SHOW GRANTS ON MCP SERVER temp.support_sp_dev.support_rules_mcp;"

上传失败

# Check connection
snow connection test --connection snowhouse

# Verify table exists
snow sql -c snowhouse -Q "SELECT COUNT(*) FROM temp.support_sp_dev.rules;"

🔀 替代实现方案

主要方法采用的是 单一统一的Cortex搜索服务 对于所有规则,这是推荐用于大多数使用场景的。

替代性的多服务方法 有……可供选择/有……版本 sql/alternatives/ 这为每种规则类型(元规则、核心规则、连接器规则、SPCS规则、工作流规则)创建了独立的Cortex Search服务。这样提供了更精细的控制,但同时也增加了复杂性。

何时考虑替代方案:

  • 每种规则类型需要不同的刷新计划
  • 只想授予对特定规则类别的访问权限
  • 要求严格区分规则类型

sql/alternatives/README.md 以了解详细信息和权衡取舍。

📁 项目结构

.
├── sql/                          # Setup SQL scripts
│   ├── 01_create_table.sql       # Create rules table
│   ├── 02_create_single_service.sql # Create Cortex Search
│   ├── 04_force_refresh.sql      # Force indexing
│   ├── 05_create_semantic_view.sql # Create semantic view
│   ├── 06_create_mcp_server.sql  # Create MCP server
│   ├── test_queries.sql          # Validation queries
│   └── alternatives/             # Alternative implementations
│       └── README.md             # Multi-service approach
│
├── rules/                        # Rule content (42 .mdc files)
│   ├── _meta/                    # Meta-rules
│   ├── core/                     # Core knowledge
│   ├── workflows/                # Workflow guidance
│   ├── connectors/               # Connector-specific
│   └── spcs/                     # SPCS-specific
│
├── upload_rules.py               # Upload script
├── rules_semantic_model.yaml     # Cortex Analyst model
├── cursor-mcp-config.json        # Cursor MCP configuration
├── README.md                     # This file
├── QUICK_START.md                # Fast setup guide
│
└── archive/                      # Archived implementations
    └── python-mcp-server/        # Original Python MCP server

⚡ 快速参考

最常见的规则

规则目的
_meta/troubleshooting.mdc完整的故障排除设置
_meta/stored-procedures.mdc完整的SP(软件平台/服务提供商等,具体含义需根据上下文确定)开发环境设置
core/04-dpo-mappings.mdc对象→表 映射
core/05-snowhouse-querying.mdc查询模式

最常见的映射

对象表格过滤器
图片库stage_etl_vstage_type = 'IMAGE_REPOSITORY'
Git 仓库stage_etl_vstage_type = 'GIT_REPOSITORY'
查询job_etl_vstart_time 范围
仓库warehouse_etl_vwarehouse_name

MCP服务器快速参考指南

# From Cursor - these tools are called automatically
mcp_snowflake-rules_get-snowflake-rule(query="troubleshooting", filter={...})
mcp_snowflake-rules_list-snowflake-rules(message="list all core rules")

📞 支持

  • 问题在你内部的错误跟踪系统中提交文件
  • 更新规则由中央统一更新,并自动提供使用
  • 问题先检查现有规则,再寻求帮助
  • 替代方案Python MCP服务器现已可用 archive/python-mcp-server/

______________________________________________________________________

状态✅ 准备就绪,可投入生产\ 最后更新时间2025年10月10日\ 规则计数42(14个核心,11个连接器,10个特殊组件,7个工作流程)\ 由……维护Snowflake支持工程团队

______________________________________________________________________

*维护Snowflake的故障排除知识库,以确保所有项目都能进行一致、高效的调查。*

目录标签

目录标签

PythonCursor搜索规则引擎本地部署故障排除存储过程语义搜索自然语言查询

支持客户端

Cursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP