A decision surface for typography: curate font directions on your real site, ship next/font code.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Pick the fonts. Fix the words. Your agent does the work.

Font Lab is a real-time typography and text editor for AI-built sites. Your agent installs it, composes curated font directions Google fonts and distinctive open-foundry faces, and renders them live on your real site. You can toggle between the fonts and pick the one you like. The agent then finishes it upβ next/font + Tailwind on Next.js, self-hosted @font-face everywhere else β reversibly.
Most AI-built sites ends up with generic fonts, like Inter or Geist, because the agent just uses defaults. Font Lab brings the human choose from options the agents curates based on some intake questions. It also allows you to edit text to make it sound like you wrote it.
copy-able prompt here: https://www.jack-mcgovern.com/fontlab
Inside your project β use this prompt:
Works with: Claude Code Β· Cursor Β· VS Code Β· Codex Β· Windsurf Β· Gemini CLI For: any framework with a CSS seam β Next.js gets the full live-panel experience; everything else ships through the same engine (see the matrix below).
Install auto-detects which agents you have and wires them all β skill, MCP server, config, each in the right format. On a stack with no seam at all, Font Lab refuses to half-apply and hands you the generated code with a clear reason instead.
Newly registered MCP tools load on the next session reload β but the agent never has to wait: every tool also runs as a one-shot CLI, npx font-lab run <tool> '<json-args>' (same tool table, same JSON out), so the loop starts the moment install finishes. That's also the fallback whenever an MCP server drops mid-session.
The taste engine, shippability gate, portable preview, and screenshots work on every stack. What varies is the preview surface and how the pick lands in your code β font-lab analyze prints the exact verdict for your project:
| Your stack | Preview | Auto-ship |
|---|---|---|
| Next.js App Router + Tailwind v4 | live in-app panel + real-site screenshots | next/font + Tailwind codegen |
| Any framework + Tailwind v4 (Vite, Astro, Remix, SvelteKit, TanStack, β¦) | real-site screenshots (headless paint) + portable sheet | self-hosted @font-face + @theme role map in your CSS entry |
Any framework + Tailwind v3 (fonts in tailwind.config fontFamily) | real-site screenshots (headless paint) + portable sheet | self-hosted @font-face + utility/Preflight overrides in your CSS entry |
No Tailwind, fonts routed through CSS variables (--font-body, --fd, β¦) | real-site screenshots (headless paint) + portable sheet | self-hosted @font-face + your own font vars repointed |
No seam (hardcoded font-family, CSS-in-JS) | real-site screenshots (headless paint) + portable sheet | hand-apply: Font Lab generates the block, you paste it |
Every auto-ship path is fenced, idempotent, and reversible (font-lab undo). Agents: read capabilities + shipNote from font_lab_analyze β a non-Next stack is a different route through the same loop, never a reason to stop.
Always use upgrade, not bare npm install.
Font Lab lives in two places: the npm package and the panel code stamped into your project (app/_fontlab/). A bare npm install font-lab@latest updates the package but leaves the panel on the old version β which shows a "stale version" warning. upgrade moves everything together in one command: package, panel re-stamp, MCP re-pin, and stale-endpoint shutdown.
next/font + Tailwind on Next.js; self-hosted @font-face wired through Tailwind's theme, v3 utilities, or your own CSS font variables elsewhere. Every change is reversible.font_lab_finish: the dev-panel scaffolding comes out, and you get a git-verified commit plan β your copy edits and font change with ready-to-run commands, nothing of Font Lab's mixed in. The scaffolding and state are self-ignoring in git the whole session, so git status was never noisy to begin with.The Font Lab panel sits on top of your running site β your real pages, your real content β and lets you change fonts and words in real time.
B to peek at your current fonts; tap space to snap between your two finalistsThe panel runs headless too: the agent screenshots your site in each direction and shows you the images in chat β a chat-sized hero shot per direction, with the full-page capture behind it. Works on a phone, on the web, anywhere your agent runs.
The live panel is Next-only β but the real-site preview isn't. On every other framework, Font Lab paints your actual running pages in each direction (the same render-first census machinery the panel flips with, injected headlessly β no scaffolding, no source writes; preview fonts cache in self-ignored state, so your git status stays clean until you actually ship). If no dev server is running, the screenshot tool starts your project's own dev command itself β bound to 127.0.0.1, health-checked, stopped after the capture β which is what makes the loop work unattended in cloud/container agents (Claude Code on the web, and friends) where the human can't reach the agent's localhost. With no dev server possible at all, the fallback is the portable preview: a self-contained HTML specimen sheet (fonts embedded, opens offline) on your own palette and copy β clearly labeled as specimen cards, never passed off as your pages.
Font Lab's core promise is preview == ship: what you see in the panel is what the codegen writes.
Testers are the point β especially "it did the wrong thing on my repo" reports. The analyzer output is the most useful thing you can include.
CONTRIBUTING.md β code contributions and how to run the testsSECURITY.md β security issuescli/README.md β the full user guide: install flags, the agent loop, every keyboard shortcut, the CLI referencedocs/CONCEPT.md β the vision and the core beliefdocs/ARCHITECTURE.md β how the choosing moment works and the selection.json contractdocs/SHIP-SPEC.md β how a pick becomes real, reversible codedocs/PRODUCT.md Β· docs/PANEL-VISION.md β product and brand contextOpen source Β· MIT Β· Published with npm provenance β every release is traceable to this repo and commit. Built and dogfooded on jack-mcgovern.com.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/font-lab)<a href="https://allmcps.com/mcp/font-lab"><img src="https://allmcps.com/api/badge/font-lab?style=directory" alt="Font Lab on AllMCPs" /></a>