Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

Assura contract-first AI-native language tools. Use assura_check to verify contracts, assura_infer to generate contracts from Rust code, assura_ir_prompt to generate Implementation IR prompts, assura_ir_verify to verify IR implementations against contracts (AI verification loop), assura_explain to look up error codes, and assura_type_map to convert Rust types.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
assura_checkA

Parse, type-check, and verify an Assura contract. Returns structured diagnostics and verification results. Provide either source (inline code) or file (path to .assura file).

assura_explainA

Explain an Assura error code. Returns the error name, description, example, and suggested fix.

assura_inferA

Infer skeleton Assura contracts from Rust source code. Provide either source (inline Rust) or file (path to .rs file).

assura_ir_promptB

Render an AI prompt to generate Implementation IR (.ir sidecar) for an Assura contract. Provide source or file, optional decl, and pattern (auto by default).

assura_ir_verifyA

Verify an Implementation IR against an Assura contract using SMT solvers (Z3/CVC5). Returns per-clause verification results with counterexamples and progress tracking. The core tool for the AI verification loop: generate IR, submit for verification, and read feedback. Stop when there is no Counterexample. Unknown is acceptable because some features are not encoded in SMT; do not keep rewriting the IR because a clause is Unknown. Provide contract via source/file and IR via ir/ir_file. When the file has more than one contract, pass decl (same names as assura_ir_prompt) so IR is not checked against the first contract only.

assura_type_mapA

Map a Rust type to the equivalent Assura type (e.g. Vec -> List).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 6 tools

Disambiguation4/5

Each tool targets a distinct stage of the verification workflow: check (contract verification), ir_verify (IR verification), ir_prompt (IR generation prompt), infer (contract inference), type_map (type conversion), and explain (error lookup). The closest pair is assura_check and assura_ir_verify, but the descriptions clearly distinguish whole-contract verification from Implementation IR clause checking.

Naming Consistency4/5

All tools share the assura_ prefix and snake_case, which gives a predictable namespace. The suffixes mix verbs (check, infer, explain) with noun-ish compounds (ir_verify, ir_prompt, type_map), a minor deviation but still readable and grouped by the ir_ family.

Tool Count5/5

Six tools is well-scoped for a contract verification server, with each tool corresponding to a clear step (infer, type map, prompt, verify, check, explain). No tool feels redundant or trivial.

Completeness4/5

The surface covers the full loop: infer a contract from Rust, map types, render an IR prompt, verify IR, check contracts, and explain errors. Minor gaps exist, such as no tool to apply or auto-fix diagnostics or to list/decompose multi-contract files beyond the decl parameter.

Maintenance

ActivityActive
ResponsivenessOutdated data