Skip to main content
Glama
0xFFD

openfoam-mcp

by 0xFFD

read_file

Read-only

Read text files from an OpenFOAM case, such as dictionaries, logs, or scripts, with large value lists elided by default to keep output manageable.

Instructions

Read a text file from a case (dictionaries, logs, scripts). Large value lists are elided by default.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
caseYesCase name in the workspace (e.g. 'pitzDaily') or an absolute path inside an allowed root.
pathYesFile path relative to the case, e.g. 'system/fvSolution' or '0/U'.
max_linesNo
start_lineNo
elide_listsNoReplace large nonuniform value lists with a placeholder.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.3/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 structurally. The description adds one genuinely useful behavioral note ('Large value lists are elided by default'), but says nothing about truncation limits or what happens when a file exceeds max_lines, which matters for an operation whose output can be silently cut.

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

Conciseness5/5

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

Two sentences with zero filler, the core action front-loaded and the elision caveat immediately after. Nothing is repeated from the title or annotations, and no sentence is dispensable.

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

Completeness3/5

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

For a read-only tool whose annotations cover the safety profile and which has no output schema, the description conveys the general return behavior (elided lists) but omits truncation semantics for max_lines/start_line. An agent can call it, but may be surprised by a 400-line cutoff with no warning in the prose.

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 coverage is 60% (case, path, elide_lists documented; max_lines and start_line bare). The description only restates the elision default, which the schema already documents, and adds no meaning for the two undocumented line-window parameters. Baseline 3 is appropriate when the schema carries most of the load.

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?

States a specific verb and resource ('Read a text file from a case') and lists representative file types (dictionaries, logs, scripts), which orients the agent quickly. It does not, however, distinguish itself from overlapping siblings like get_dict and read_log, which appear to read the same kinds of files with more structure.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance. With siblings such as get_dict, read_log, read_postprocessing and list_files in the same namespace, the agent is left to infer whether read_file is the raw-text fallback or a general reader for those specific file classes.

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