mcpField
S
Schemity

Schemity

已认证精选本地服务
schemity.com数据库05 天前更新

关于 Schemity

Schemity 是面向工程师及处理数据库架构和迁移的 Agent 的本地数据库设计应用,内置 MCP 服务。它可在不执行 SQL 的情况下分析迁移影响,并将图表编辑暂存以供人工审核;Agent 不会获得数据库凭据,也不能写入数据库。

主要功能

  1. 01读取架构但不暴露行数据
  2. 02执行前分析迁移文件
  3. 03评估数据丢失、锁及依赖对象
  4. 04暂存图表编辑以供审核和撤销
  5. 05检查架构规范并查看依赖关系
  6. 06在 Schemity 中预览待处理更改

适用场景

  1. 01运行迁移前检查迁移文件
  2. 02了解表关系及依赖项
  3. 03安全审核拟议的架构更改
  4. 04整理表并调整图表关系

MCP 相关

MCP 服务内置于 Schemity 桌面应用,可通过 stdio 或本地 Streamable HTTP 连接 MCP 主机。它提供架构检查、迁移分析和暂存图表编辑工具,不会执行 Agent 编写的 SQL。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Schemity MCP 服务

内置于 Schemity 的本地数据库 MCP 服务。Schemity 是一款面向软件工程师的数据库设计软件。你的 AI Agent 可以读取 PostgreSQL、MySQL、MariaDB、SQL Server、SQLite 或 Snowflake 实时数据库的架构,在迁移运行前查看其影响,并暂存你可以审核的图表编辑。Agent 不会获得数据库凭据,它执行的任何操作都不会写入数据库。

此服务随 Schemity 桌面应用一同提供,该应用为闭源。本仓库包含其文档、对外提供的工具列表(tools.json)以及可直接粘贴的主机配置(examples/)。Bug 报告和功能请求请提交至 schemity-feedback。

为什么采用受控路径

大多数数据库 MCP 服务会把连接字符串交给 Agent,并执行它编写的任何 SQL。Schemity 则反其道而行:Agent 通过你当前打开的图表进行操作,而该图表由 Schemity 从数据库读取。

  • 读取绝不会改变任何内容。
  • 编辑会暂存在打开的图表中,作为未保存的更改记录在撤销历史里,并标记为由 Agent 执行,供你审核;保存前,你可以撤销这些更改。
  • 只有你亲自运行迁移后,才会触及数据库。
  • **中间没有供应商云服务。**HTTP 服务仅监听 127.0.0.1,并要求使用保存在操作系统钥匙串中的 Bearer 令牌;stdio 主机通过本地套接字与应用通信。你的架构只会发送到 Agent 主机原本就会接收你代码的地方;使用本地模型时,数据会留在你的机器上。

工具

截至 Schemity 2.13.2,共有 18 个工具。它们都不会运行 Agent 编写的 SQL,也不会返回任何行。完整输入架构见 tools.json。

list_diagrams

列出当前在 Schemity 中打开的图表,并标记活动标签页。只读。

find_diagrams

按名称、数据库或工作区匹配所有已保存的图表,无论是否已打开,并按匹配度从高到低排列。只读。

open_diagram

在新标签页中打开已保存的图表,或将其切换到前台。打开包含数据库的图表时,可能会要求输入操作系统钥匙串密码。

open_schemity

启动 Schemity,或将其切换到前台。

get_schema

获取某个图表或单个上下文视图中的表、列、键、检查约束和索引,以及你的命名约定和新建表所用的模板。不包含行数据。只读。

get_dependencies

获取某个表的关联关系及其流入和流出的依赖,并列出两侧的列。只读。

get_context_views

获取上下文视图、它们之间的依赖关系、循环,以及未声明为外键的依赖关系。只读。

get_data_dictionary

以 Markdown 格式提供已记录的架构,包含描述。只读。

lint

检查架构问题:约定、缺少的索引、类型不匹配。只读。

get_pending_changes

以产生这些更改的撤销历史形式,获取图表中未保存的编辑。只读。

analyze_impact

分析待处理迁移的影响:数据丢失、在现有行上会失败的语句、大表重写、大表锁,以及依赖视图和函数。仅在请求时提供 SQL,绝不运行。只读。

analyze_migration_file

对迁移文件执行相同的分析,包括手写文件或由 Prisma、Alembic 或 Flyway 生成的文件。只解析,绝不运行。只读。

count_rows

仅在你提出请求时,针对某项检查结果精确统计行数;使用 SELECT COUNT,并设置 60 秒超时。

show_preview

