Skip to main content
Glama
nmassi

glyphs-mcp

by nmassi

set_glyph_paths

Replace all paths on a glyph layer in GlyphsApp, overwriting old outlines. Provide new path nodes with coordinates, types, and closed flags for exact geometry.

Instructions

Replace ALL paths on a glyph's layer in GlyphsApp.

This OVERWRITES existing paths. The glyph must already exist.

Each path is: {"closed": true, "nodes": [{"x": 100, "y": 0, "type": "line", "smooth": false}, ...]}

Node types:

  • "line": on-curve point with straight connection to previous

  • "curve": on-curve point with smooth cubic bezier connection

  • "offcurve": cubic bezier control handle (always in pairs before a "curve")

  • Curve segments: offcurve, offcurve, curve (3 nodes per segment)

Path direction: outer contours counter-clockwise, counters/holes clockwise. correctPathDirection() is called automatically after setting paths.

If master_id is empty, uses the first master.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathsYes
master_idNo
glyph_nameYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.4/5.0
Behavior4/5

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

Since no annotations are provided, the description carries the full burden. It clearly discloses the destructive nature ('This OVERWRITES existing paths'), the automatic call to correctPathDirection(), and the prerequisite that the glyph must exist. It does not cover error handling or reversibility, but the core side effects are transparent, warranting a 4.

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?

The description is fairly long but every sentence adds essential information: the main action, overwrite warning, path structure, node types, direction, and master_id behavior. It is front-loaded with the key statement and organized logically. Not overly verbose for the complexity involved, so a 4.

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?

The description covers prerequisites (glyph existence), the data structure, node semantics, and the master_id default. It lacks explicit mention of return values or error behavior, but for a setter that might be acceptable. The complexity is high, and the description addresses most key aspects, but a note on validation or failure modes would make it complete.

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

Parameters5/5

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

Schema coverage is 0%, so the description must compensate. It thoroughly explains the 'paths' parameter structure, including the closed flag, nodes array, and each node's x/y/type/smooth fields. It also details node types (line, curve, offcurve) and path direction rules. This goes well beyond the schema, which only has a generic array type, making it a 5.

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 a specific action: 'Replace ALL paths on a glyph's layer in GlyphsApp.' It identifies the resource (glyph) and the operation (replacing paths), and it distinguishes itself from sibling tools like set_glyph_width or set_glyph_color because it's the only one dealing with path geometry.

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?

The description provides clear context: the glyph must already exist, and it explains the master_id behavior. However, it does not explicitly mention when to use this tool versus alternatives or when not to use it, though no direct alternative exists among siblings. The prerequisite and default behavior give enough usage guidance for a 4.

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