Token导航 LogoToken导航TokenDH.com
Openwebui Snowflake MCP Demo logo
AI代理未说明官方级别未说明来源级核验

Openwebui Snowflake MCP Demo

MCP Server

Open WebUI作为统一AI前端,通过Model Context Protocol (MCP)安全连接Snowflake,展示企业级安全模式,包括行级安全(RLS)和数据自动掩码。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
Python数据安全AI代理

安装说明

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

作者 / 组织

azbarbarian2020

提供方

azbarbarian2020

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

打开WebUI+雪花MCP集成演示

使用的完整演示 开放网络用户界面 作为一个统一的人工智能前端,通过 模型上下文协议(MCP)。此演示展示了企业级安全模式,包括 行级安全(RLS)数据脱敏 由Snowflake自动执行。

这个演示证明了什么

  1. 统一AI接口:单个聊天UI将用户路由到不同的AI后端(RAG聊天机器人、Snowflake Cortex Analyst)
  2. 每个用户RBAC:不同的用户根据他们的雪花角色看到不同的数据
  3. 安全通行证:Snowflake的RLS和屏蔽策略会自动执行
  4. MCP协议:AI到数据连接的行业标准协议

演示场景

用户雪花角色他们看到了什么
西方用户WEST_MANAGER4名西部地区司机,电话号码被屏蔽
east_userEAST_MANAGER4名东部地区司机,电话号码被屏蔽
管理员ACCOUNTADMIN所有8名司机,电话号码可见
webuser(无)仅RAG文档,无数据库访问权限

______________________________________________________________________

先决条件

  • 雪花账户 (企业版或试用版)
  • Docker 桌面版 已安装并正在运行
  • 大语言模型提供商 -要么 奥拉玛 (免费)或OpenAI API密钥
  • 30-45分钟 用于设置

______________________________________________________________________

设置流程

Setup Flow

______________________________________________________________________

快速开始

步骤1:克隆此存储库

git clone https://github.com/azbarbarian2020/openwebui-snowflake-mcp-demo.git
cd openwebui-snowflake-mcp-demo

______________________________________________________________________

步骤2:运行雪花设置(5分钟)

  1. 登录 雪景 作为会计管理员
  2. 打开一个新的SQL工作表
  3. 复制以下内容的全部内容 snowflake_setup.sql 来自此存储库
  4. 粘贴并运行(单击“全部运行”或Ctrl+Shift+Enter)

预期结果:末尾的所有验证查询应显示:

  • 账户管理员:8个司机,真实电话号码
  • WEST_MANAGER:4名司机,“戴口罩”的电话
  • EAST_MANAGER:4名司机,“戴口罩”的手机

______________________________________________________________________

步骤3:生成个人访问令牌(10分钟)

您需要三个用户的PAT: 西方用户, EAST_USER,和你的 管理用户.

对于WEST_USER和EAST_USER:

  1. 在Snowsight中,单击用户菜单(左下角)→ 交换机角色负有责任的。
  2. 首选 管理员用户和角色用户
  3. 点击 西方用户认证 标签
  4. 在“程序化访问令牌”下,单击 +生成新令牌
  5. 姓名: openwebui-demo,有效期:30天
  6. 点击 生成立即复制令牌 (你不会再看到它了)
  7. 重复以下步骤 EAST_USER

对于管理员用户:

  1. 单击用户菜单→ 我的资料
  2. 首选 认证 标签
  3. 以相同的方式生成PAT

保存所有三个PAT -在步骤5中,您将需要它们。

______________________________________________________________________

步骤4:获取您的帐户标识符

您的Snowflake帐户标识符位于您的URL中:

  • 试用账户: https://abc12345.snowflakecomputing.com → 标识符是 abc12345
  • 企业帐户: https://orgname-accountname.snowflakecomputing.com → 标识符是 orgname-accountname

______________________________________________________________________

步骤5:配置凭据(5分钟)

