Skip to main content
Glama
birkskyum
by birkskyum

Describe style spec

describe_style_spec
Read-only

Verify MapLibre style properties before use to avoid unsupported features. Look up layer types, sources, expressions, and get documentation, defaults, allowed values, and version support.

Instructions

Looks up a name in the MapLibre Style Specification: a layer type (like "fill"), a layer or root property (like "fill-extrusion-height" or "sky"), a source type (like "geojson") or an expression operator (like "interpolate"). Returns its documentation, type, default, allowed values, expression support and which MapLibre GL JS and MapLibre Native versions support it. Check here before using a property you are not sure exists in MapLibre, since Mapbox GL JS has properties that MapLibre does not.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesThe name to look up.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true, and the description aligns with that by describing a lookup operation with no side effects. Beyond the annotation, it discloses what the tool returns (documentation, type, default, allowed values, expression support, version support) and the Mapbox/MapLibre nuance, which gives the agent a fuller picture of behavior without contradicting the provided metadata.

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 three sentences with no filler. It front-loads the core purpose, then quickly enumerates the accepted name categories with examples, and closes with a practical usage tip. Every sentence contributes value: purpose, scope of inputs, and the Mapbox caveat. This is well-structured and appropriately sized for a simple lookup tool.

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

Completeness5/5

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

For a one-parameter lookup tool with no output schema, the description is complete. It covers what kinds of names are accepted, what information is returned, and includes the key caution about MapLibre vs Mapbox. Given the tool's simplicity and the annotations providing the read-only safety profile, nothing essential for an agent to call it correctly is missing.

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 100% and the parameter 'name' already has a description ('The name to look up.'). The description adds meaningful context by listing concrete examples of valid values (e.g., 'fill', 'fill-extrusion-height', 'geojson', 'interpolate') and clarifying that these encompass layer types, properties, source types, and expression operators. This goes beyond the schema's generic description and helps the agent format the argument correctly.

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 action ('looks up a name') and the specific resource ('MapLibre Style Specification'), enumerating the exact types of names it handles (layer types, properties, source types, expression operators). It also distinguishes itself from sibling tools by noting it returns documentation and version support, and explicitly contrasts MapLibre with Mapbox, which signals its unique scope among the listed siblings.

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 gives a clear usage directive: 'Check here before using a property you are not sure exists in MapLibre' and explains the reasoning (Mapbox has properties MapLibre does not). This tells the agent when to invoke it. It doesn't explicitly name alternatives to avoid, but given the tool's niche nature and the specific trigger, the guidance is sufficient for correct selection.

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