Skip to main content
Glama
rominak

tidy-core

by rominak

tidy-core

其他 Figma MCP 服务器让智能体可以修改你的设计系统。tidy-core 告诉你它是否应该修改、什么会被破坏、是否有人采用了上一次的变更,以及你六个月前做了什么决定。

基于模型上下文协议的设计系统治理。十三个工具,而不是一百个。

状态:v0.1.0,早期版本。 十三个工具中有三个已实现。其余十个已注册,会明确告诉你它们尚未构建,而不是返回空结果。参见构建顺序


为什么存在

让智能体读写 Figma 是一个已解决的问题。Figma 提供了官方的 MCP 服务器,也有很好的第三方服务器,工具数量超过一百个。

但它们都无法回答设计系统负责人真正会被问到的问题:这套系统是否有效,是否值得投入人力?

你可以展示组件数量。但你无法展示采用率、漂移、决策历史,或下一次迁移的成本。于是系统只能靠产出量来评判,而这恰恰是唯一会奖励错误行为的指标。

tidy-core 正是为填补这个空白而构建的。它不是一种更快的组件绘制方式。

Related MCP server: Harness Engineering MCP

它能做什么

能力

它回答的问题

决策记录

系统为什么是现在这样?哪些决策现在相互矛盾?

纵向健康度

系统在改善还是退化?哪个类别发生了变化?

采用证据

设计师真的在使用这些组件,还是分离并覆盖它们?

影响范围

如果我重命名这个 token,什么会被破坏?迁移成本是多少?

漂移与一致性

设计是否仍然与代码、Storybook 和文档匹配?

CI 强制

这个变更是否违反了已记录的决策?阻止它。

它不做什么

  • 不是设计转代码生成器。Figma 自己的 MCP 服务器在这方面做得很好。

  • 不是更快地创建组件的方式。其他服务器在这方面做得很好。

  • 不是工具数量竞赛。小而精的界面正是重点。

它被设计为一个创作型 MCP 服务器并行使用,而不是替代它。用那些工具来执行变更。用这个工具来决定是否应该执行,并证明发生了什么。


安装

👋 新手?

改为阅读分步指南 →

它假设你没有编程经验,解释每个术语,并告诉你每一步之后应该发生什么。大约 20 分钟。

以下是简版,适合以前配置过 MCP 服务器的人。

需要 Node 18+ 和 Figma 桌面版。浏览器标签页无法访问 localhost WebSocket,也没有变通方案。

尚未发布到 npm,因此需要克隆并构建:

git clone https://github.com/rominak/tidy-core.git
cd tidy-core
npm install
npm run build

Claude Code

claude mcp add tidy-core -s user -- node /absolute/path/to/tidy-core/dist/index.js

Cursor、Windsurf、Claude Desktop

{
  "mcpServers": {
    "tidy-core": {
      "command": "node",
      "args": ["/absolute/path/to/tidy-core/dist/index.js"]
    }
  }
}

然后连接插件:

  1. Figma 桌面版 → 插件 → 开发 → 从清单导入插件

  2. 从本仓库选择 plugin/manifest.json

  3. 运行它。它会扫描 9240 到 9249 端口并自动连接。

验证:

Check tidy status

首次运行

Load the design system contract.

tidy_context 返回集合、模式、按意图分组的 token 名称、组件变体轴,以及实际使用的命名约定——这些是从你的数据中推断出来的,而不是凭空断言的。

更多内容见 docs/examples.md


值得了解的设计决策

它拒绝猜测你指的是哪个文件。 当连接了两个或更多 Figma 文件且未设置目标时,命令会失败并列出这些文件,而不是选择第一个打开的套接字。选择就像抛硬币,猜错了就会写入错误的文件。使用 tidy_target 设置一个。

它给每个响应打标签。 真实环境中会并行运行多个 Figma MCP 服务器。每个响应都带有 _mcp: "tidy-core",每个错误都以 [tidy-core] 为前缀,这样其他服务器的故障永远不会被归咎于这个服务器。

未构建的工具会明确说明。 十个计划中的工具已注册,并返回明确的拒绝信息,说明它们将来会做什么。一个静默返回 {} 的工具比一个承认自己尚不存在的工具更糟糕。

它不会杀死你的其他工具。 如果 9240 端口被占用,它会移动到 9240 到 9249 范围内的下一个空闲端口,插件本来就会扫描这个范围。它刻意不会终止占用该端口的任何进程。

读取操作会写入。 一旦 tidy_healthtidy_adoption 上线,每次调用都会持久化一个快照。这就是为什么第二次运行无需任何人调度就能显示差异。将存在一个 noCapture 标志,用于只读的 CI 检查。参见推理过程

十三个工具

工具

状态

问题

tidy_status

我连接到了哪里?下一个命令会落在哪里?

tidy_target

我在哪个文件中工作?

tidy_context

这个系统里有什么,以便我能正确工作?

tidy_health

🚧

它有多健康?在朝哪个方向变化?

tidy_adoption

🚧

真的有人在用它吗?

tidy_drift

🚧

设计是否仍然与代码、Storybook、文档匹配?

tidy_impact

🚧

如果我改这个,什么会被破坏?

tidy_cleanup

🚧

我应该先修复什么?

tidy_plan

🚧

给我一个安全、可审查的变更序列。

tidy_apply

🚧

执行我审查过的计划。

tidy_decisions

🚧

为什么是现在这样?我们的决策是否相互矛盾?

tidy_record_decision

🚧

记录我们为什么这样做。

tidy_gate

🚧

这个变更应该被允许合并吗?

完整定义见 docs/spec.md

开发

npm install
npm run build     # emits dist/, excludes tests
npm test
npm run typecheck # checks everything including tests
npm run dev       # watch mode

一切都在本地运行。没有数据离开你的机器,也没有遥测。

了解更多

tidy-core 源于 aidesign.guide 上关于设计系统和 AI 的持续工作,其背后的思考在那里有更深入的阐述:设计系统如何被衡量、AI 真正在哪些方面有帮助,以及它在哪些方面悄悄让事情变得更糟。

Romina Kavčič 构建。

许可证

MIT

Install Server
A
license - permissive license
B
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rominak/tidy-core'

If you have feedback or need assistance with the MCP directory API, please join our Discord server