Typography Validation for Design Systems
Typography that
ships correct
One JSON file describes your type system, motion tokens, and 3D scenes. 28 rules validate it. One command exports to Tailwind, shadcn, CSS, or W3C Design Tokens. Works from the CLI, in CI, or through 12 MCP tools for AI agents.
1,929
Fonts in Registry
28
Validation Rules
12
MCP Tools
11
Presets
01 — Verify
Validate typography tokens
28 rules covering WCAG contrast ratios, line-height floors, heading hierarchy, spacing monotonicity, and dark-mode completeness. Block bad tokens in CI before they ship.
02 — Resolve
Font intelligence at your fingertips
1,929 fonts with metrics, context scores, and pairing recommendations. Generate platform-aware fallback CSS for 5 rendering targets with a single command.
03 — Deploy
Export to any stack
One token file, every format. CSS custom properties, Tailwind config, shadcn theme, and W3C Design Tokens — generated in a single build step.
04 — Animate
Motion tokens, not motion code
Define durations, easings, springs, and 3D scene materials as tokens. Validate spring physics, duration scales, and material ranges. Export as CSS custom properties.
Agent-Native
Built for AI agents,
not just humans
12 MCP tools. Works with Claude, Cursor, Windsurf, Cline, and any MCP-compatible client. Add fetchtype to your agent's context and it can validate, resolve, and export typography without leaving the conversation.
Add to your MCP config
{
"mcpServers": {
"fetchtype": {
"command": "npx",
"args": ["fetchtype", "mcp"]
}
}
} Compatible with Claude Desktop · Cursor · Windsurf · Cline · Continue
Motion & Scenes
Springs, easings,
and 3D materials
as tokens
Define your motion personality and 3D scene parameters alongside typography. Framework-agnostic values that map to Framer Motion, Three.js, anime.js, or CSS transitions.
Duration scales, easing curves, and spring physics configs
Timeline compositions with frame-based sequences
Scroll/mouse-driven interpolation ranges
PBR materials, camera presets, and lighting rigs
Motion tokens in your token file
"motion": {
"duration": {
"fast": "200ms",
"normal": "300ms"
},
"spring": {
"snappy": {
"stiffness": 400,
"damping": 30,
"mass": 1
}
},
"easing": {
"enter": "cubic-bezier(0, 0, 0.2, 1)"
}
},
"scenes": {
"materials": {
"glass": {
"type": "physical",
"color": "#ffffff",
"roughness": 0.05,
"transmission": 0.95
}
}
} CSS output
:root {
--ft-motion-duration-fast: 200ms;
--ft-motion-duration-normal: 300ms;
--ft-motion-spring-snappy-stiffness: 400;
--ft-motion-spring-snappy-damping: 30;
--ft-motion-easing-enter: cubic-bezier(0, 0, 0.2, 1);
--ft-scene-material-glass-color: #ffffff;
--ft-scene-material-glass-roughness: 0.05;
--ft-scene-material-glass-transmission: 0.95;
} Get Started
Three commands to
validated typography
Step 1 — Init
Scaffold a fetchtype.tokens.json from a preset,
or bring your own token file.
Step 2 — Validate
Run all 28 rules. Exit 1 on errors — safe to gate in CI.
Step 3 — Build
Emit CSS, Tailwind, shadcn, and W3C token files in one pass.
100 presets included
Full API reference, MCP tool documentation, and integration guides live on fetchtype.dev.