Skip to main content
Glama
nmassi

glyphs-mcp

by nmassi

get_glyph

Retrieve a glyph's complete data—all layers, paths with node coordinates, components, anchors, width, sidebearings—for precise type design analysis.

Instructions

Get complete data for a specific glyph including all paths and metrics.

Returns all layers with: paths (nodes with x,y coordinates, type, smooth), components, anchors, width, sidebearings.

Node types: "line" (straight on-curve), "curve" (smooth on-curve), "offcurve" (cubic bezier control point). Path direction: -1 = counter-clockwise (outer contours), 1 = clockwise (inner contours/counters).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
glyph_nameYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description must carry the full behavioral disclosure. It does so by detailing the return structure: layers, paths, components, anchors, width, sidebearings, and explains node types and path direction encoding. This goes beyond the schema, which has no such details, and helps agents interpret the response.

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?

The description is well-structured, with a clear opening sentence, then a bulleted list of return details, and a separate section on node types and path direction. It is informative without excessive verbosity, and each section serves a purpose.

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?

Given the tool's moderate complexity, the description covers the key return data and educational notes on path encoding. However, it doesn't mention error handling (e.g., what happens if glyph_name is invalid) or whether the tool is read-only (though it's a 'get' tool, it could be inferred). With no output schema, this is a minor gap.

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?

The schema has only one parameter, glyph_name, and the description doesn't add much beyond that. It doesn't specify how to format the glyph name or what happens if it doesn't exist. With 0% schema coverage, the description could compensate, but it largely implies the name is a string. The baseline is 4 for 0 params, but here there is a param, so a 3 is fair.

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?

The description clearly states the tool's purpose: to get complete data for a specific glyph, including paths and metrics. It names the resource (glyph) and the action (get complete data), distinguishing it from siblings like get_glyph_svg or get_font_info. The detail about paths and metrics makes it unambiguous.

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

Usage Guidelines3/5

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

The description implies when to use this tool (when you need full glyph data, not just SVG or basic info), but it does not explicitly name alternatives or state when not to use it. For instance, it could mention that for SVG output, use get_glyph_svg, but it doesn't. It provides no exclusions or contextual routing to other tools.

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