Snowflake Cortex AI Model Context Protocol (MCP) Server 是一个社区维护的 MCP 服务器项目,用于将 Snowflake 的能力以工具形式暴露给支持 MCP 的 AI 客户端。该项目现已弃用,不再维护,官方建议所有用户迁移至官方 Snowflake MCP Server。
用途
该项目旨在让 AI 客户端(如 Claude Desktop、Cursor、fast-agent、Codex 等)能够通过 MCP 协议调用 Snowflake Cortex AI 及相关数据服务,实现 AI 驱动的数据查询、对象管理与 SQL 编排。
主要能力
- Cortex Search:查询 Snowflake 中的非结构化数据,常用于检索增强生成(RAG)应用。
- Cortex Analyst:通过丰富的语义建模查询结构化数据。
- Cortex Agent:跨结构化与非结构化数据检索的智能体编排。
- 对象管理:对 Snowflake 常见对象执行创建、删除、更新等基本操作。
- SQL 执行:运行由 LLM 生成、受用户配置权限管控的 SQL。
- 语义视图查询:发现并查询 Snowflake 语义视图。
使用方式
服务器通过一个配置文件(如 services/configuration.yaml)驱动全部工具。配置文件中可添加多个 Cortex Agent、Search、Analyst 服务,只有显式列出的服务才会作为工具在 MCP 客户端中可用。对象管理、查询执行、语义视图等工具组通过 other_services 中的布尔开关启用。sql_statement_permissions 部分用于限定允许执行的 SQL 表达式类型。
连接 Snowflake 使用 Snowflake Python Connector,支持用户名/密码、密钥对、OAuth、SSO、多因素认证(MFA)等方式。连接参数可通过 CLI 参数或环境变量传递,并遵循所指定角色的 RBAC 权限。
服务器支持多种传输机制,可本地运行或被 MCP 客户端启动,也支持 Docker 与 Docker Compose 容器化部署以供远程访问。连接 URL 格式为 http://localhost:9000/snowflake-mcp(本地)或 http://<hostname>:<port>/snowflake-mcp(远程)。
适用场景
适用于希望通过 MCP 客户端在 Snowflake 上执行 Cortex AI 查询、数据检索、对象管理及 SQL 操作的场景,尤其是 RAG、结构化/非结构化数据联合查询以及智能体编排等用例。
限制
- 项目已弃用,不再维护,无官方支持。
- 仅支持在 Snowflake 中预先配置的 Cortex Agent 对象作为工具。
- 对象管理工具仅覆盖基础操作,高级管理建议直接使用 Snowsight。
- 并非所有 Snowflake SQL 命令都在 sqlglot 中有映射,未捕获的命令需设置 Unknown 为 True 才可通过校验。
- 已弃用的 CLI 参数(--account-identifier、--pat)与环境变量(SNOWFLAKE_PAT)将在未来版本移除。
- 使用 Programmatic Access Token 时不评估次要角色,需选择单一角色或任意角色。
其他细节(如具体收费、价格、性能指标等)暂未提供。