Skip to main content
Glama

Import Google font

system_font_import
Destructive

Import a Google Fonts family into a design system you can edit: the server downloads the latin and latin-ext woff2 files for the weights you ask for (default [400, 700]; multiples of 100 from 100 to 900, at most 9), stores them as assets of the system and adds a fonts entry with source "google" to tokens.json. name is the tokens key (default: the family in lowercase with dashes); importing again under the same name replaces the entry. Rate limited to 5 imports per minute. Returns { id, rev, font, files }.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "id": "<id>",
      "family": "<family>"
    },
    "name": "system_font_import"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYes
nameNo
familyYes
italicNo
weightsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructiveHint=true, and the description reinforces this by explaining exactly what is replaced (the entry is overwritten on re-import), what is written (woff2 assets plus a tokens.json fonts entry), and the rate limit of 5 imports per minute. The return shape { id, rev, font, files } is also disclosed. A 4 rather than 5 because it doesn't say whether overwriting removes previously stored asset files or what auth/scope is needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Information is front-loaded (purpose first, then download behavior, naming, overwrite, rate limit, return shape) and nothing is redundant. It is dense and somewhat run-on, packing six distinct facts into one long sentence, which slightly hurts scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the essential behaviors of a mutating import tool: defaults, constraints, overwrite semantics, rate limits, and return shape. Gaps remain — what id refers to, and the meaning of the italic flag — which matter given zero schema description coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must carry parameter meaning — and it largely does: it defines the weight grid (multiples of 100 from 100 to 900, max 9), the default weights, and explains name as the tokens key defaulting to a lowercased, dash-separated family. However, italic and the required id parameter are never explained, leaving two of five parameters undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — importing a Google Fonts family into a design system as editable assets plus a tokens.json entry. This clearly separates it from siblings like system_install or system_default, which concern systems rather than fonts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete usage context: what the server downloads, that weights default to [400, 700], and that re-importing under the same name replaces the existing entry. It never explicitly says when to prefer this over a sibling tool, but for a font-import operation the calling context is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources