@sceboucher/hypertype
v0.2.0
Published
Local MCP server for hypertype: verify what OpenType features and variable axes a font actually ships, generate verified type systems, and critique typographic hierarchy.
Maintainers
Readme
@sceboucher/hypertype
A local MCP server that verifies typography against the real font file, so generated CSS turns on features the font actually ships instead of silently doing nothing. It also generates context-fit type systems and critiques typographic hierarchy.
It runs locally over stdio: no API key, no hosting. Running locally is also the only way to see Adobe Fonts and other installed faces (they live in the OS font directory), so discovery can span Google, direct URLs, and whatever you have installed.
Why it exists
A font-variant-caps: small-caps rule renders nothing if the font has no small caps,
and the browser will fake a degraded version rather than tell you. Google often serves a
reduced subset (Source Serif 4, for instance, ships neither small caps nor a slashed
zero in Google's file). This server reads the OpenType feature list and variable axes
straight from the served sfnt, so the answer is the truth, not the foundry's spec sheet.
Tools
| Tool | What it does |
|---|---|
| analyze_font | The features and variable axes a served font actually ships |
| check_css | Flags each font-variant-* that would no-op or be browser-synthesized |
| recommend_css | A plain-language intent to verified font-variant-* CSS |
| design_type_system | A context-fit scale, role tokens, rem-safe fluid clamps, verified fonts |
| critique_hierarchy | Detects flat / bold-only / symmetric-margin and other hierarchy tells from CSS |
| slab_readiness | Whether a font ships a width axis for the authentic justified slab |
| pair_fonts | A display + text pairing where both carry the features you need |
| font_license | OFL / Apache (self-hostable) vs Adobe (CDN-only) vs verify |
| list_sources | Which font sources this machine can actually reach |
| find_fonts | Fonts that carry a given feature set, across Google + installed |
Install
One-click, on the tools that support MCP install deeplinks:
Or configure it by hand. The command is the same everywhere:
{
"command": "npx",
"args": ["-y", "@sceboucher/hypertype"]
}- Claude Code:
claude mcp add hypertype -- npx -y @sceboucher/hypertype - Claude Desktop: add the block above under
mcpServersinclaude_desktop_config.json. - Cursor / VS Code: add it under
mcpServers(or use the buttons above).
Discovery index
find_fonts answers from a prebuilt feature index (data/feature-index.json). A seed
index ships with the package. To rebuild or expand it (needs network):
npm run build:indexNo upstream publishes per-feature data, so the index is generated by analyzing each font's served file. That is the cost of honest cross-font discovery.
Develop
npm install
npm test # node --test
npm start # run the stdio server directly