Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
On-demand drift checks: declared CSS color, radius, spacing & type vs your own tokens or a pack
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://swatchdog-mcp-970396648818.us-central1.run.app/mcp在终端中运行这条命令
claude mcp add --transport http validator https://swatchdog-mcp-970396648818.us-central1.run.app/mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"validator": {
"url": "https://swatchdog-mcp-970396648818.us-central1.run.app/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"validator": {
"type": "http",
"url": "https://swatchdog-mcp-970396648818.us-central1.run.app/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://swatchdog-mcp-970396648818.us-central1.run.app/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过域名 swatchdog.dev 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(1.0.1)于5个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Symantec Cloud DLP AIops
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Governed Symantec Cloud DLP — 14 MCP tools, read-only with audit.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Give your AI agent a visual system to build against — so it writes brand-consistent styles instead of guessing colors, radii, spacing, and type.
✅ Now in the [Anthropic Connector Directory](https://claude.ai/directory/connectors/swatchdog). In Claude, open Settings → Connectors, search swatchdog, and click Connect — no URL, no key, no setup.
https://github.com/user-attachments/assets/6ae8b242-d6c7-4a29-8892-27b067835308
Swatchdog is a Model Context Protocol (MCP) server that runs on-demand design-token drift checks for AI coding assistants — Claude Code, Claude Desktop, Cursor, Google Antigravity, other MCP clients, and claude.ai via the connector.
When your agent asks, Swatchdog checks the generated CSS against a design system — a curated pack or your own tokens — and returns every off-token color, radius, spacing, and type value, each with the closest matching token to use instead. The check is on-demand and the loop is yours: Swatchdog reports drift; it never intercepts writes or changes your code.
AI agents are fast but blind to your design system — they invent off-brand spacing, off-palette colors, and quietly ignore your scales. Swatchdog adds a deterministic drift check to the build loop:
radius.sm (5px) instead of 7px"*).How is it different from a linter like ESLint? A linter checks whether your code is *valid*; Swatchdog checks whether your design is *on-system*. A linter happily passes color: #ff00ff because it's valid CSS — it has no idea magenta isn't in your palette. Swatchdog catches exactly that, even when the code is flawless. Lint catches broken code; Swatchdog catches broken design.
Can't I just give my agent the tokens, or a `design.md`? You can, and it'll still drift. Agents approximate and interpolate even with the rules right in front of them — having the rules isn't the same as following them. Swatchdog verifies conformance in the build loop, where the drift actually happens.
Pack mode — check against a curated Swatchdog family (Workbench, Showcase, Terminal, plus the free Studio sandbox). Zero-config.
BYO mode — check against your *own* design system. The agent extracts your tokens (from tailwind.config.js, CSS variables, etc.) and passes them as parameters. Content-only and stateless — your code and tokens are never stored. Free to try on the keyless connector lane, or uncapped with a $12 license.
Intelligent suggestions — Swatchdog doesn't just flag drift, it maps each off-token value to the nearest valid token: color (hex/rgb → nearest theme color), radius, spacing, font-size, and font-family.
*Coverage note: checks currently cover hex and standard color formats. HSL-channel representation and complex multi-file token resolution are on the Phase 2 roadmap.*
`check_design_drift` — connector endpoint · BYO-only · keyless-friendly
reference_tokens *(object, required)* — your design tokens, e.g. {"color":{"primary":"#b06ed0"},"radius":{"md":"6px"}}code *(string, required)* — the CSS/markup to check`check_drift` — main endpoint · checks CSS against a pack or a custom token set
content *(string, required)* — the CSS/markup to checkpaletteId *(string, optional)* — a pack id (e.g. studio-blue-hour); pack modetokens *(object, optional)* — your own token set; BYO modesource *(string, optional)* — telemetry tag (pack, css, tailwind)| Tier | What you get | Where |
|---|---|---|
| Free — keyless | BYO checks on a shared, rate-capped lane | connector endpoint |
Free — sandbox key swt_sandbox_studio | pack checks vs the Studio family | main endpoint |
| $12 — drift-check license | BYO checks, your own uncapped key | both endpoints |
| $19 / $49 — pack or bundle | premium families (Workbench · Showcase · Terminal) + a paid key | both endpoints |
On the main endpoint, a free caller attempting a premium or BYO check gets a structured upgrade payload pointing to swatchdog.dev.
In Claude (easiest): Settings → Connectors → find swatchdog in the directory → Connect. Nothing to paste, no key.
Other MCP clients (Cursor, Claude Code, Claude Desktop) — add one of these to your MCP config:
Connector endpoint — BYO-only, keyless (add a key to remove the rate cap):
{
"mcpServers": { "swatchdog-check": { "type": "http", "url": "https://swatchdog-connector-970396648818.us-central1.run.app/mcp" } } }
Main endpoint — packs + BYO, bearer key (free sandbox key shown):
{
"mcpServers": { "swatchdog-sandbox": { "type": "http", "url": "https://swatchdog-mcp-970396648818.us-central1.run.app/mcp", "headers": { "Authorization": "Bearer swt_sandbox_studio" } } } }
*Prefer to add the connector to claude.ai manually? Settings → Connectors → Add custom connector → paste the connector URL above → leave auth empty.*
All checks are on-demand and transient. No source code, files, or tokens are ever stored on our servers. We log only minimal usage metadata — a source tag, which pack, and the finding count — never your license key, your code, or your tokens. Full policy: swatchdog.dev/privacy.html.
Created and maintained by swatchdog.dev · Support: hey@swatchdog.dev · A Ziola Project