Skip to main content
Glama

Read a board file

read_file
Read-onlyIdempotent

Use when the user wants the raw contents of a specific file in a public board (a README, config, or a .kicad_sch/.kicad_pcb), by an exact path from list_board_files or one the user gave. Text returns a 128 KiB UTF-8 chunk (pass the returned nextOffset for more); binary returns a download URL, not bytes, so do not claim to have read a binary's contents. Do not guess paths. Prefer read_schematic for schematic wiring and read_pcb for copper vias/pads/tracks over parsing raw .kicad_sch/.kicad_pcb.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYesThe exact file path within the board, as returned by list_board_files. Do not guess.
boardYesA board: handle/slug or a boardrepo.com URL. Use search_boards for public boards or list_my_boards for personal and authorised organisation boards. Do not invent references.
offsetNoByte offset to start a text file from (default 0); pass the returned nextOffset to continue.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / board / description
      Previous value: -"A public board: handle/slug (e.g. alice/keezyboost40) or a boardrepo.com URL. Discover it with search_boards; do not invent one."New value: +"A board: handle/slug or a boardrepo.com URL. Use search_boards for public boards or list_my_boards for personal and authorised organisation boards. Do not invent references."
  2. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint, idempotentHint, etc.), the description discloses concrete behavior: text files return a 128 KiB UTF-8 chunk with pagination via nextOffset, binary files return a download URL rather than bytes, and agents should not claim to have read binary contents. This adds valuable context not present in the schema or annotations.

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?

The description is three sentences with zero redundancy. It front-loads the purpose, then covers usage, output behavior, and alternatives efficiently. Every sentence earns its place, making it easy for an agent to parse quickly.

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

Completeness5/5

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

For a tool with 3 parameters and no output schema, the description is remarkably complete. It explains output formats (text vs binary), pagination, path constraints, and alternatives. An agent has all the information needed to correctly invoke the tool and interpret results.

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

Parameters4/5

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

Schema coverage is 100% for all three parameters, so the baseline is 3. The description adds meaningful clarification on the offset parameter by explaining its role in continuing pagination with nextOffset, and reinforces the 'do not guess' guidance for paths. This justifies a slight bump above baseline.

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

Purpose5/5

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

The description clearly states the tool reads raw file contents from a public board, names the file types (README, config, .kicad_sch/.kicad_pcb), and differentiates itself from read_schematic and read_pcb by explicitly listing when to prefer those alternatives. This gives an agent a precise understanding of the tool's function.

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

Usage Guidelines5/5

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

The description explicitly says when to use this tool (raw contents of a specific file by exact path) and when not to (prefer read_schematic for wiring, read_pcb for copper/vias/tracks). It also warns against guessing paths, providing clear conditional logic for tool selection.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.