设计 Token 与 MCP
Model Context Protocol 是把 AI 助手接到外部工具和数据的开放标准。用在设计 Token 上,MCP 服务器会把项目当前的 Token 取值提供给 AI 编码代理,让生成的组件引用真实的设计系统,而不是模型自己编出来的数值。
它要解决的问题
一个在写组件的 AI 智能体,总得从某处拿到设计值。在没有更好来源的情况下,它用的是训练里见过的东西:常见的 Tailwind 默认值、流行的调色板、看着合理的间距。
结果能编译,看着合理,而且是错的。不是明显地错,这正是难处所在。那是一个接近你主色的十六进制值,而不是你的主色。
把调色板贴进提示词,能撑过一次对话。撑不到下一次,也扩展不到一个团队。
MCP 改变了什么
Model Context Protocol 是一套开放标准,用来把工具和数据暴露给 AI 助手。像 Cursor 或 Claude Code 这样的客户端连上一个服务器,就能在任务过程中调用它的工具。
对设计系统来说,这意味着智能体可以在需要的那一刻去问这些值,而不必依赖提示词里恰好带了什么。一个典型的服务器会暴露:
- 读取 Token:颜色、字体、间距、圆角、阴影、动效的当前值
- 查询组件:某个具名组件的规格
- 检查违规:给定一段代码,哪些值是写死的,哪些 Token 可以替换它们
- 提议 Token:让智能体在系统未定义某个值时提出请求,而不是自己编一个
最后一条比看上去重要。它把失败的形态从"悄悄编造"变成了"一个人可以回答的明确请求"。
怎么接上
MCP 客户端会读一小段 JSON 配置,里面写明服务器叫什么、怎么连。在 Cursor 里它位于项目的 MCP 设置中;在 Claude Code 里通过 CLI 添加。认证通常是一个限定在单个项目上的令牌。
接上之后,智能体每次生成都能拿到设计系统,不需要在每条提示词里粘贴。
这和规则文件有什么不同
Cursor 规则以及类似机制是把静态文本塞进上下文。这有用,也值得做,但那段文本是一张快照:在 Token 变化之前它是对的,变化之后它就自信地错了。
MCP 服务器是在调用时读取的。Token 一变,下一次生成就看到新值,不需要任何人去更新文件。
这与 Flash DSM 的关系
Flash DSM 运行一个 MCP 服务器,为你拥有的任意设计系统暴露上述工具,可从 Cursor、Claude Code 或任何持有受限令牌的 MCP 客户端接入。