重要:在步骤7中启动Docker之前,必须完成此步骤。

  1. 复制模板:
   cp config/user_credentials.template.json config/user_credentials.json
  1. 编辑 config/user_credentials.json:
   {
     "snowflake_account": "YOUR_ACCOUNT_IDENTIFIER",
     "semantic_view": "SECURITY_WORKSHOP.TRUCKING.TRUCKING_SEMANTIC_VIEW",
     "users": {
       "web_user": {
         "snowflake_user": null,
         "pat": null,
         "has_analyst_access": false,
         "has_rag_access": true
       },
       "west_user": {
         "snowflake_user": "WEST_USER",
         "pat": "PASTE_WEST_USER_PAT_HERE",
         "has_analyst_access": true,
         "has_rag_access": false
       },
       "east_user": {
         "snowflake_user": "EAST_USER",
         "pat": "PASTE_EAST_USER_PAT_HERE",
         "has_analyst_access": true,
         "has_rag_access": false
       },
       "admin": {
         "snowflake_user": "YOUR_ADMIN_USERNAME",
         "pat": "PASTE_ADMIN_PAT_HERE",
         "has_analyst_access": true,
         "has_rag_access": true
       }
     }
   }
  1. 验证文件是否存在 在继续之前:
   ls -la config/user_credentials.json

您应该看到一个文件(而不是目录)。如果你看到 d 在权限开始时,出现了一些问题。

______________________________________________________________________

步骤6:安装并启动Ollama(5分钟)

Open WebUI需要一个语言模型。 奥拉玛 在本地免费运行开源LLM。

  1. 安装Ollama:

- 苹果电脑: brew install ollama 或从以下网址下载 奥拉玛 - Windows/Linux:从下载 奥拉玛

  1. 启动Ollama并下载模型 (从任何终端运行):
   ollama serve          # Start the Ollama server (keep this running)

在一个 新终端:

   ollama pull llama3.2  # Download a capable, lightweight model (~2GB)

______________________________________________________________________

步骤7:开始打开WebUI(2分钟)

从仓库目录启动Docker容器:

docker-compose up -d

这将下载并启动Open WebUI。等待约30秒启动,然后打开: http://localhost:3002

首次设置:

  1. 点击 开始使用
  2. 系统将提示您创建 管理员账户
  3. 使用 admin@demo.local 作为电子邮件( admin 零件必须与键入的密钥匹配 user_credentials.json)
  4. 输入任何名称和密码(例如。, Admin User / admin123)
  5. 点击 创建管理员帐户

重要:用户名(前面的部分 @)确定使用哪些Snowflake凭据。使用 admin@demo.local 地图到 admin 报关进口 user_credentials.json,提供完整的雪花访问权限+RAG访问权限。

现在,您应该看到Open WebUI聊天界面。

稍后停止: docker-compose down

验证Ollama连接:

  1. 单击顶部的模型下拉列表-您应该看到 llama3.2
  2. 如果不可见,请转到管理面板→ 设置→ 连接
  3. 验证Ollama URL是否 http://host.docker.internal:11434
  4. 单击保存并刷新

______________________________________________________________________

步骤8:安装过滤功能(5分钟)

  1. 在打开WebUI中,单击 你的头像 (右上)→ 管理面板
  2. 首选 函数 标签
  3. 点击 +创建函数
  4. 复制以下内容的全部内容 functions/mcp_analyst_router.py
  5. 粘贴到代码编辑器中
  6. 点击 保存
  7. 重要:单击 全球 切换以对所有用户启用它
  8. 功能状态应显示为启用(绿色)

______________________________________________________________________

第9步:为RAG创建知识库(5分钟)

  1. 首选 工作区知识
  2. 点击 +创建知识库
  3. 姓名: Technician Reviews
  4. 点击 创建
  5. 点击 +添加内容上传文件
  6. 上传 docs/Technician_Reviews_2025.pdf
  7. 等待处理完成(单击PDF内容时,您应该能够看到它)
  8. 复制知识库ID 从URL: http://localhost:3002/workspace/knowledge/{THIS-ID}

使用知识库ID更新筛选函数:

  1. 回到 管理面板函数
  2. 点击您的 MCP分析路由器 函数
  3. 找到 knowledge_id 阀门并粘贴您的知识库ID(仅UUID,例如。, 67156cd0-97ca-4df1-9d44-a3dd6c47d35b)
  4. 点击 保存
  5. 重新启动容器 要重新加载该函数,请执行以下操作:
   docker-compose restart

______________________________________________________________________

步骤10:创建测试用户(5分钟)

  1. 首选 管理面板用户
  2. 创建这些用户(密码可以是任何演示密码):
电子邮件姓名角色
west_user@demo.localwest_user用户
east_user@demo.localeast_user用户
web_user@demo.localweb_user用户

重要:用户名(@之前)必须与中的键匹配 user_credentials.json

授予web_user访问知识库的权限:

