Token导航 LogoToken导航TokenDH.com
Snowflake MCP (D Jagaty1986) logo
搜索检索stdio官方级别未说明来源级核验

Snowflake MCP (D Jagaty1986)

MCP Server

一个基于Snowflake MCP的多代理应用,为销售团队提供从结构化Snowflake数据和非结构化公司PDF文档中获取即时见解的自然语言界面。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
数据分析Python文档处理自然语言处理

安装说明

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

作者 / 组织

DJagaty1986

提供方

DJagaty1986

最后核验

2026/5/17 20:22

运行时

Python

快速接入

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

命令预览

python -m venv venv

详细介绍

销售支持聊天机器人

一个基于多代理Snowflake MCP的应用程序,供销售团队从结构化Snowflake数据和非结构化公司PDF文档中获得即时见解。

概述

此应用程序为销售专业人员提供了一个自然语言界面来查询:

  • 结构化数据:存储在Snowflake表中的收入、预订、机会、客户信息和财务指标
  • 非结构化数据:以PDF文档形式存储的售前提案、SOW、估算、服务选项和GTM材料

建筑

┌─────────────────────────────────────────────────────────────────────────────┐
│                           Streamlit Frontend                                 │
│                    (Hosted in Snowflake - SiS)                              │
└─────────────────────────────────────────────────────────────────────────────┘
                                     │
                                     ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                        Agent 1: Orchestrator                                 │
│  • Understands user intent                                                   │
│  • Applies input guardrails                                                  │
│  • Routes to appropriate agent                                               │
│  • Formats final response                                                    │
│  • Applies output guardrails                                                 │
└─────────────────────────────────────────────────────────────────────────────┘
                          │                       │
                          ▼                       ▼
┌──────────────────────────────────┐  ┌──────────────────────────────────────┐
│     Agent 2: SQL Data Agent      │  │     Agent 3: Document Agent          │
│  • Cortex Analyst integration    │  │  • Cortex Search integration         │
│  • Natural language to SQL       │  │  • Semantic document search          │
│  • Revenue/Customer analytics    │  │  • Service offerings lookup          │
│  • Pipeline & opportunity data   │  │  • Proposal/SOW search               │
└──────────────────────────────────┘  └──────────────────────────────────────┘
                          │                       │
                          ▼                       ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                      Snowflake MCP Server (OAuth)                           │
│  ┌───────────────────┐ ┌───────────────────┐ ┌───────────────────┐         │
│  │ CORTEX_ANALYST    │ │ CORTEX_SEARCH     │ │ SYSTEM_EXECUTE    │         │
│  │ _MESSAGE          │ │ _SERVICE_QUERY    │ │ _SQL              │         │
│  └───────────────────┘ └───────────────────┘ └───────────────────┘         │
│  ┌───────────────────┐ ┌───────────────────┐                               │
│  │ CORTEX_AGENT_RUN  │ │ GENERIC (UDFs)    │                               │
│  └───────────────────┘ └───────────────────┘                               │
└─────────────────────────────────────────────────────────────────────────────┘
                                     │
                                     ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                         Snowflake Data Layer                                │
│  ┌─────────────────────────────┐  ┌─────────────────────────────────────┐  │
│  │     Structured Tables       │  │      Document Storage               │  │
│  │  • CUSTOMERS                │  │  • DOCUMENTS                        │  │
│  │  • OPPORTUNITIES            │  │  • DOCUMENT_CONTENT                 │  │
│  │  • REVENUE                  │  │  • SERVICE_OFFERINGS                │  │
│  │  • BOOKINGS                 │  │  • SOLUTION_ACCELERATORS            │  │
│  │  • EXPENSES                 │  │  • CASE_STUDIES                     │  │
│  └─────────────────────────────┘  └─────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────────────────────┘

特性

多代理系统

  • 编排器代理:了解查询意图和路由到适当的专业代理
  • SQL数据代理:使用Cortex Analyst处理结构化数据查询
  • 文档代理:使用Cortex搜索处理文档搜索

护栏

  • 输入护栏:查询验证、净化、阻止关键字、主题相关性
  • 输出护栏:PII编辑、敏感数据过滤、响应格式化
  • SQL护栏:查询验证、防止注入、复杂性限制

MCP工具集成

工具类型描述用例
CORTEX_SEARCH_SERVICE_QUERY语义文档搜索查找提案、SOW、服务信息
CORTEX_ANALYST_MESSAGESQL的自然语言收入、客户、机会查询
SYSTEM_EXECUTE_SQL直接执行SQL复杂的分析查询
CORTEX_AGENT_RUNCortex代理编排多步骤分析
GENERICUDF和存储过程自定义业务逻辑

项目结构

SnowflakeMCP/
├── app/
│   ├── __init__.py
│   ├── streamlit_app.py          # Standard Streamlit app
│   └── snowflake_app.py          # Streamlit in Snowflake (SiS) version
├── config/
│   ├── __init__.py
│   └── settings.py               # Pydantic settings management
├── src/
│   ├── __init__.py
│   ├── agents/
│   │   ├── __init__.py
│   │   ├── base.py               # Base agent class
│   │   ├── orchestrator.py       # Agent 1: Orchestrator
│   │   ├── sql_agent.py          # Agent 2: SQL Data Agent
│   │   └── document_agent.py     # Agent 3: Document Agent
│   ├── guardrails/
│   │   ├── __init__.py
│   │   ├── input_guardrails.py   # Input validation
│   │   ├── output_guardrails.py  # Output filtering
│   │   └── sql_guardrails.py     # SQL validation
│   ├── mcp/
│   │   ├── __init__.py
│   │   ├── client.py             # Snowflake MCP client
│   │   └── tools.py              # MCP tool definitions
│   └── utils/
│       ├── __init__.py
│       ├── logger.py             # Structured logging
│       └── helpers.py            # Utility functions
├── sql/
│   ├── 01_setup_database.sql     # Database and role setup
│   ├── 02_create_tables.sql      # Sales data tables
│   ├── 03_create_document_tables.sql  # Document tables + Cortex Search
│   ├── 04_setup_mcp_server.sql   # MCP server configuration
│   └── 05_insert_sample_data.sql # Sample data for testing
├── tests/
│   └── (test files)
├── .env.example                  # Environment template
├── requirements.txt              # Python dependencies
└── README.md                     # This file

