fontsource-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FONTSOURCE_DOWNLOAD_DIR | No | Directory where download_font writes files when the 'dest' parameter is not provided. Defaults to './fonts' relative to the server's working directory. | ./fonts |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_fontsA | Search the Fontsource catalog of 2000+ open-source fonts. The fuzzy query matches id and family (exact, then prefix, then substring, then all words). Filters are AND. Rows are compact and carry the id every other tool needs. Filters without a query browse a category. |
| get_fontA | Metadata for one font: subsets, weights, styles, variable axes, unicode ranges, license, npm package names, CSS font-family names, fontsource.org page, zip URL, and CDN URL templates for every file. Call it before get_font_css or download_font to learn which subsets and weights exist. |
| get_font_cssA | Font embedding snippets: CDN tags, @import lines, npm install and import lines, the font-family rule, and the @font-face CSS text with absolute URLs, safe to inline. Defaults to weight 400 normal. Each extra weight and style combination adds about 1.5KB of CSS. Set variable:true for the variable package; the font-family then becomes " Variable". |
| download_fontA | Download font files to disk under //. Default dest is $FONTSOURCE_DOWNLOAD_DIR, else ./fonts (currently /app/fonts). Static mode filters subsets, weights, styles, and format. variable:true fetches --.woff2 variable files and ignores weights and format. zip:true saves the official all-files zip without extracting it. Returns saved names and bytes. |
| index_fontsA | Catalog facets: counts per category, subset, license, type, and variable or static. With outFile it also writes the full 2000+ font catalog JSON (id, family, subsets, weights, styles, category, license, type, variable) to that path so you can grep or jq it locally instead of paginating search_fonts. |
| get_axis_registryA | Variable-font axis registry: name, description, min, max, and default for every axis tag (wght, wdth, opsz, slnt, ital, GRAD, and the rest). Pass a tag for one entry. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool targets a clearly distinct part of the workflow: search_fonts finds fonts, get_font provides metadata, get_font_css generates CSS, download_font downloads files, index_fonts provides catalog-level facets/dumps, and get_axis_registry covers variable-axis definitions. Even the catalog-level pair search_fonts/index_fonts is separated by search results versus facet counts and full dumps.
All tools follow a consistent verb_object snake_case convention: search_fonts, get_font, get_font_css, download_font, index_fonts, get_axis_registry. The pluralization varies only where semantically appropriate, and there is no mixing of styles or vague generic verbs.
Six tools is well-scoped for a font catalog server: search, metadata, CSS generation, file download, catalog indexing, and axis registry each cover a distinct need. No tool feels redundant or missing from the core surface.
The tool set covers the full read-only font catalog workflow: discovering fonts, inspecting available subsets/weights/styles, generating embeddable CSS, downloading files, exporting the full catalog, and understanding variable-font axes. There are no obvious dead ends; get_font informs get_font_css and download_font, and index_fonts handles bulk catalog access.