Skip to main content
Glama
0xFFD

openfoam-mcp

by 0xFFD

case_summary

Read-only

Summarize an OpenFOAM case in one call: solver, run control, mesh, patches, initial/boundary conditions, physics, numerics, and results.

Instructions

One-call overview of a case: solver, run control, mesh & patches, initial/boundary conditions, physics, numerics, results.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
caseYesCase name in the workspace (e.g. 'pitzDaily') or an absolute path inside an allowed root.
include_fieldsNoInclude initial/boundary conditions of every field.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds the meaningful behavioral signal that this is a broad aggregation returning many sections at once (implying a large payload), but says nothing about cost, output size, or failure behavior for a non-existent case. Adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with a colon-delimited list of contents; zero filler. It is compact and scannable, though the list style is terse enough that a slightly expanded clause on scope would still earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, but the description effectively enumerates the return contents, and the annotations carry the safety profile, so an agent knows what calling this yields and that it is a safe read. Only minor gaps remain: behavior for missing/invalid cases and any sense of output volume.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (case and include_fields) are already fully documented in the schema, including the default and what include_fields adds. The description's mention of 'initial/boundary conditions' loosely corresponds to include_fields but adds no format, path, or scoping detail beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('overview') and resource ('a case'), and enumerates the concrete sections returned (solver, run control, mesh & patches, conditions, physics, numerics, results). An agent can tell this apart from get_dict/read_file because it is an aggregated, single-call snapshot. The only weakness is that the distinction from siblings is implied by 'one-call' rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'One-call overview' implies the usage context: use this instead of making many separate section reads. However, there is no explicit when-to-use/when-not, no named alternative (e.g. get_dict for a single entry), and no statement of prerequisites such as the case existing in the workspace. Usage must be inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.