Skip to main content
Glama

GitHub

github
Read-only

Search and retrieve code, issues, pull requests, and repositories using structured owner/repo queries, with access to file contents, directory trees, and issue templates.

Instructions

Search and retrieve code, issues, pull requests, and repositories from GitHub.

Use this for GitHub lookups: search issues/PRs across repositories, search for repositories by topic/stars/language, search code, get issue or PR details with comments, fetch file content from a specific ref, get repo metadata with README, or inspect a repo's custom issue submission flow (forms, markdown templates, contact-link routing) before filing a new issue. GitHub URLs are also handled automatically by web_fetch_incisive — this tool is for structured queries by owner/repo/number.

Actions: search_issues, search_repos, search_code, issue, pull_request, file, repo, tree, issue_templates.

Query formats vary by action:

  • search_issues/search_code: GitHub search query with qualifiers (repo:, is:, label:, language:, path:)

  • search_repos: GitHub search query with qualifiers (topic:, stars:, language:, forks:, license:)

  • issue/pull_request: "owner/repo#number" (e.g. "pallets/flask#5618")

  • file/tree: "owner/repo/path" (e.g. "pallets/flask/src/flask/app.py") — use ref= for branch/tag

  • repo: "owner/repo" (e.g. "pallets/flask")

  • issue_templates: "owner/repo" (e.g. "pallets/flask") — call before filing an issue if the repo action's frontmatter hints at custom submission flow

Authentication: Set GITHUB_TOKEN env var or create ~/.config/parkour/github_token for 5000 req/hr (vs 60/hr unauthenticated). No special scopes needed for public repos.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
refNoGit ref (branch, tag, or commit SHA) for file/tree actions. Defaults to the repo's default branch.
pageNoPage number for pagination (1-indexed).
limitNoMaximum results to return (default 10, max 100).
queryYesFor search_issues/search_repos/search_code: search query with optional GitHub qualifiers. For issue/pull_request: 'owner/repo#number' (e.g. 'facebook/react#1234'). For file/tree: 'owner/repo/path' (e.g. 'facebook/react/packages/react/src/React.js'). For repo and issue_templates: 'owner/repo' (e.g. 'facebook/react').
actionYesThe operation to perform. search_issues: search issues/PRs by query (supports GitHub qualifiers like repo:, is:, label:). search_repos: search repositories by query (supports qualifiers like topic:, stars:, language:, forks:). search_code: search code across GitHub (supports qualifiers like repo:, language:, path:). issue: get issue details + comments by owner/repo#number. pull_request: get PR details + review comments + diff stat by owner/repo#number. file: get file content from a repo (use ref= for branch/tag). repo: get repo metadata + README. tree: get directory listing. issue_templates: list issue forms, markdown templates, and contact-link routing for a repository — use before filing a new issue.
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the description adds value beyond that by disclosing authentication requirements (GITHUB_TOKEN), rate limits (5000 vs 60 req/hr), and the context-specific behavior of issue_templates. It does not contradict annotations, though it does not describe the return format in detail.

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?

Though lengthy, the description is well-structured with bullets and action lists. Every sentence earns its place: summary, usage context, action list, query formats, and authentication details. Front-loaded with the purpose, it avoids unnecessary verbosity.

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?

Given the complexity (9 actions, 5 parameters, no output schema), the description covers all actions, query formats, authentication, and selective usage guidance. Return values are not explicitly stated, but the schema's action property descriptions already include details like 'get issue details + comments', so the description is adequately complete.

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 baseline 3. The description adds value by providing concrete query format examples for each action (e.g., owner/repo#number, owner/repo/path) and clarifying the ref= parameter usage, exceeding what the schema alone offers.

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 it searches and retrieves code, issues, pull requests, and repositories from GitHub, listing all nine actions explicitly. It also distinguishes itself from web_fetch_incisive by stating that tool handles GitHub URLs, making the purpose unambiguous.

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?

Provides explicit guidance: 'Use this for GitHub lookups...' and contrasts with web_fetch_incisive for URLs. It also advises when to call issue_templates (before filing if the repo action's frontmatter hints at custom submission flow), giving clear when-to-use context.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/blightbow/parkour-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server