← 返回目录
S

SLayer

社区
面向 AI 智能体与人类的可嵌入语义层
分类
数据库 第 43 / 58
Stars
★ 303 热门
传输方式
stdio(本地进程)
运行环境
Python
凭据
无需凭据
许可证
MIT
最近提交
48FMRS · D

SLayer 是 Motley 团队维护的 MIT 许可开源语义层,专注于为 AI 智能体提供受治理的数据访问与查询能力。它支持 MCP 等多种接口,安装方式清晰,适合希望在数据仓库上构建分析型智能体或 API 的团队;其只读连接与凭据传递方式需要使用者留意安全配置。

最强项 · 安装易用性 12/20 最弱项 · 可靠性 7/20

可靠性
7/20
安全与权限
9/20
维护活跃度
10/20
文档质量
10/20
安装易用性
12/20
查看各项评分依据
可靠性 7/20
仅能审阅仓库根目录的 README 与徽章,服务器清单未缓存,仓库内没有可见的 CI 工作流或已提交测试来证明服务器能干净启动并完成 MCP 初始化与工具列举握手。README 声称可通过 `slayer mcp --demo` 或 `slayer mcp --ingest-on-startup` 启动,且声明了搜索、记忆存储等工具,但均为自述证据,无法验证工具行为与声明一致。依赖方面依赖 PyPI 上的 `motley-slayer[all]`,安装正确性依赖网络与版本解析,错误处理与边界情况在源文件中不可见。按照静态校准上限 12,且缺失执行证据属于扣分项,故给予 7 分。
安全与权限 9/20
未发现恶意代码、凭据窃取、隐蔽外发或未确认的破坏性默认操作等红线风险。README 明确说明数据库连接为只读,且通过环境变量 `${DB_PASSWORD}` 在初始化时读取密码,不落盘、不暴露给 Claude,体现了一定的最小权限与数据边界意识,并提到行级安全。但仍存在可见风险:启动方式 `--ingest-on-startup` 会主动连接用户数据源并摄取元数据,缺少对连接范围、外部网络行为与摄取数据去向的明确披露;MCP 子进程继承启动进程环境变量,凭据隔离依赖用户自行保证未完全说明;对危险操作缺乏显式确认机制描述。主要风险可见但权限范围与确认流程不完整,故给予 9 分。
维护活跃度 10/20
仓库为 MIT 许可,未归档,有 168 星与 3 个开放 issue,且来自 Motley 团队并称为核心产品组件,具备持续维护的组织背书。但静态源中未提供发布节奏、提交历史、依赖更新策略、issue 响应记录或安全响应通道等可核验信息,治理与版本化路径存在空白。属于活跃但治理/版本信息缺失,故给予 10 分。
文档质量 10/20
README 提供了安装命令、演示与自有数据两种快速上手路径、数据源创建示例,并链接到 MCP、REST、CLI、Python、Flight SQL 等多个接口及 dbt/Cube/Ossie 导入器的分层文档,还有概念性表达式与多阶段查询说明,整体可用性较好。但缺少工具参数细节、明确的限制与配额/成本说明、以及直接可读的故障排查内容,且关键证据多为外部链接而非仓库内可审阅文本,存在隐藏假设与排障空白。故给予 10 分。
安装易用性 12/20
安装路径清晰:使用 uv 安装 PyPI 包 `motley-slayer[all]`,随后通过 `claude mcp add` 以一行命令接入 Claude Code,并提供演示数据集零配置快速上手与自有数据源的配置示例,步骤少且面向主流客户端。但过程依赖 uv、PATH 刷新(`uv tool update-shell`)、环境变量在启动 shell 中导出等前置条件,且实际能否连通未在源文件中验证,存在手动与易受环境影响的环节。按静态校准上限 15,并因缺少可执行验证证据,给予 12 分。

静态评测 · 未实际运行收录于 2026-09-10

查看 FMRS 评分方法 →

选型与风险

能访问什么连接数据库

适合谁

  • 希望为 AI 智能体提供受治理数据访问接口的数据团队
  • 需要在仓库之上构建分析型 MCP 服务器或 API 的开发者
  • 使用 dbt、Cube、Ossie 等已有语义配置并希望复用的团队
  • 需要在 Python 应用中嵌入语义层的工程师

不适合谁

  • 需要写入或修改数据库数据的场景(SLayer 的连接为只读)
  • 不需要语义层、直接编写 SQL 即可满足需求的简单场景
  • 非 Python 技术栈且无法运行 CLI 或 MCP 子进程的环境

