hicar-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HICAR_REPO | No | Absolute path to a HICAR checkout for source-aware tools and fresh metadata. | |
| HICAR_BINARY | No | Path to a compiled HICAR binary for binary-based validation. | |
| OPENAI_API_KEY | No | API key for OpenAI to enable higher-quality semantic search. | |
| VOYAGE_API_KEY | No | API key for VoyageAI to enable higher-quality semantic search. |
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 |
|---|---|
| list_namelist_groupsA | List HICAR namelist groups (&blocks) with option counts. |
| list_namelist_optionsC | List namelist options, optionally filtered to one group. |
| get_namelist_optionB | Full metadata for one namelist option: group, &block, type, default, allowed values, range, units and description. |
| search_namelist_optionsB | Search namelist options by name/description (substring). |
| validate_namelistA | Validate a namelist string. Static checks always run (unknown groups/options, bad enum values, out-of-range, type/per-nest issues). If use_binary and a compiled HICAR is available, also run --check-nml. |
| generate_namelist_toolB | Generate a namelist ('full' or 'minimal') with optional physics scheme selections. With use_binary, delegate to HICAR --gen-nml instead. |
| explain_namelistA | Parse a namelist and annotate every option with its description, type, default and allowed values; flag any validation issues. |
| list_physics_categoriesA | List physics-scheme categories (microphysics, pbl, radiation, ...). |
| get_physics_schemesA | List selectable schemes for a category (or selector like 'mp'), with codes, originating constants, and supported status. |
| resolve_physics_schemeC | Resolve a scheme name or integer code within a category. |
| list_model_variablesB | List kVARS model/output variables (optionally substring-filtered). |
| get_model_variableA | Full metadata for a model variable (by netCDF name or kVARS member). |
| search_model_variablesA | Search model variables by name/standard_name/description. |
| list_example_namelistsB | List bundled example namelists. |
| get_example_namelistC | Return the contents of an example namelist. |
| search_example_namelistsC | Search example namelists for a substring. |
| list_docsA | List HICAR documentation pages. |
| get_docC | Return a documentation page by file name or title. |
| search_docsC | Search the documentation (substring, with doc + line refs). |
| code_searchA | Lexical search over HICAR source (.F90) and docs. Requires HICAR_REPO (live mode) for source; bundled mode searches docs only. |
| find_symbolB | Find Fortran symbols (module/subroutine/function/type) by name. Requires HICAR_REPO (live mode). |
| read_sourceA | Read HICAR source by file path (repo-rooted, line range) or by symbol name. Requires HICAR_REPO (live mode). |
| semantic_searchC | Natural-language semantic search over HICAR code + docs. Falls back to lexical search if the embedding model isn't available. |
| server_statusA | Report server mode, discovered paths, artifact/HICAR version, and which optional features (binary, ripgrep, semantic) are active. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| configure_hicar_run | Guided prompt to build a HICAR namelist for a described use case. |
| debug_namelist_error | Guided prompt to diagnose a HICAR namelist/runtime error. |
| explain_physics_choice | Compare the available schemes in a physics category. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| schema_resource | |
| variables_resource |
TDQS
Scored across 24 tools
Each tool targets a distinct resource or action, with clear descriptions. The multiple search tools (code_search, search_docs, etc.) could be confused, but their descriptions specify different domains (source code vs. docs vs. model variables), reducing ambiguity.
Tool names follow a verb_noun pattern, but there is inconsistency between 'get_' and 'list_' for related resources (e.g., get_model_variable vs. list_model_variables) and some names include 'tool' (generate_namelist_tool) or are noun_noun (server_status). Still, the pattern is mostly predictable.
With 24 tools, the count is on the high side of reasonable, but it is justified by the complexity of the HICAR model domain, covering code, namelist, variables, physics, and documentation aspects without being excessive.
The tool set provides comprehensive coverage for namelist generation, validation, variable metadata, physics scheme resolution, documentation, and source code access. Minor gaps exist (e.g., no tool to modify source or run the model), but these are likely out of scope.