在 Schemity 中绘制待处理编辑、迁移文件或一组表,并显示检查结果,内容不会保存。

propose_changes

创建、更改和删除表、列、关系、约束、索引、图例及上下文视图。更改会暂存为未保存的编辑供你审核;删除你创建的任何内容前都会先征求你的同意。

group_entities

根据你的源代码或描述,按领域将表归入图例。更改会暂存为未保存的编辑供你审核。

route_relations

调整表格周围的关系线布局,减少交叉。修改会暂存为未保存的编辑,供你审核。

check_relation_lines

检查重叠或交叉的关系线,以及它们经过的弯折次数。只读。

示例提示词

用日常语言提问。你的 Agent 宿主会向模型提供每个工具及其描述,并会在请求符合条件时调用 Schemity 的工具。提到“在 Schemity 中”“此图”或图表名称,就能明确你的意思;在代码仓库中,单独说“添加一个状态列”可能会让 Agent 去修改你的模型文件。

  • “我在 Schemity 中打开了哪些图表?”
  • “打开我的 Coffee Shop 图表。”
  • “解释当前图表中的架构。主要有哪些领域?”
  • “哪些内容依赖 orders 表?”
  • “整理当前图表:按领域对表分组,并根据此代码库确定分组。”
  • “理顺 Billing 图表中的关系线。”
  • “向我展示 Coffee Shop 图表中的更改。”
  • “迁移未保存的更改会产生什么影响?”
  • “运行前,检查 migrations/0042_add_status.sql 是否符合 shop 数据库。”
  • “在图表中添加一个 loyalty_points 表,并关联到 customers。”

数据库

PostgreSQL、Supabase、MySQL、MariaDB、SQL Server 和 SQLite(可直接连接或通过 SSH 隧道连接),以及 Snowflake。

设置

  1. 在 macOS、Windows 或 Linux 上安装 Schemity。
  2. 打开你想让 Agent 查看图表,或者让 Agent 使用 find_diagrams 和 open_diagram 查找并打开已保存的图表。
  3. 点击控制栏中的插头图标打开 MCP 面板,或使用 Cmd+Shift+A(macOS)/Ctrl+Shift+A(Windows、Linux)打开。面板会显示服务状态、连接测试,以及为每个宿主提供的配置片段,其中包含适用于你平台的正确路径。

以下示例使用 macOS 路径。在 Windows 和 Linux 上,请改为复制 MCP 面板中的配置片段。

stdio:Claude Code、Claude Desktop、Codex、OpenCode

宿主会使用 --mcp 启动 Schemity 二进制文件,因此即使应用已关闭,也可以启动 Schemity。

Claude Code

claude mcp add --scope user schemity -- "/Applications/Schemity.app/Contents/MacOS/schemity" --mcp

Claude Desktop - claude_desktop_config.json,然后重启 Claude Desktop

{
  "mcpServers": {
    "schemity": {
      "command": "/Applications/Schemity.app/Contents/MacOS/schemity",
      "args": ["--mcp"]
    }
  }
}

Codex - ~/.codex/config.toml

[mcp_servers.schemity]
command = "/Applications/Schemity.app/Contents/MacOS/schemity"
args = ["--mcp"]

OpenCode - opencode.json

{
  "mcp": {
    "schemity": {
      "type": "local",
      "command": ["/Applications/Schemity.app/Contents/MacOS/schemity", "--mcp"]
    }
  }
}
Streamable HTTP:Cursor 和其他 HTTP 客户端

保持 Schemity 处于打开状态;HTTP 宿主无法启动它。默认端口为 7332,可在面板中更改。

Cursor - ~/.cursor/mcp.json

{
  "mcpServers": {
    "schemity": {
      "url": "http://127.0.0.1:7332/mcp",
      "headers": { "Authorization": "Bearer <token from the MCP panel>" }
    }
  }
}

故障排除

  • “Schemity 未运行” - 只有 stdio 宿主才能启动应用。对于 Cursor 等 HTTP 宿主,请自行打开 Schemity,然后重试。
  • 401 Unauthorized - 面板中的令牌已重新生成;请将当前令牌复制到宿主的配置中。
  • 端口被占用 - 在面板中选择其他端口,然后点击 Restart。
  • 工具提示图表“未打开” - 请让 Agent 使用 open_diagram 打开图表,或自行在 Schemity 窗口中打开。

要求和定价

MCP 服务是桌面端功能。在 2 周免费试用期间(所有功能均已解锁,无需信用卡)以及持有许可证时均可使用。许可证为一次性购买,售价 $129。此功能不包含在 Schemity Lite(免费浏览器版本)中。

链接

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。