mcpField
G
google-fonts

google-fonts

github.com/slidayDesign & UI17249 installsUpdated 8w ago
Repository

About google-fonts

google-fonts is a typography system generator for web projects, with searchable Google Fonts metadata, pairing data, and modular type scales. It helps designers and developers select fonts and produce CSS, Tailwind configuration, and embed links.

Key features

  1. 01Search and filter font metadata
  2. 02Find recommended font pairings
  3. 03Look up font details and scales
  4. 04Generate CSS and Tailwind settings
  5. 05Browse 100 sample typography systems

Use cases

  1. 01Choose fonts for a web product
  2. 02Build a heading and body font pairing
  3. 03Create a responsive type scale
  4. 04Review sample systems by project type

MCP support

When the google-fonts MCP server is connected, the skill recommends using its search_fonts, generate_typography_system, lookup_font, list_scales, and list_pairings tools. Scripts are the fallback for skill-only installs.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/sliday/google-fonts-skill --skill google-fonts

After installing, type/google-fontsin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

LICENSE
CLAUDE.md
CHANGELOG.md
.gitignore
README.md
pyproject.toml
community-announcement.md
.claude-plugin/
marketplace.json
plugin.json
.github/
dependabot.yml
.github/workflows/
pages.yml
publish.yml
data/
scales.csv
pairings.csv
references/
pairing-principles.md
typographic-rhythm.md
registry/
awesome-mcp-servers.md
mcp-hub.json
smithery.yaml
scripts/
build-pairings.py
core.py
generate-llms-full.py
generate-css.py
fetch-and-enrich.py
generate-og-images.py
search.py
generate-showcase.py
showcase/
.nojekyll
showcase/pages/
anthem-brands.html
aether-analytics.html

Details

From the project README

Auto Google Font

Typography system generator for web projects using Google Fonts. Searches 1,923 fonts enriched with typographic personality tags (geometric, humanist, neo-grotesque, etc.), contrast levels, and body-suitability ratings. Generates complete typographic rhythm systems.

Data Files

  • data/fonts.csv — 1,923 Google Fonts with: Family, Category, Stroke, Personality, Expressive, Contrast, Width, Styles, Weight_Range, Variable, Variable_Axes, Body_Suitable, Quality_Tier (A/B/C), Popularity_Rank, Mood, Best_For, Keywords, Subsets, Google_Fonts_URL, CSS_Import
  • data/pairings.csv — 73 proven font pairings with contrast type and scale recommendations
  • data/scales.csv — 8 modular type scales with sizes, line-heights, letter-spacing, margins
  • references/typographic-rhythm.md — Scale math, line-height tiers, spacing rules
  • references/pairing-principles.md — Contrast theory, decision trees, superfamilies

Modes

MCP note: If the google-fonts MCP server is connected, prefer its tools — search_fonts, generate_typography_system, lookup_font, list_scales, list_pairings — over the scripts below. The scripts are the fallback for skill-only installs.

Single Font (Strict)

One font for headings AND body. Must have weight range covering 400+700. Body-suitable required.

python3 scripts/search.py "modern clean SaaS" --mode single
python3 scripts/search.py "geometric professional" --mode single --tier A
Font Pair (Contrast)

Two fonts with typographic contrast. Searches proven pairings first.

python3 scripts/search.py "elegant editorial luxury" --mode pair
python3 scripts/search.py "tech startup bold" --mode pair
Lookup & Scale
python3 scripts/search.py "Inter" --mode lookup        # full metadata for a named font
python3 scripts/search.py "marketing bold" --mode scale  # search type scales
Full System Output

Generate CSS + Tailwind + embed link from font selection + scale choice.

# Single font
python3 scripts/generate-css.py --font "Inter" --scale major-third --format all

# Font pair
python3 scripts/generate-css.py --heading "Playfair Display" --body "Inter" \
  --scale perfect-fourth --format all

# Custom weights and base size
python3 scripts/generate-css.py --heading "Space Grotesk" --body "DM Sans" \
  --heading-weights "400;700" --body-weights "300;400;500;700" \
  --scale minor-third --base 16 --format css

Workflow

  1. Understand context — Ask: product type, mood, content density, existing brand
  2. Search fonts — Run search.py with relevant keywords and mode
  3. Present top 3 — Show Family, Personality, Contrast, Quality Tier, Weight Range
  4. Generate system — Run generate-css.py with chosen font(s) and appropriate scale
  5. Deliver — Provide CSS custom properties, Tailwind config, and embed link

Quick Decision Guide

Project TypeModeScaleSuggested Search
SaaS / Dashboardsinglemajor-second"clean professional geometric"
Blog / Contentpairmajor-third"editorial readable"
Marketing / Landingpairperfect-fourth"bold modern confident"
Luxury / Fashionpairaugmented-fourth"elegant premium serif"
Documentationsingleminor-third"readable accessible humanist"
E-commercepairminor-third"clean friendly conversion"
Portfoliopairperfect-fourth"creative distinctive"
Enterprise / Govsinglemajor-second"trustworthy accessible corporate"

Scale Reference

ScaleRatioBest For
minor-second1.067Dense UI, dashboards
major-second1.125Apps, admin panels
minor-third1.2General purpose
major-third1.25Blogs, content
perfect-fourth1.333Marketing, editorial
augmented-fourth1.414Magazines, expressive
perfect-fifth1.5Display-heavy
golden-ratio1.618Hero sections

Pairing Contrast Types

  • Structure: Serif + Sans (safest, most contrast)
  • Proportion: Geometric sans + Humanist sans (subtle, modern)
  • Era: Old-style serif + Neo-grotesque sans (dramatic)
  • Weight: Single font family, different weights (simplest)

Quality Rules

  1. Always use display=swap in Google Fonts embed
  2. Prefer variable fonts (fewer HTTP requests, full weight flexibility)
  3. Never suggest a single-weight font for body text
  4. Verify Weight_Range covers needed weights before suggesting
  5. For body text: only suggest Body_Suitable=="Yes" fonts
  6. Tier A fonts first, then B, then C
  7. Include preconnect hints for fonts.googleapis.com and fonts.gstatic.com
  8. Max 3 font families per project (heading + body + optional mono)
  9. css2 URLs separate weights with semicolons (wght@400;700), ranges with .. ([email protected]); commas are normalized, while malformed axes and dash ranges are rejected

Output Includes

  • CSS custom properties: font families, sizes, line-heights, letter-spacing, measure
  • Tailwind config: fontFamily, fontSize with lineHeight and letterSpacing
  • Google Fonts <link> embed with preconnect
  • Responsive breakpoint guidance

Showcase Gallery

100 pre-made typography systems applied to fictional projects. Browse at showcase/index.html or reference showcase/showcase.json for programmatic access.

When a user says "show me examples", "pick a style for me", or "what would work for a SaaS app", read showcase/showcase.json and filter by project type to suggest a pre-built system.

Regenerating
python3 scripts/generate-showcase.py

For detailed typographic theory, read references/typographic-rhythm.md. For pairing decision trees, read references/pairing-principles.md.

Comments

Markdown supported