gerbil-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GERBIL_HOME | No | Gerbil installation directory (used for module listing). | /opt/gerbil |
| GERBIL_MCP_GXI_PATH | No | Path to the gxi binary. Defaults to 'gxi' in PATH, then '/opt/gerbil/bin/gxi'. | /opt/gerbil/bin/gxi |
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| gerbil_evalC | Evaluate a Gerbil Scheme expression using gxi and return the result. Use the imports parameter to make module bindings available. Example: expression "(json-object->string (hash ("a" 1)))" with imports [":std/text/json"]. |
| gerbil_module_exportsA | List all exported symbols from a Gerbil module. Example: module_path ":std/text/json" returns read-json, write-json, etc. |
| gerbil_check_syntaxA | Check if Gerbil Scheme code is syntactically valid without evaluating it. Uses the Gerbil expander to verify the code can be expanded. |
| gerbil_expand_macroA | Show the macro expansion of a Gerbil Scheme expression. Returns the core-expanded form using syntax->datum. Example: "(when #t (displayln "hi"))" expands to a %#if form. |
| gerbil_aproposA | Search for Gerbil/Gambit symbols matching a pattern string. Uses Gambit ##apropos to find symbols across all namespaces. Example: pattern "hash-get" returns hash-get and related symbols. |
| gerbil_list_std_modulesA | List available Gerbil standard library modules by scanning the installation. Optionally filter by prefix (e.g. "std/text", "std/net", "gerbil"). Returns module paths like :std/text/json, :std/iter, etc. |
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 6 tools
Each tool has a clearly distinct purpose targeting specific aspects of Gerbil Scheme development: searching symbols, syntax checking, evaluation, macro expansion, listing modules, and listing exports. There is no overlap in functionality, making tool selection unambiguous for an agent.
All tools follow a consistent 'gerbil_' prefix with descriptive snake_case names (e.g., gerbil_apropos, gerbil_check_syntax). This predictable pattern enhances readability and usability across the toolset.
With 6 tools, the server is well-scoped for its domain of Gerbil Scheme development support. Each tool serves a unique and essential function, avoiding bloat while covering key operations like code analysis, evaluation, and module exploration.
The toolset provides comprehensive coverage for core development tasks such as code validation, execution, and module management. A minor gap exists in lacking tools for file operations or project management, but the included tools enable effective agent workflows without dead ends.