Skip to main content
Glama
saidsef

GitHub PR Issue Analyser

by saidsef

Github Get Job Log

github_get_job_log
Read-only

Fetch the tail of a GitHub Actions job log to find why a job failed, since failures report last. Cap the returned bytes or check the log size without downloading it.

Instructions

Fetches the end of a GitHub Actions job's log, capped at max_bytes. A job reports its failure last, so a cut keeps the tail. GitHub redirects to a storage host for one minute, and the download goes there without the token. See #500.

Workflow and conventions: github_get_skill('pr-analysis').

Input Schema

NameRequiredDescriptionDefault
job_idYesThe id of a GitHub Actions check run from github_get_pr_status_checks
max_bytesNoCap on the log returned, kept from the end. Pass 0 to learn the size without reading the log
repo_nameYes
repo_ownerYes

Output Schema

NameRequiredDescriptionDefault
logYes
job_idYes
truncatedYes
bytes_totalYes
bytes_returnedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv54.0.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, non-destructive), and the description adds genuinely useful behavioral context: the tail-preserving cap and the one-minute redirect to a storage host where the download proceeds without the token. That auth nuance is not derivable from annotations or schema.

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?

Three sentences, front-loaded with purpose and cap behavior; each earns its place except the cryptic 'See #500' reference which adds little for an agent without issue context.

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?

An output schema exists, so return values need not be described, and annotations carry the safety profile. The description covers the cap/tail behavior and the redirect/auth nuance, leaving only the undocumented repo_owner/repo_name fields as a minor 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 50%: job_id and max_bytes are documented in the schema, and the description restates the max_bytes tail-cap behavior rather than adding new meaning. repo_owner and repo_name are undocumented in both schema and description, so compensation is incomplete.

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?

States a specific verb (fetches) and resource (GitHub Actions job's log) with a clear scope constraint (capped at max_bytes, keeps the tail). It is easily distinguishable from siblings like github_rerun_job or github_get_pr_status_checks.

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?

Usage is only implied via the rationale that 'a job reports its failure last, so a cut keeps the tail', which hints at failure debugging. The schema ties job_id to github_get_pr_status_checks and the description points to github_get_skill('pr-analysis'), but there is no explicit when/when-not guidance or named alternative for fetching logs.

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