agda-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
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.
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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