narya-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NARYA_BIN | No | Path to the Narya binary. Without configuration the server runs NARYA_BIN (or narya on PATH) in the directory of the file. | |
| NARYA_MCP_LOG | No | Set to 0 to disable telemetry. | |
| NARYA_MCP_JAIL | No | Refuses files outside the given directory. | |
| NARYA_MCP_TOOLS | No | Tools offered (used in end-to-end benchmark arms). | |
| NARYA_MCP_CONFIG | No | TOML files listed (separated by ':') whose root contains the file. | |
| NARYA_MCP_LOG_DIR | No | Directory for telemetry logs. Default ~/.local/state/narya-mcp. | |
| NARYA_MCP_TRUSTED | No | Directory listed in NARYA_MCP_TRUSTED where trusted files are allowed to use narya, launcher and [env] from config. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| narya_check_fileA | Typecheck a .ny file with a fresh Narya run (the authoritative check; slow: every import is loaded again). Use it for the final verdict. While iterating on a file, keep a session instead: narya_start once, then edit the file and call narya_sync, which rechecks only the commands that changed. Returns ok (Narya accepted the file), clean (ok, with no assumed axioms and no open holes), errors with file/line/column, warnings, axioms assumed, holes, timing. Narya stops at the first error in a file. source_only=True ignores compiled .nyo files and rechecks every import from source (slow; for final checks). If loading compiled imports triggers a Narya anomaly, the file is rechecked from source automatically. |
| narya_checkA | Typecheck a snippet of Narya commands (defs, echo, synth, ...). With |
| narya_auditB | Audit a file for unsound shortcuts: explicit |
| narya_tocA | Outline of a .ny file: its commands (def/axiom/notation/import/...) with names and line ranges, and which definitions contain holes. Static; does not run Narya. |
| narya_searchA | Find declarations (lemmas, definitions, types) by name, words or meaning; Narya itself has no search command.
|
| narya_lookupB | The full source of a declaration by exact name, with its location, comment and annotations (all files that define the name). |
| narya_startA | Start an interactive session (a live Narya process) and return its session_id and open holes. With |
| narya_syncA | Re-read the session's file after edits: retract the commands from the first changed one on (Narya |
| narya_holesB | List the open holes of a session: number, position in the file (when known), context and type. |
| narya_execA | Run Narya commands in a session (def, axiom, echo, synth, notation, import, show, undo, ...), one after the other, stopping at the first failure. Returns each command's output, messages and new holes. Definitions made here are not in the file; narya_sync retracting past them undoes them too. |
| narya_solveA | Fill hole |
| narya_splitB | Ask Narya for the shape of a solution of a hole without committing it. Without |
| narya_tryA | Check up to 20 candidate terms against a hole's type, in its context, without solving it. Returns which candidates typecheck (with error messages for the others) and the first success. Commit with narya_solve. |
| narya_synthA | Synthesize the type of |
| narya_closeC | Close a session and stop its Narya process. |
| narya_sessionsA | List live sessions (file, how far it is loaded, idle time, whether the file changed since). |
| narya_healthB | Toolchain check: which project configuration applies (to |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Most tools target distinct operations (file check vs snippet check vs session exec; search vs lookup; audit vs holes), so misselection risk is low. However, narya_health slightly overlaps narya_sessions by listing sessions, and the hole-oriented tools narya_try/synth/split, while differentiated in the descriptions, are close enough to warrant care.
All tools follow the same narya_ snake_case prefix with predictable verb/noun forms. There is no mixed casing or inconsistent verb style across the set.
17 tools is slightly above the typical 3-15 range, but each maps to a distinct Narya workflow such as sessions, holes, checking, search, and audit. The set is coherent and not redundant, though it is somewhat heavy.
The surface covers the full interactive proof lifecycle: start/sync/exec/close sessions, check/audit/outline files, list/try/solve/split holes, and search/lookup declarations. No critical operation appears missing for the stated purpose.