Skip to main content
Glama
github-fetcher

github-fetcher

by KurvCygnus

GitHub issues

github_issues
Read-onlyIdempotent

List repository issues with filters for state, labels, sort order, and pagination; set the item type to include pull requests.

Instructions

List issues in a repository with state, label, sort, and direction filters. Defaults to issues only; set type to "all" to include pull requests or "pr" for pull requests alone. For aggregate counts over a time window, use github_repo_health instead of paging.

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>"
    },
    "name": "github_issues"
  }
}

Input Schema

NameRequiredDescriptionDefault
pageNoPage number, starting at 1
repoYesRepository in owner/name form
sortNoSort field
typeNoItem kind, default issue
freshNoBypass the local cache
stateNoIssue state, default open
labelsNoComma-separated label names
per_pageNoItems per page, default 20
directionNoSort direction

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.2.0
    • addedInput schema / properties / type
      Added value: +{
      +  "description": "Item kind, default issue",
      +  "enum": [
      +    "issue",
      +    "pr",
      +    "all"
      +  ],
      +  "type": "string"
      +}
  2. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds genuinely new behavioral context: pull requests are excluded unless type is changed, and results are paged (with a pointer to a non-paging alternative for counts). It does not discuss the local cache behavior that the `fresh` parameter implies, which the schema only names tersely.

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 tight sentences with no filler: purpose first, default/override semantics second, routing alternative last. Every clause carries actionable information for tool selection.

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?

For a 9-parameter read tool with no output schema, the description covers the decisions that matter (what is listed, what is excluded by default, when to use a different tool). Pagination mechanics and cache behavior are left entirely to the schema, which is acceptable given full schema coverage but leaves the definition slightly thin on result-shape expectations.

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 description coverage is 100%, so a 3 is the baseline, but the description goes further by spelling out what the `type` enum values actually mean ("all" includes PRs, "pr" is PRs alone) rather than restating "Item kind, default issue". Minor imprecision: it says "label" while the parameter is the comma-separated `labels`.

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?

Opens with a specific verb and resource ("List issues in a repository") and enumerates the filter dimensions (state, label, sort, direction), which lets an agent separate it from the singular github_issue detail tool and from github_search_issues without opening either schema.

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?

Explicitly states the default behavior (issues only) and the escape hatch (type="all" or "pr"), plus a clear routing rule to github_repo_health for aggregate counts over a time window. The one gap is that github_search_issues, the closest sibling for cross-repo issue queries, is never mentioned as an alternative.

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