Skip to main content
Glama

Faceabot Web page reader

Read a file from a public GitHub repository

read_github_file
Read-onlyIdempotent

Returns a file from a public GitHub repository (default: its README). Use when: you need a project's README, documentation or source file. Example: {"repo":"cloudflare/workers-sdk","path":"README.md"}

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
refNoBranch, tag or commit. Default: the default branch
pathNoFile path. Default: the README
repoYesowner/name, e.g. cloudflare/workers-sdk
startNo
max_charsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description usefully adds that the repo must be 'public' (no private/auth path) and that README is the default target. It says nothing about rate limits, truncation via max_chars, or behavior when the file/repo does not exist.

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?

Three short lines: the operation, the when-to-use trigger, and a literal invocation example. Front-loaded and free of filler, and the example directly aids correct calling.

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 five-parameter read tool with no output schema, the description leaves important behavior unspecified: what the return value looks like, whether long files are truncated and how max_chars/start interact, and error behavior for missing repos or paths. Annotations cover the safety aspects, so what remains is a moderate but real gap.

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%: ref, path and repo are documented in the schema, while start and max_chars carry only constraints and defaults. The description restates the path default and supplies a concrete example, but does not explain the windowing/truncation semantics of start and max_chars, so it only partially compensates for the gap.

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 ('Returns a file from a public GitHub repository') and adds the default-readme behavior, so the purpose is unambiguous. It never names the sibling read_web_page or contrasts the two, so an agent gets no help distinguishing them from the description alone.

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

Usage Guidelines4/5

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

The 'Use when: you need a project's README, documentation or source file' line gives a clear triggering context. There are no exclusions or named alternatives (e.g., when to prefer read_web_page for non-GitHub URLs), which keeps it below a 5.

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.

Resources