Skip to main content
Glama
balalaika-ai

narya-mcp

Official
by balalaika-ai

Narya Split

narya_split

Preview a proof hole's solution shape without committing it: split on the goal type or, given datatype terms, into one branch per constructor.

Instructions

Ask Narya for the shape of a solution of a hole without committing it. Without term: split on the goal type (abstraction for a function type, tuple for a record, comatch for codata, constructor for a one-constructor datatype). With term (or comma-separated terms) of a datatype: a match with one branch per constructor.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
holeYes
termNo
timeoutNo
session_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose the key trait that the operation is exploratory and non-committing ('without committing it'), which is valuable, but it says nothing about session requirements, side effects on the proof state, timeout behavior, or failure modes.

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?

Two sentences, front-loaded with the core purpose followed by the mode-specific behaviors. Tight and readable, with no filler, though it is dense with domain jargon that a non-Narya agent may find opaque.

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

Completeness3/5

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

An output schema exists, so return values need not be described. However, with 0% schema coverage and no annotations, the definition omits the meaning of session_id and hole, any state/permission implications, and error behavior for an interactive proof tool.

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

Parameters2/5

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

Schema description coverage is 0% across 4 parameters. The description thoroughly explains `term` (single or comma-separated, datatype branching), but leaves `hole`, `session_id`, and `timeout` completely undocumented, so most parameters still have no semantics anywhere.

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

Purpose4/5

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

The description states a specific verb and object ('ask Narya for the shape of a solution of a hole without committing it') and spells out the two operating modes. It is clear, but it never names or contrasts a sibling such as narya_solve or narya_try, so the agent must infer which of the many narya_* tools to pick.

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?

It explains the two mode triggers ('Without term' vs 'With term'), which is useful context for parameter choice, but it gives no guidance on when to choose this tool over narya_solve, narya_try, or narya_synth. Usage is implied through the mode description rather than stated.

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