Skip to main content
Glama

search_github

Search GitHub for public repositories matching a query, returning name, owner, stars, description, and language. Supports sorting and result limits.

Instructions

Search GitHub for public repositories and return a list of repository records.

Queries the GitHub search API over the network and returns a list of dicts, each with: name (str), owner (str), stars (int), description (str), and language (str). Results are ordered per the sort argument. Returns an empty list when no repository matches the query. Requires network access; may be subject to GitHub API rate limits.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sortNoString ordering for results; one of "best-match", "stars", "forks", or "updated". Example: "stars". Default "best-match".best-match
queryYesString search expression using GitHub search syntax, including qualifiers like "language:" or "stars:". Example: "web scraping language:python". No default (required).
max_resultsNoInteger maximum number of repositories to return. Example: 10. Default 20.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
countNo
errorsNo
scraperNo
source_urlsNo
Behavior5/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It discloses the return format (list of dicts with specific keys), ordering behavior (per sort argument), empty-list behavior when no matches, network access requirement, and rate limits. This is thorough and directly useful to an agent.

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?

The description is four sentences, front-loaded with the primary purpose, and every sentence adds value: scope, network behavior, return structure, empty-list handling, and rate-limit warning. No redundant or filler text.

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?

The description is complete for this tool's complexity. It explains inputs, output schema, network dependency, rate limits, and edge-case behavior (empty list). Combined with a well-described input schema, an agent has enough information to invoke it correctly without ambiguity.

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?

The input schema already has 100% coverage with detailed descriptions and examples for all three parameters, so the baseline is 3. The description adds little beyond mentioning ordering by sort, which the schema already covers. It does not need to compensate since the schema is sufficient.

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 a specific verb ('Search') and resource ('GitHub for public repositories'), and the return type is described as a list of repository records. This distinguishes it from sibling search tools like search_images or search_hackernews, which target different domains.

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 description provides clear context: it queries the GitHub search API over the network, requires network access, and may hit GitHub API rate limits. It does not explicitly name alternatives or exclusions, but the scope ('GitHub for public repositories') makes the intended use unambiguous.

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/mldsveda/PyScrappy'

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