Skip to main content
Glama

Get font

get_font
Read-onlyIdempotent

Resolve one font by family name or origin URL from get_fonts. Returns family plus origin download URLs. Original bytes are stored in the capture; read resources[].path with get_capture_asset.

Input Schema

NameRequiredDescriptionDefault
pathYesFont family, original HTTP(S) URL, or font archive path from get_fonts. The value must identify a captured font.
productYesProduct key, for example finance-ozon-ru
versionYesExact capture version returned by list_versions. Pin the same version across related calls; do not use latest as an alias.
platformYesPlatform type ID from list_platforms.options.platforms[].id (backend CatalogPlatform.view). Use backend IDs verbatim; desktop/mobile are current examples. Environment is selected separately.
environmentNoEnvironment ID from the selected backend platform type in list_platforms.options.platforms[].environments[].id (backend implementation). Omit only when the version has one captured environment. Use captured pairs from list_platforms/list_versions for actual availability.

Output Schema

NameRequiredDescriptionDefault
resultYesOriginal URLs and archive references for a captured font

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • changedOutput schema / $defs / storedResource / description
      Previous value: -"Stored resource serialized from the archive model"New value: +"Archived resource with canonical camelCase fields and legacy archive-model aliases"
    • addedOutput schema / $defs / storedResource / properties / contentType
      Added value: +{
      +  "description": "ContentType",
      +  "type": "string"
      +}
    • addedOutput schema / $defs / storedResource / properties / hash
      Added value: +{
      +  "description": "Hash",
      +  "type": "string"
      +}
    • addedOutput schema / $defs / storedResource / properties / path
      Added value: +{
      +  "description": "Path",
      +  "type": "string"
      +}
    • addedOutput schema / $defs / storedResource / properties / sha256
      Added value: +{
      +  "description": "Sha256",
      +  "type": "string"
      +}
    • addedOutput schema / $defs / storedResource / properties / sizeBytes
      Added value: +{
      +  "description": "Count or zero-based index",
      +  "type": "integer"
      +}
    • addedOutput schema / $defs / storedResource / properties / source
      Added value: +{
      +  "description": "Source",
      +  "type": "string"
      +}
    • changedOutput schema / $defs / storedResource / required
      Previous value: -[
      -  "Hash",
      -  "Source",
      -  "Path",
      -  "ContentType",
      -  "Sha256",
      -  "SizeBytes"
      -]New value: +[
      +  "hash",
      +  "source",
      +  "path",
      +  "contentType",
      +  "sha256",
      +  "sizeBytes"
      +]
  2. Changed3 schema fields changed
    • addedInput schema / properties / path / description
      Added value: +"Font family, original HTTP(S) URL, or font archive path from get_fonts. The value must identify a captured font."
    • addedInput schema / properties / version / description
      Added value: +"Exact capture version returned by list_versions. Pin the same version across related calls; do not use latest as an alias."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$defs": {
      +    "storedResource": {
      +      "additionalProperties": true,
      +      "description": "Stored resource serialized from the archive model",
      +      "properties": {
      +        "ContentType": {
      +          "description": "ContentType",
      +          "type": "string"
      +        },
      +        "Hash": {
      +          "description": "Hash",
      +          "type": "string"
      +        },
      +        "Path": {
      +          "description": "Path",
      +          "type": "string"
      +        },
      +        "Sha256": {
      +          "description": "Sha256",
      +          "type": "string"
      +        },
      +        "SizeBytes": {
      +          "description": "Count or zero-based index",
      +          "type": "integer"
      +        },
      +        "Source": {
      +          "description": "Source",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "Hash",
      +        "Source",
      +        "Path",
      +        "ContentType",
      +        "Sha256",
      +        "SizeBytes"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": false,
      +  "description": "Structured result. Existing text or image content remains available in content.",
      +  "properties": {
      +    "result": {
      +      "additionalProperties": true,
      +      "description": "Original URLs and archive references for a captured font",
      +      "properties": {
      +        "environment": {
      +          "description": "environment",
      +          "type": "string"
      +        },
      +        "family": {
      +          "description": "Text value",
      +          "type": "string"
      +        },
      +        "origins": {
      +          "description": "Result entries",
      +          "items": {
      +            "description": "Text value",
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "platform": {
      +          "description": "platform",
      +          "type": "string"
      +        },
      +        "product": {
      +          "description": "product",
      +          "type": "string"
      +        },
      +        "resources": {
      +          "description": "Result entries",
      +          "items": {
      +            "$ref": "#/$defs/storedResource"
      +          },
      +          "type": "array"
      +        },
      +        "sourceHint": {
      +          "description": "Text value",
      +          "type": "string"
      +        },
      +        "version": {
      +          "description": "version",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "product",
      +        "platform",
      +        "environment",
      +        "version",
      +        "family",
      +        "origins",
      +        "resources",
      +        "sourceHint"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "result"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds valuable behavioral context: original bytes are stored in the capture and must be read via resources[].path with get_capture_asset – a non-obvious workflow detail beyond the annotations.

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

Conciseness5/5

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

Three tight sentences, front-loaded with the core action and return value, followed by the essential follow-up step. No wasted text.

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?

With annotations covering safety, a full output schema, and 100% parameter coverage, the description supplies the key missing piece – how to fetch actual bytes via get_capture_asset. Complete enough for correct invocation.

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

Parameters3/5

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

Schema coverage is 100% and the path parameter is fully documented, including that it accepts a family name, original URL, or archive path. The description reinforces the family-name/URL resolution but adds little beyond the schema, so baseline 3 is appropriate.

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 (resolve) and resource (one font) and explicitly names its scope source, get_fonts, distinguishing singular lookup from the sibling listing tool. The return contents (family plus origin download URLs) are named, so an agent knows what it gets.

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?

Clearly routes the agent: use this to resolve a single font from get_fonts, and use get_capture_asset to read the original bytes. It lacks an explicit 'when-not' beyond that handoff, but the context is clear.

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