@dsgraph/mcp 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -6,7 +6,7 @@ It reads DTCG 2025.10 (with resolver documents and themes), token JSON with `val
6
6
 
7
7
  ## Install
8
8
 
9
- Step-by-step setup for Claude Code, Claude Desktop, Cursor, VS Code, Windsurf and Codex, with the exact snippet for your tokens: [specsure.app/tools/mcp](https://specsure.app/tools/mcp).
9
+ Step-by-step setup for Claude Code, Claude Desktop, Cursor, VS Code, Windsurf and Codex, with the exact snippet for your tokens: [specsure.vercel.app/tools/mcp](https://specsure.vercel.app/tools/mcp).
10
10
 
11
11
  Claude Code, with the project's tokens in `./tokens`:
12
12
 
@@ -34,7 +34,8 @@ The argument is the default source: a folder or file, `npm:@scope/tokens@2` or `
34
34
  | `get_token` | One token: its value in every theme, the references it takes the value from, the tokens that use it, description, deprecation, file |
35
35
  | `search_tokens` | Tokens by part of the name or a glob (`color.text.*`) and by type, with their values |
36
36
  | `describe_tokens` | An overview: tokens per type, themes and other modes, top-level groups, files |
37
- | `compare_versions` | What changed between two versions, what breaks and which semver bump the release needs |
37
+ | `check_styles` | CSS or SCSS the agent just wrote, or a style file or folder of the project: colors and spacing, radii and font sizes written by hand (with the token to use), deprecated and unknown design-system variables |
38
+ | `compare_versions` | What changed between two versions, what breaks and which semver bump the release needs; with `code`, the places in the project's styles that break or look different |
38
39
  | `check_tokens` | Broken references, cycles, legacy syntax, naming collisions, ramps out of order, colors out of gamut |
39
40
 
40
41
  Each tool takes an optional `source`, so an agent can also look at a package before upgrading it: "compare `npm:@scope/tokens@2` with `npm:@scope/tokens@3`".
package/dist/nearest.d.ts CHANGED
@@ -1,23 +1,10 @@
1
- import { type DsGraph, type Input, type Token } from '@dsgraph/core';
1
+ import { type NearestToken, nearestTokens } from '@dsgraph/core';
2
2
  /** A value typed by an agent (`#3366ff`, `12px`, `0.5rem`, `600`, `200ms`) as a DTCG type and canonical value. */
3
3
  export declare function parseValue(text: string, type?: string): {
4
4
  type: string;
5
5
  value: unknown;
6
6
  } | undefined;
7
- export interface Match {
8
- token: Token;
9
- value: unknown;
10
- distance: number;
11
- /** Within the threshold people cannot tell apart (ΔE < 1, < 0.5px). */
12
- exact: boolean;
13
- }
14
- /**
15
- * Tokens nearest to a value in one context. Deprecated ones go last; among equally close tokens,
16
- * the ones that reference another token (semantic tokens, which follow themes) come before the
17
- * primitives that hold the value.
18
- */
19
- export declare function nearest(graph: DsGraph, parsed: {
20
- type: string;
21
- value: unknown;
22
- }, input: Input, limit: number): Match[];
7
+ /** Tokens nearest to a value in one context; see `nearestTokens` in `@dsgraph/core`. */
8
+ export declare const nearest: typeof nearestTokens;
9
+ export type Match = NearestToken;
23
10
  //# sourceMappingURL=nearest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nearest.d.ts","sourceRoot":"","sources":["../src/nearest.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,OAAO,EAEZ,KAAK,KAAK,EACV,KAAK,KAAK,EAEX,MAAM,eAAe,CAAA;AAEtB,kHAAkH;AAClH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAYpG;AA0BD,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,KAAK,CAAA;IACZ,KAAK,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,uEAAuE;IACvE,KAAK,EAAE,OAAO,CAAA;CACf;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,EACxC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,GACZ,KAAK,EAAE,CAoBT"}