web_user 需要明确访问以查询知识库:

  1. 首选 工作区知识
  2. 点击 技术人员评审
  3. 点击 分享访问 按钮(齿轮图标或共享图标)
  4. 添加 web_user@demo.local 访问列表
  5. 保存

向所有用户授予模型访问权限:

默认情况下,模型对非管理员用户不可见。您必须明确授予访问权限:

  1. 作为管理员,请访问 管理面板设置模型
  2. 找到 llama3.2 在模型列表中单击它
  3. 在...之下 访问,或者:

- 切换 公共 为了使其对所有用户可用, - 单独添加每个用户(west_user、east_user、web_user)

  1. 点击 保存

默认模型已设置为 llama3.2:latest 通过 DEFAULT_MODELS 环境变量 docker-compose.yml,因此不需要额外的配置。

______________________________________________________________________

步骤11:测试演示(5分钟)

测试1:行级安全

以每个用户的身份登录并询问: “显示所有司机及其所在地区和电话号码”

用户预期结果
west_user4名西部司机,手机显示“戴口罩”
east_user4名east司机,手机显示“戴口罩”
admin8个司机(全部),手机显示真实数字

测试2:RAG接入

问: “跟我说说陈的绩效评估”

用户预期结果
web_user来自知识库的完整评论
west_user“您无权访问知识库”
admin全面审查(同时具有RAG和Analyst访问权限)

______________________________________________________________________

故障排除

“我不能那样做”的回答

  • 检查一下 全球 过滤器功能已启用切换
  • 验证功能是否显示为活动状态(无错误)

Snowflake未返回任何数据

  • 验证PAT是否有效(未过期)
  • 检查帐户标识符是否正确 user_credentials.json
  • 确保已创建MCP服务器: SHOW MCP SERVERS IN SECURITY_WORKSHOP.TRUCKING;

401未经授权的错误(API访问被阻止)

  • 试用账户:需要网络策略。在中运行步骤15 snowflake_setup.sql
  • 内部雪花账户:使用检查现有网络策略 SHOW NETWORK POLICIES;
  • SHOW PARAMETERS LIKE 'NETWORK_POLICY' IN ACCOUNT; 查看当前政策

RAG不工作

  • 验证功能阀中的知识库ID是否正确(只有UUID,没有前导斜线)
  • 点击进入知识库,验证您是否可以看到PDF内容
  • 更新knowledge_id阀后重新启动容器: docker-compose restart
  • 检查日志: docker logs open-webui-mcp-demo 2>&1 | grep -i "MCP Router" | tail -20

Docker问题

docker-compose down
docker-compose up -d
docker logs open-webui-mcp-demo

凭据文件显示为目录

如果你看到 [Errno 21] Is a directory 在日志中,Docker创建了一个目录,而不是挂载文件:

docker-compose down
docker volume rm openwebui-snowflake-mcp-demo_open-webui-mcp-demo-data
rm -rf config/user_credentials.json
cp config/user_credentials.template.json config/user_credentials.json
# Edit config/user_credentials.json with your PATs
docker-compose up -d

未选择模型

  • 确保Olama正在运行: curl http://localhost:11434/api/tags
  • 在管理面板中检查Ollama连接→ 设置→ 连接
  • Ollama URL应为: http://host.docker.internal:11434

______________________________________________________________________

建筑

建筑.md 详细的技术文档,包括:

  • MCP协议详细信息(JSON-RPC 2.0)
  • 安全模型(“先查询,对结果强制执行”)
  • 演示与生产差异
  • OAuth SSO升级路径

______________________________________________________________________

此存储库中的文件

文件描述
snowflake_setup.sqlSnowflake设置的完整SQL工作表
docker-compose.yml打开WebUI容器配置
config/user_credentials.template.jsonPAT配置模板
functions/mcp_analyst_router.pyMCP路由的过滤功能
docs/Technician_Reviews_2025.pdfRAG的示例文档
scripts/verify_setup.py验证脚本
ARCHITECTURE.md技术深潜

______________________________________________________________________

安全须知

  • PAT很敏感 -不要将真正的PAT提交给版本控制
  • 演示密码 -更改任何非演示用途的默认密码
  • 生产:将PAT替换为OAuth SSO(请参阅ARCHITECTURE.md)

______________________________________________________________________

许可证

MIT许可证-请参阅 许可证

______________________________________________________________________

积分

内置:

目录标签

目录标签

Python数据安全AI代理AI前端本地部署企业级集成RLS数据掩码MCP协议

接入字段

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

未说明

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

oauth

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明oauth部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP