Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
agda_loadA

Load and type-check an Agda file. Returns goals, errors, and warnings.

This must be called before other commands. Call again after edits to refresh.

Args: file_path: Absolute path to the .agda file

agda_hoverA

Get type/definition info for a symbol at a position.

Args: file_path: Absolute path to the .agda file line: Line number (1-based) character: Column number (1-based)

agda_definitionB

Go to the definition of a symbol at a position.

Args: file_path: Absolute path to the .agda file line: Line number (1-based) character: Column number (1-based)

agda_inferA

Infer the type of an expression in the context of a loaded file.

Args: file_path: Absolute path to the .agda file (for scope) expr: The expression to type-check (e.g. "add", "suc zero")

agda_computeA

Normalize (evaluate) an expression.

Args: file_path: Absolute path to the .agda file (for scope) expr: The expression to evaluate (e.g. "add 2 3")

agda_case_splitA

Case split on a variable in a goal. Returns the new clauses.

Args: file_path: Absolute path to the .agda file goal_id: The goal/hole number (from agda_load output) variable: The variable name to split on

agda_goal_infoA

Get the type and context of a specific goal/hole.

Args: file_path: Absolute path to the .agda file goal_id: The goal/hole number (from agda_load output)

agda_autoB

Try to automatically solve a goal.

Args: file_path: Absolute path to the .agda file goal_id: The goal/hole number (from agda_load output)

agda_why_in_scopeA

Explain where a name is brought into scope.

Args: file_path: Absolute path to the .agda file name: The name to look up (e.g. "ℕ", "suc", "add")

agda_giveA

Fill a goal/hole with a complete solution.

Agda will check the expression and, if correct, replace the hole in the source file. Call agda_load afterwards to refresh goals.

Args: file_path: Absolute path to the .agda file goal_id: The goal/hole number (from agda_load output) expr: The expression to fill the hole with

agda_elaborate_giveA

Fill a goal/hole with an elaborated solution.

Like agda_give, but returns the fully elaborated (normalized) expression. Call agda_load afterwards to refresh goals.

Args: file_path: Absolute path to the .agda file goal_id: The goal/hole number (from agda_load output) expr: The expression to fill the hole with

agda_refineA

Refine a goal by filling it with an expression that may create new subgoals.

If expr is empty, Agda tries to refine using the goal type. Call agda_load afterwards to refresh goals.

Args: file_path: Absolute path to the .agda file goal_id: The goal/hole number (from agda_load output) expr: Expression to refine with (can be empty)

agda_introA

Introduce a constructor or lambda abstraction in a goal.

Tries to fill the hole with an appropriate constructor or lambda. Call agda_load afterwards to refresh goals.

Args: file_path: Absolute path to the .agda file goal_id: The goal/hole number (from agda_load output)

agda_refine_or_introA

Refine or introduce in a goal (auto-chooses the best action).

Combines refine and intro: tries to refine with the expression if given, otherwise introduces a constructor or lambda. Call agda_load afterwards to refresh goals.

Args: file_path: Absolute path to the .agda file goal_id: The goal/hole number (from agda_load output) expr: Expression to refine with (can be empty for intro)

agda_goal_typeA

Get the type of a specific goal/hole (without context).

Args: file_path: Absolute path to the .agda file goal_id: The goal/hole number (from agda_load output)

agda_contextA

Get the context (available bindings) at a specific goal/hole.

Args: file_path: Absolute path to the .agda file goal_id: The goal/hole number (from agda_load output)

agda_goal_type_context_inferB

Get goal type, context, and the inferred type of an expression.

Args: file_path: Absolute path to the .agda file goal_id: The goal/hole number (from agda_load output) expr: Expression whose type to infer in this goal's context

agda_goal_type_context_checkB

Get goal type, context, and check an expression against the goal type.

Args: file_path: Absolute path to the .agda file goal_id: The goal/hole number (from agda_load output) expr: Expression to check against the goal type

agda_infer_in_goalA

Infer the type of an expression in the context of a specific goal.

Unlike agda_infer which works at top level, this infers within a goal's local context (with access to locally-bound variables).

Args: file_path: Absolute path to the .agda file goal_id: The goal/hole number (from agda_load output) expr: The expression to type-check

agda_compute_in_goalA

Normalize (evaluate) an expression in the context of a specific goal.

Unlike agda_compute which works at top level, this evaluates within a goal's local context.

Args: file_path: Absolute path to the .agda file goal_id: The goal/hole number (from agda_load output) expr: The expression to evaluate

agda_helper_functionA

Generate a helper function type signature for a goal.

The expression should be a partial application like "h x y" where h is the helper name and x, y are arguments. Agda will generate the type signature for h. If empty, uses whatever is in the goal.

Args: file_path: Absolute path to the .agda file goal_id: The goal/hole number (from agda_load output) expr: Partial application (e.g. "helper x y")

agda_why_in_scope_goalA

Explain where a name is brought into scope, in the context of a goal.

Like agda_why_in_scope but with access to the goal's local scope.

Args: file_path: Absolute path to the .agda file goal_id: The goal/hole number (from agda_load output) name: The name to look up

agda_module_contents_goalA

List the contents of a module, in the context of a goal.

Args: file_path: Absolute path to the .agda file goal_id: The goal/hole number (from agda_load output) module_name: The module or record name to inspect

agda_solve_oneA

Solve a single goal if its solution has been determined by unification.

Only works if the goal has been fully instantiated (e.g. by constraints). Call agda_load afterwards to refresh goals.

Args: file_path: Absolute path to the .agda file goal_id: The goal/hole number (from agda_load output)

agda_solve_allA

Solve all goals whose solutions have been determined by unification.

Call agda_load afterwards to refresh goals.

Args: file_path: Absolute path to the .agda file

agda_auto_allA

Try to automatically solve all visible goals.

Call agda_load afterwards to refresh goals.

Args: file_path: Absolute path to the .agda file

agda_constraintsA

Show all current unsolved constraints.

Useful for debugging type errors or understanding what Agda is stuck on.

Args: file_path: Absolute path to the .agda file

agda_metasA

Show all open meta-variables (goals) and their types.

Args: file_path: Absolute path to the .agda file

agda_search_aboutA

Search for definitions whose type mentions the given names.

Useful for finding relevant lemmas, functions, or constructors.

Args: file_path: Absolute path to the .agda file query: Space-separated names to search for in types

agda_module_contentsB

List the top-level names exported by a module.

Args: file_path: Absolute path to the .agda file module_name: The module name to inspect (e.g. "Data.Nat", "Data.List")

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DreamLinuxer/agda-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server