1
+ {"version":3,"file":"nearest.d.ts","sourceRoot":"","sources":["../src/nearest.ts"],"names":[],"mappings":"AACA,OAAO,EAAiC,KAAK,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE/F,kHAAkH;AAClH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAYpG;AAED,wFAAwF;AACxF,eAAO,MAAM,OAAO,sBAAgB,CAAA;AACpC,MAAM,MAAM,KAAK,GAAG,YAAY,CAAA"}
package/dist/nearest.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { cssValueToToken } from '@dsgraph/adapters';
2
- import { canonicalize, canonicalValue, DiagnosticBag, deltaEOK, toPx, } from '@dsgraph/core';
2
+ import { canonicalValue, DiagnosticBag, nearestTokens } from '@dsgraph/core';
3
3
  /** A value typed by an agent (`#3366ff`, `12px`, `0.5rem`, `600`, `200ms`) as a DTCG type and canonical value. */
4
4
  export function parseValue(text, type) {
5
5
  const entry = cssValueToToken(type ? `--${type}` : '--value', text);
@@ -15,53 +15,6 @@ export function parseValue(text, type) {
15
15
  const value = canonicalValue(t, t === entry.$type ? entry.$value : text, ctx);
16
16
  return value === undefined ? undefined : { type: t, value };
17
17
  }
18
- const REM = 16;
19
- /** How far two values of a type are apart, in the unit people think in; undefined when not comparable. */
20
- function distance(type, a, b) {
21
- if (type === 'color')
22
- return deltaEOK(a, b);
23
- if (type === 'dimension') {
24
- const pa = toPx(a, REM);
25
- const pb = toPx(b, REM);
26
- if (pa !== undefined && pb !== undefined)
27
- return Math.abs(pa - pb);
28
- }
29
- if (type === 'duration') {
30
- const ms = (d) => (d.unit === 's' ? d.value * 1000 : d.value);
31
- return Math.abs(ms(a) - ms(b));
32
- }
33
- if (typeof a === 'number' && typeof b === 'number')
34
- return Math.abs(a - b);
35
- return canonicalize(a) === canonicalize(b) ? 0 : undefined;
36
- }
37
- /** Types an agent's value can stand for: a bare number may be a font weight. */
38
- const COMPATIBLE = {
39
- number: ['number', 'fontWeight'],
40
- fontWeight: ['fontWeight', 'number'],
41
- };
42
- /**
43
- * Tokens nearest to a value in one context. Deprecated ones go last; among equally close tokens,
44
- * the ones that reference another token (semantic tokens, which follow themes) come before the
45
- * primitives that hold the value.
46
- */
47
- export function nearest(graph, parsed, input, limit) {
48
- const types = COMPATIBLE[parsed.type] ?? [parsed.type];
49
- const out = [];
50
- for (const token of graph.tokens({ type: types })) {
51
- const value = graph.value(token.id, input);
52
- if (value === undefined || value === null)
53
- continue;
54
- const d = distance(token.type === parsed.type ? parsed.type : token.type, parsed.value, value);
55
- if (d === undefined)
56
- continue;
57
- const exact = parsed.type === 'color' ? d < 1 : parsed.type === 'dimension' ? d < 0.5 : d === 0;
58
- out.push({ token, value, distance: Math.round(d * 100) / 100, exact });
59
- }
60
- return out
61
- .sort((a, b) => Number(a.token.deprecated !== null) - Number(b.token.deprecated !== null) ||
62
- a.distance - b.distance ||
63
- graph.chain(b.token.id, input).length - graph.chain(a.token.id, input).length ||
64
- a.token.id.localeCompare(b.token.id))
65
- .slice(0, limit);
66
- }
18
+ /** Tokens nearest to a value in one context; see `nearestTokens` in `@dsgraph/core`. */
19
+ export const nearest = nearestTokens;
67
20
  //# sourceMappingURL=nearest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nearest.js","sourceRoot":"","sources":["../src/nearest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nearest.js","sourceRoot":"","sources":["../src/nearest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAqB,aAAa,EAAE,MAAM,eAAe,CAAA;AAE/F,kHAAkH;AAClH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,IAAa;IACpD,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IACnE,MAAM,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,KAAK,CAAA;IAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,gBAAgB;QAAE,OAAO,SAAS,CAAA;IAClD,MAAM,GAAG,GAAG;QACV,MAAM,EAAE,KAAK;QACb,qBAAqB,EAAE,IAAI;QAC3B,IAAI,EAAE,IAAI,aAAa,EAAE;QACzB,KAAK,EAAE,IAAI,GAAG,EAAU;KACzB,CAAA;IACD,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC7E,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAA;AAC7D,CAAC;AAED,wFAAwF;AACxF,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAA8C,MAAM,eAAe,CAAA;AAIvF,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAInE,MAAM,WAAW,aAAa;IAC5B,6GAA6G;IAC7G,MAAM,EAAE,MAAM,CAAA;IACd,mFAAmF;IACnF,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AA+BD,uFAAuF;AACvF,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAkR3D"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,MAAM,EAMZ,MAAM,eAAe,CAAA;AAKtB,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAInE,MAAM,WAAW,aAAa;IAC5B,6GAA6G;IAC7G,MAAM,EAAE,MAAM,CAAA;IACd,mFAAmF;IACnF,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAsCD,uFAAuF;AACvF,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAuU3D"}
package/dist/server.js CHANGED
@@ -1,8 +1,12 @@
1
+ import { stat } from 'node:fs/promises';
2
+ import { basename, dirname, resolve } from 'node:path';
3
+ import { scanStyles } from '@dsgraph/adapters';
1
4
  import { diffOptions, loadGraph } from '@dsgraph/cli';
2
- import { diff } from '@dsgraph/core';
5
+ import { diff, impactOf, } from '@dsgraph/core';
3
6
  import { formatChangeset, formatFindings, formatValue, formatWhen } from '@dsgraph/report';
4
7
  import { check } from '@dsgraph/rules';
5
- import { parseRemoteSpec } from '@dsgraph/sources';
8
+ import { MemorySource, parseRemoteSpec } from '@dsgraph/sources';
9
+ import { NodeFsSource } from '@dsgraph/sources/node';
6
10
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
7
11
  import { z } from 'zod';
8
12
  import { nearest, parseValue } from './nearest.js';
@@ -22,6 +26,10 @@ const pinned = (spec) => {
22
26
  return r.kind === 'npm' ? /^\d+\.\d+\.\d+/.test(r.version) : /^[0-9a-f]{40}$/.test(r.ref);
23
27
  };
24
28
  const REMOTE_TTL = 5 * 60_000;
29
+ const CODE = z
30
+ .string()
31
+ .optional()
32
+ .describe('The project code that uses the tokens: a folder or a style file (CSS, SCSS, CSS modules), relative to the project. Leave out to skip the code.');
25
33
  const text = (t) => ({ content: [{ type: 'text', text: t }] });
26
34
  const failure = (t) => ({ content: [{ type: 'text', text: t }], isError: true });
27
35
  function describeValue(graph, t, input) {
@@ -32,7 +40,7 @@ function describeValue(graph, t, input) {
32
40
  }
33
41
  /** The MCP server: read-only tools over a design system's tokens, built on dsgraph. */
34
42
  export function createServer(opts) {
35
- const server = new McpServer({ name: 'dsgraph', version: opts.version ?? '0.2.0' });
43
+ const server = new McpServer({ name: 'dsgraph', version: opts.version ?? '0.4.0' });
36
44
  const config = opts.config ?? {};
37
45
  const cache = new Map();
38
46
  const graphOf = (source) => {
@@ -49,6 +57,21 @@ export function createServer(opts) {
49
57
  }
50
58
  return graph;
51
59
  };
60
+ /** Styles of the project: a folder, or one file in it. Read on every call; the agent edits them. */
61
+ const codeOf = async (path) => {
62
+ const full = resolve(opts.cwd, path);
63
+ const info = await stat(full).catch(() => undefined);
64
+ if (!info)
65
+ throw new Error(`Not found: ${path}`);
66
+ const scanOpts = {};
67
+ if (config.code?.exclude)
68
+ scanOpts.exclude = config.code.exclude;
69
+ if (info.isFile())
70
+ return scanStyles(new NodeFsSource(dirname(full)), { ...scanOpts, include: [basename(full)] });
71
+ if (config.code?.include)
72
+ scanOpts.include = config.code.include;
73
+ return scanStyles(new NodeFsSource(full), scanOpts);
74
+ };
52
75
  const inputOf = (graph, context) => graph.defaultInput(context ?? {});
53
76
  const contextLine = (graph, input) => graph.modifiers.length
54
77
  ? ` in ${Object.entries(input)
@@ -236,13 +259,43 @@ export function createServer(opts) {
236
259
  .string()
237
260
  .describe('The old version: a path, npm:package@version or github:owner/repo/path@ref'),
238
261
  head: SOURCE.describe('The new version; leave out for the project default'),
262
+ code: CODE.describe('The project that uses the tokens (a folder or style file): adds, under each change, the places in its styles that break or look different.'),
239
263
  },
240
264
  annotations: { readOnlyHint: true, openWorldHint: true },
241
- }, async ({ base, head }) => {
242
- const [b, h] = await Promise.all([graphOf(base), graphOf(head)]);
265
+ }, async ({ base, head, code }) => {
266
+ const [b, h, index] = await Promise.all([graphOf(base), graphOf(head), code ? codeOf(code) : undefined]);
243
267
  const cs = await diff(b, h, diffOptions(config));
244
268
  const types = new Map([...b.tokens(), ...h.tokens()].map((t) => [t.id, t.type]));
245
- return text(formatChangeset(cs, { format: 'markdown', types }));
269
+ const impact = index
270
+ ? impactOf(cs, b, h, index, config.code?.prefix ? { prefix: config.code.prefix } : {})
271
+ : undefined;
272
+ return text(formatChangeset(cs, { format: 'markdown', types, ...(impact ? { impact } : {}) }));
273
+ });
274
+ server.registerTool('check_styles', {
275
+ title: 'Check styles against the tokens',
276
+ description: 'Use after writing or editing CSS or SCSS: finds colors written by hand, spacing, radii and font sizes off the scale, deprecated and unknown design-system variables, each with the token to use instead. Pass the style text you just wrote, or a file or folder of the project.',
277
+ inputSchema: {
278
+ css: z
279
+ .string()
280
+ .optional()
281
+ .describe('Style text to check, e.g. the rule you are about to write. SCSS is fine.'),
282
+ path: CODE.describe('A style file or folder of the project to check instead of `css`.'),
283
+ source: SOURCE,
284
+ },
285
+ annotations: { readOnlyHint: true, openWorldHint: true },
286
+ }, async ({ css, path, source }) => {
287
+ if (!css && !path)
288
+ return failure('Pass `css` (style text) or `path` (a style file or folder).');
289
+ const [graph, code] = await Promise.all([
290
+ graphOf(source),
291
+ css ? scanStyles(new MemorySource({ 'snippet.scss': css })) : codeOf(path),
292
+ ]);
293
+ if (code.skipped.length && !code.files.length)
294
+ return failure(`Could not parse the styles: ${code.skipped[0].message}`);
295
+ const findings = (await check(graph, config, [], { code })).filter((f) => /^(style|usage)\//.test(f.rule));
296
+ if (!findings.length)
297
+ return text(`No problems: ${code.uses.length} token use${code.uses.length === 1 ? '' : 's'}, no values written by hand that should be tokens.`);
298
+ return text(formatFindings(findings, { format: 'markdown', group: false }));
246
299
  });
247
300
  server.registerTool('check_tokens', {
248
301
  title: 'Check tokens',
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dsgraph/mcp",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "MCP server for design tokens: find the token for a value, read a token with its references, compare versions, run checks. DTCG, token JSON and CSS; folders, npm and GitHub.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -36,12 +36,12 @@
36
36
  "node": ">=20.19"
37
37
  },
38
38
  "dependencies": {
39
- "@dsgraph/adapters": "0.2.0",
40
- "@dsgraph/cli": "0.2.0",
41
- "@dsgraph/core": "0.2.0",
42
- "@dsgraph/report": "0.2.0",
43
- "@dsgraph/rules": "0.2.0",
44
- "@dsgraph/sources": "0.2.0",
39
+ "@dsgraph/adapters": "0.4.0",
40
+ "@dsgraph/cli": "0.4.0",
41
+ "@dsgraph/core": "0.4.0",
42
+ "@dsgraph/report": "0.4.0",
43
+ "@dsgraph/rules": "0.4.0",
44
+ "@dsgraph/sources": "0.4.0",
45
45
  "@modelcontextprotocol/sdk": "1.31.0",
46
46
  "zod": "4.6.5"
47
47
  }