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 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| gerbil_eval | 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_exports | List all exported symbols from a Gerbil module. Example: module_path ":std/text/json" returns read-json, write-json, etc. |
| gerbil_check_syntax | Check if Gerbil Scheme code is syntactically valid without evaluating it. Uses the Gerbil expander to verify the code can be expanded. |
| gerbil_expand_macro | 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_apropos | 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_modules | 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 | |