health_check
Server health, version, and capabilities (tools, templates, period labels, max horizon). No parameters.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Server health, version, and capabilities (tools, templates, period labels, max horizon). No parameters.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden of behavioral disclosure. It lists the returned information but does not explicitly state that this is a read-only, side-effect-free operation, nor does it mention any potential issues (e.g., authentication requirements, rate limits). The term 'health_check' implies safety, but explicit disclosure is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the core purpose and lists key outputs. Every word contributes meaning, with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter health check with no output schema, the description covers the main returned items (health, version, capabilities). It could mention the response structure or format, but for this complexity the description is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the baseline is 4. The description confirms 'No parameters,' aligning with the empty schema. It adds no further semantic value about parameters because none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides server health, version, and capabilities (tools, templates, period labels, max horizon). This distinguishes it from sibling tools focused on scenario analysis like run_scenario and sensitivity_analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives is provided. The purpose is implied by the name and description, but there is no direct statement of when a health check is needed or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Each tool targets a distinct operation: health_check for status, list_templates for discovery, run_scenario for single simulations, compare_scenarios for multi-scenario comparison, sensitivity_analysis for input sweeping, and break_even for root-finding. There is no meaningful overlap or ambiguity between tool purposes.
All tool names follow a clear snake_case pattern, with most using verb_noun construction (run_scenario, list_templates, compare_scenarios). Even though health_check and break_even are compound nouns, they are consistent in style and clearly action-oriented.
Six tools is well within the ideal range and each tool fills a necessary role for scenario simulation. The set covers running, comparing, sensitivity analysis, break-even solving, discovery, and system health without being bloated or sparse.
The tool surface covers the full lifecycle of scenario analysis: discover templates, run a scenario, compare multiple, vary inputs, and solve for targets. Custom scenarios are also supported via run_scenario, so there are no critical gaps in the domain.