安装

先决条件

  • Python 3.10+
  • 启用了Cortex功能的Snowflake帐户
  • 访问Snowflake MCP服务器

设置步骤

  1. 克隆存储库
   git clone 
   cd SnowflakeMCP
  1. 创建虚拟环境
   python -m venv venv
   source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. 安装依赖项
   pip install -r requirements.txt
  1. 配置环境
   cp .env.example .env
   # Edit .env with your Snowflake credentials
  1. 设置雪花数据库
   -- Run SQL scripts in order
   -- sql/01_setup_database.sql
   -- sql/02_create_tables.sql
   -- sql/03_create_document_tables.sql
   -- sql/04_setup_mcp_server.sql
   -- sql/05_insert_sample_data.sql
  1. 运行应用程序
   streamlit run app/streamlit_app.py

配置

环境变量

变量描述示例
SNOWFLAKE_ACCOUNTSnowflake帐户标识符xy12345.us-east-1
SNOWFLAKE_USER用户名SALES_USER
SNOWFLAKE_PASSWORD密码***
SNOWFLAKE_WAREHOUSE仓库名称SALES_ENABLEMENT_WH
SNOWFLAKE_DATABASE数据库名称SALES_ENABLEMENT_DB
SNOWFLAKE_OAUTH_CLIENT_IDOAuth客户端ID***
CORTEX_SEARCH_SERVICE搜索服务名称SALES_DOCUMENT_SEARCH_SERVICE
ENABLE_INPUT_GUARDRAILS启用输入验证true
ENABLE_OUTPUT_GUARDRAILS启用输出过滤true

使用示例

测试查询

  1. 结构化数据查询
   Show me the customer details who gave the most opportunities in the last 3 years

→ SQL代理的路由→ 使用Cortex分析师→ 返回客户分析

   Show me a last 5 year revenue growth trend by customer

→ SQL代理的路由→ 生成同比增长趋势分析

  1. 文档搜索查询
   What all are the service offerings from Jade's Data and AI Service Line?

→ 文档代理的路径→ 搜索Cortex搜索→ 返回服务目录

   What all are the GTM Solution accelerators Data and AI Service Line has?

→ 文档代理的路径→ 返回加速器文档

部署到Snowflake

雪花中的流光(SiS)

  1. 在Snowflake中创建Streamlit应用程序
  2. 上传 app/snowflake_app.py 作为主文件
  3. 配置应用程序设置
  4. 授予必要的权限
-- Create Streamlit app
CREATE STREAMLIT SALES_ENABLEMENT_DB.PUBLIC.SALES_CHATBOT
    ROOT_LOCATION = '@SALES_ENABLEMENT_DB.PUBLIC.STREAMLIT_STAGE'
    MAIN_FILE = 'snowflake_app.py'
    QUERY_WAREHOUSE = 'SALES_ENABLEMENT_WH';

-- Grant access
GRANT USAGE ON STREAMLIT SALES_CHATBOT TO ROLE SALES_ANALYST_ROLE;

安全注意事项

输入护栏

  • 最大查询长度:2000个字符
  • 被屏蔽的关键字:密码、秘密、凭证、api_key、令牌
  • SQL注入预防
  • 命令注入预防
  • 主题相关性检查

输出护栏

  • PII编辑(电子邮件、电话、SSN、信用卡)
  • 敏感数据筛选(API密钥、密码、连接字符串)
  • 专业语言执行

SQL护栏

  • 被阻止的操作:DROP、TRUNCATE、ALTER、CREATE、DELETE、UPDATE
  • 最大复杂性限制(连接、子查询、联合)
  • 查询长度限制
  • 敏感表访问监控

业务建议

  1. 数据质量:确保对源表进行定期数据质量检查
  2. 文档更新:在Cortex搜索中保持文档内容的最新状态
  3. 访问控制:对敏感数据使用基于角色的访问
  4. 监控:启用查询审核日志记录以实现合规性
  5. 反馈循环:收集用户反馈以改进查询路由

故障排除

常见问题

  1. MCP连接错误

- 验证OAuth凭据 - 检查网络连接 - 确认MCP服务器URL

  1. 查询超时

- 增加 SNOWFLAKE_MCP_TOOL_TIMEOUT - 优化仓库规模 - 简化复杂的查询

  1. 未找到结果

- 检查表中是否存在数据 - 验证Cortex搜索服务是否正在运行 - 查看查询关键字

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 通过测试进行更改
  4. 提交拉取请求

许可证

专有-仅供内部使用

支持

如有任何问题或疑问,请联系销售工程团队。

目录标签

目录标签

数据分析Python文档处理自然语言处理销售分析本地部署数据查询文档搜索Snowflake集成

接入字段

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

stdio

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

oauth

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiooauth部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP