Skip to main content
Glama
github-fetcher

github-fetcher

by KurvCygnus

GitHub issue

github_issue
Read-onlyIdempotent

Read a GitHub issue or pull request with labels, assignees, and optional comments; set comment limit and truncate long bodies.

Instructions

Read one issue, or pull request, with labels and assignees. Set include_comments=true to fetch the latest comments in chronological order; comment_limit caps how many (default 20) and max_comment_chars truncates each body.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "repo": "<repo>",
      "number": "<number>"
    },
    "name": "github_issue"
  }
}

Input Schema

NameRequiredDescriptionDefault
repoYesRepository in owner/name form
freshNoBypass the local cache
numberYesIssue or pull request number
comment_limitNoNumber of latest comments to include, default 20
include_commentsNoInclude the latest comments
max_comment_charsNoTruncate each comment body to this many characters

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.2.0
    • addedInput schema / properties / comment_limit
      Added value: +{
      +  "description": "Number of latest comments to include, default 20",
      +  "maximum": 100,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • changedInput schema / properties / include_comments / description
      Previous value: -"Include the latest 20 comments"New value: +"Include the latest comments"
    • addedInput schema / properties / max_comment_chars
      Added value: +{
      +  "description": "Truncate each comment body to this many characters",
      +  "maximum": 9007199254740991,
      +  "minimum": 1,
      +  "type": "integer"
      +}
  2. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds non-annotation behavior: comments are returned in chronological order, default to 20, and each body is truncated by max_comment_chars. It omits the caching behavior implied by the 'fresh' parameter.

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, front-loaded with the core read action, then the optional comment behavior. Every clause carries operational information and there is no filler.

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 six-parameter read tool with no output schema, the description covers the primary resource, what is returned (labels, assignees), and the opt-in comment handling with its two knobs. The only unaddressed item, cache bypass via 'fresh', is fully documented in the schema.

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%, so the baseline is 3, but the description adds meaning not in the schema: comments arrive in chronological order and max_comment_chars truncates each body rather than dropping comments. Default of 20 is repeated from the schema, which adds no new value.

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 concrete verb and resource: read a single issue or pull request, returning labels and assignees. The singular 'one issue' implicitly distinguishes it from the list-style sibling github_issues, but it never names siblings explicitly and leaves overlap with github_pr (for pull requests) unresolved.

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?

Gives clear conditional guidance for the optional path: 'Set include_comments=true to fetch the latest comments', plus how comment_limit and max_comment_chars modulate the result. It offers no when-not guidance, such as using github_issues to list or github_pr for PR-specific detail.

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