所需权限

  • 对配置数据源的只读数据库访问权限
  • 读取数据库密码等凭据的环境变量(如 DB_PASSWORD)
  • 运行本地 CLI 命令与 MCP 子进程的权限
  • 修改 Claude Code MCP 配置的权限

风险与副作用

  • 数据库凭据需通过环境变量传给 MCP 子进程,若启动 shell 的环境被泄露可能带来凭据暴露风险
  • 连接以只读方式访问数据仓库,但仍可读取到敏感业务数据,应结合行级安全策略
  • 通过 MCP 接入后,智能体可对数据执行查询,需确认其查询范围符合预期
  • 作为第三方项目使用,其可用性与行为依赖上游维护状况

安装接入

准备工作

运行环境:Python

DB_PASSWORD 可选密钥 数据库密码,由 SLayer 在初始化时从环境读取,不会保存到磁盘;需在启动 Claude Code 的 shell 中导出。

推荐使用 uv。首先执行 uv tool install 'motley-slayer[all]';如果之后在 PATH 中找不到 slayer,执行 uv tool update-shell 并重新打开终端。使用演示数据集:claude mcp add slayer_demo -- slayer mcp --demo(内置 Jaffle Shop 演示数据,零配置)。使用自有数据:先创建数据源,例如 slayer datasources create 'postgresql://user:${DB_PASSWORD}@hostname/db_name',密码在初始化时读取,不会保存到磁盘或暴露给 Claude;然后执行 claude mcp add slayer -- slayer mcp --ingest-on-startup。请从已导出 DB_PASSWORD 的 shell 启动 Claude Code,因为 MCP 子进程会继承启动进程的环境变量。

验证是否装好

运行 `claude mcp add slayer_demo -- slayer mcp --demo` 后启动 Claude Code,检查工具列表中是否出现 SLayer MCP 的工具(如搜索/查询),并向其提问 Jaffle Shop 演示数据的问题以确认连接正常。

常见排障

  1. 安装后找不到 slayer 命令:执行 `uv tool update-shell` 并重新打开终端
  2. MCP 无法在 Claude Code 中显示:确认已执行 `claude mcp add` 并重新启动 Claude Code
  3. 数据库连接失败:检查数据源连接串中的数据库类型、用户名、主机名与库名是否正确
  4. 密码读取失败:确认从已导出 DB_PASSWORD 等环境变量的 shell 启动客户端

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 搜索可用的数据源和指标定义
  • 展示每月按门店的营业收入及环比百分比变化
  • 使用 time_shift 查询 revenue:sum 的同比数据
  • 查询 Jaffle Shop 演示数据库的月度收入

使用场景

让 AI 智能体在数据仓库上执行受治理的分析查询
为分析型 MCP 服务器或 API 提供语义层能力
以语义方式直接查询数据库,而无需手写 SQL
将语义层嵌入 Python 应用中使用
导入 dbt、Cube 或 Ossie 配置并复用已有指标定义

支持客户端

Claude Code

依据项目文档列出,未经本站实测。

详细介绍

SLayer 是 Motley 团队开发并维护的可嵌入、表达力强的语义层,用于在数据仓库之上实现 AI 驱动的数据分析。它为智能体提供受治理的共享接口,通过该接口访问数据与指标并获得可靠答案。SLayer 负责数据库连接(只读)、SQL 翻译、常用数据转换和行级安全,让 LLM 与人类无需处理这些细节。它既可以作为独立工具使用,也可以作为 Python 库导入并嵌入任意 Python 应用,用于构建分析型 MCP 服务器或 API,或直接以语义方式查询数据库。与传统 BI 语义层不同,SLayer 允许只定义一次 columns(如 revenue),然后通过表达式(如 revenue:sum、revenue:avg、revenue:sum / *:count、time_shift(revenue:sum, -1, 'year'))查询,并支持多阶段查询。SLayer 聚焦于智能体常见的 search → inspect → query 流程,提供 search 工具用于高效发现,以及 memory store 用于关联业务上下文。它支持 MCP、REST API、CLI、Python 客户端、Flight SQL 和基于 Postgres 的 SQL API 等多种接口,并提供 dbt、Cube、Ossie 配置的导入器。

同类可选方案

源版本 82a40b39ddfc 数据同步于 2026-10-19 查看 FMRS 评分方法