Skip to main content
Glama
technomad641

github-repo-mcp-server

by technomad641

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Each tool has a clearly distinct purpose. Getter vs. list tools are separated by singular/plural semantics, and the two search tools differ by target (code within a repo vs. trending repos across GitHub). No two tools overlap in function.

    Naming Consistency5/5

    All tool names use lowercase with underscores and follow a consistent verb_noun pattern (get_, list_, search_, ping). The pattern is predictable and easy to infer from the resource being accessed.

    Tool Count5/5

    14 tools is well within the ideal range for a GitHub-focused server. Each tool covers a distinct resource or operation, and the count feels appropriate for the scope—not bloated, not too sparse.

    Completeness3/5

    The read-side surface is solid: repos, issues, PRs, branches, commits, files, workflows, notifications, and trending. However, there are no create/update/delete operations for any resource, which is a significant gap if the server is expected to support full issue/PR lifecycle management. Agents can work around this only if their tasks are read-only.

  • Average 3.7/5 across 14 of 14 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 31 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    There are no annotations, so the description carries the full burden of behavioral disclosure. It states it reads contents but does not mention return format (e.g., base64 encoding), size limits, error behavior, or any side effects. This is minimal.

    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 a single sentence that is concise and front-loaded, stating the core action and scope without extraneous details. Every word earns its place.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    With no output schema and no annotations, the description should explain return values or behavior but does not. It is too terse for a tool that likely returns file content and metadata, leaving the agent without full context.

    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 description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond what the schema already provides for each parameter, but it does not need to since the schema is complete.

    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 the tool reads a file's contents from a repo at a given ref, which is a specific verb+resource that distinguishes it from siblings like get_issue, get_repo, and search_code. It is unambiguous and immediately understandable.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives such as search_code or list_commits. The description simply states the action without context on prerequisites, exclusions, or comparison to sibling tools.

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

  • Behavior2/5

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

    With no annotations, the description carries full burden for behavioral disclosure. It only states the basic action without addressing pagination, default limits (despite the limit parameter), return format, or any side effects. It doesn't betray hidden behavior but also reveals nothing beyond the obvious.

    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 a single, front-loaded sentence with no wasted words. It conveys the core purpose immediately and is appropriately sized for a simple list operation.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The tool has no output schema and no annotations, so the description must provide sufficient context for invocation. It lacks information about the return shape, pagination behavior, or default settings. For an agent, this is insufficient to know what to expect from the call.

    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 describes all three parameters with 100% coverage, so the baseline is 3. The description does not add additional meaning to the parameters beyond what the schema provides (e.g., it doesn't elaborate on the limit parameter or the required owner/repo combinations).

    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 identifies the operation ('List branches') and the scope ('in a repo') using a specific verb and resource. It distinguishes itself from sibling tools like list_commits or list_pull_requests by naming the specific resource (branches).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any exclusions or conditions, such as when to prefer this over list_commits or list_repos. The usage context is trivial but not explicitly communicated.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states 'Get metadata,' implying a safe read operation, but does not mention authentication requirements, rate limits, error behavior for missing repos, or any side effects. This is minimal for a tool with zero annotation coverage.

    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 a single, front-loaded sentence that wastes no words. It includes the primary verb, the resource, and a list of returned metadata fields, making it highly scannable and efficient.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple two-parameter read tool, the description is adequate but minimal. It lists return fields, which helps agents understand output, but with no annotations or output schema, additional context like authentication or error handling would improve completeness. The description does not explicitly differentiate from list_repos, though the singular scope is implied.

    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 description coverage is 100% for both parameters (owner and repo), each with descriptive text. The description adds nothing about parameter format, relationships, or edge cases, but because the schema fully documents the parameters, a baseline of 3 is appropriate.

    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 the tool's function: 'Get metadata for a repo' and lists specific metadata fields (description, stars, language, default branch, visibility). This distinguishes it from sibling tools like list_repos (which lists multiple repos) or get_issue (which fetches issue-specific data), showing a specific verb, resource, and scope.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool relative to alternatives. It does not mention list_repos for multiple repos, search_code for content search, or any other exclusions. The usage is implied from the name and description but not explicitly stated, so agents receive minimal selection guidance.

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

  • Behavior2/5

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

    No annotations are provided, so the description must disclose behavioral traits. It only mentions filterability by state and branch, which is already visible in the schema, and omits details like pagination, ordering, default behavior, or return format. This adds no behavioral transparency beyond the structured fields.

    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 a single, concise sentence with no redundant information. It front-loads the core purpose and filtering capability in a clear, efficient manner.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given no output schema and no annotations, the description is insufficiently complete. It fails to mention what the response contains, whether results are paginated, or how the limit parameter affects the output. For a list operation with several parameters, this leaves important gaps for an agent to know what to expect.

    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 high (most parameters have descriptions), so the baseline is 3. The description's mention of state and branch filtering adds little semantic value beyond what the schema already documents. It does not clarify the 'limit' parameter or the distinction between base and head branches beyond their schema descriptions.

    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 'List pull requests in a repo' with a specific verb and resource, and explicitly mentions filtering by state and branch. This distinguishes it from sibling tools like list_issues and get_pull_request, which target different resources or operations.

    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?

    The description implies use when listing pull requests, but it does not explicitly state when to choose this over alternatives or exclude other tools. No comparison with get_pull_request or list_issues is given, so the guidance is only implicit.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the burden of behavioral disclosure. It does not mention that the operation is read-only, requires any specific permissions, or has no side effects. It only describes the return content (full detail, comment thread), which does not cover safety or authorization aspects.

    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 a single, efficient sentence of 13 words. It avoids redundancy and directly conveys the tool's purpose without filler, scoring high on conciseness.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple read tool with three obvious parameters, the description provides the essential purpose and mentions the comment thread as a key return component. However, with no output schema and no annotations, it does not detail the full return structure or any error/rate-limit behavior, leaving some gaps in completeness.

    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 schema describes owner and repo (67% coverage), but the description adds no additional meaning for any parameter. The missing issue_number description is somewhat inferable from the name, and the tool description's 'one issue' hints at its role, but there is no explicit compensation for the coverage gap.

    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 the verb 'Get' and resource 'one issue', specifying that it retrieves full detail including the comment thread. This distinguishes it from sibling tools like list_issues (which lists issues) and get_pull_request (which gets a pull request).

    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?

    The phrase 'for one issue' implies this is for retrieving a single issue rather than listing multiple, but it does not explicitly mention alternatives like list_issues or exclusions for when not to use it. Usage context is present but only implied.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It only mentions 'recent' and 'pass/fail' but does not disclose behavior like default limit, pagination, whether in-progress runs are included, or how branches affect results. This leaves significant ambiguity for 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 a single, direct sentence with no filler. It is front-loaded with the action and resource, making it easily scannable.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    As a simple getter with no output schema, the description should clarify what is returned. It mentions 'status (pass/fail)' but does not describe the response shape (e.g., list of runs, metadata) or how parameters like limit and branch affect results. It is adequate but could provide more context for an agent.

    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 75%, with owner, repo, and branch described. The description adds no new parameter details beyond the schema, and the 'limit' parameter is left unexplained. However, the schema provides defaults and constraints, so the gap is not severe.

    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 the tool retrieves recent GitHub Actions workflow run status (pass/fail) for a repo. It uses a specific verb ('Get') and resource ('workflow run status'), distinguishing it from sibling tools like get_issue or get_file_contents.

    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?

    The description implies usage for checking CI status but provides no explicit guidance on when to use this tool versus alternatives, nor any exclusions. It does not mention prerequisites or typical scenarios, though the purpose is self-evident from the name and description.

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

  • Behavior2/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 only states a basic action without revealing details like default branch behavior, limit application, sorting order, or whether the response includes commit metadata only. The term 'recent' is vague and unqualified.

    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 a single, concise sentence with no redundant information. It is short and to the point, earning a high score for efficiency.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Despite having 4 parameters and no output schema, the description is minimal. It fails to explain what a commit listing contains or how 'recent' is defined. The agent might not know if commits from all branches or the default branch are included, or if the response includes diffs. The description is too sparse to fully support correct invocation.

    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 description coverage is 100%, so the baseline is 3. The description adds slight emphasis on 'branch' as the scope, but it does not provide additional meaning for parameters like limit or owner/repo beyond what the schema already explains.

    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 'List recent commits on a branch' uses a specific verb (List), a clear resource (commits), and a scope (branch). It clearly distinguishes from sibling tools like list_pull_requests and list_issues, which target different resource types.

    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 a clear context for use: listing commits on a branch. It does not explicitly state when not to use it or mention alternatives, but the meaning is evident. This places it above implied usage but below explicit exclusions.

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

  • Behavior3/5

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

    With no annotations, the description must disclose behavior itself. It states the primary behavior (returns pong and server time) but omits any mention of the optional message parameter echo behavior. The description does not contradict annotations, and for a simple read-only operation, the core behavior is transparent, though not exhaustive.

    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 a single sentence, front-loaded with the key term 'Health check', and contains zero filler. It effectively communicates the tool's purpose without redundancy, scoring high on conciseness and structure.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The tool is simple, but the description leaves out the echo behavior of the optional message parameter, which is relevant to the response. Although the schema covers the parameter, there is no output schema, so the description should have been slightly more detailed about the full return value. Minor gap, hence a 3.

    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 description coverage is 100% for the single parameter 'message', which is described as 'Optional echo message'. The tool description adds no additional parameter meaning, so the baseline score of 3 applies. The schema fully handles parameter semantics.

    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 identifies the tool as a health check that returns pong and the current server time. This is specific and unambiguous, distinguishing it from all sibling tools which are data retrieval or repository operations. The verb 'returns' and the resource 'server' make the purpose immediately obvious.

    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?

    The 'Health check' label implies the tool is used to verify server connectivity, but no explicit when-to-use or when-not-to-use guidance is given. Since there is no alternative health-check tool among the siblings, the usage context is clear but only by implication.

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

  • Behavior3/5

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

    With no annotations, the description carries the burden. It discloses the specific return content (diff stats, mergeable state, review status) and implies read-only behavior via 'Get', but does not mention authentication needs, rate limits, or error conditions. Some behavioral context is provided, but it is not comprehensive.

    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 a single sentence of 14 words, front-loaded with the action and resource. No filler or redundant information; every word adds value.

    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?

    There is no output schema, so the description lists the key return fields (diff stats, mergeable state, review status), providing useful output expectations. For a simple 3-param getter, this is reasonably complete, though it omits edge-case behavior like error handling or authentication details.

    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 descriptions cover 67% of parameters (owner and repo), while pull_number lacks a description. The tool description adds no additional parameter semantics, leaving pull_number to be inferred from 'one PR'. It does not compensate for the missing coverage, but the missing parameter is straightforward.

    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 uses a specific verb 'Get detail' and resource 'one PR', and enumerates exactly what is returned: diff stats, mergeable state, and review status. This clearly distinguishes it from sibling tools like list_pull_requests and get_issue.

    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?

    The description implies use for retrieving a single PR's details, but does not explicitly state when to use it versus list_pull_requests or other siblings. No exclusions or alternative recommendations are provided, leaving usage guidance implicit.

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

  • Behavior3/5

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

    No annotations are provided, so the description must carry the burden. It calls out read-only behavior with 'List' and mentions filters, but it does not disclose pagination, default limit, or response format. This is adequate but minimal.

    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?

    A single sentence with a clear verb-object structure, front-loaded with the tool's purpose. No redundant or unnecessary information.

    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?

    The description is sufficiently complete for a low-complexity read-only list tool. The schema documents parameters and required fields, and although the return format and pagination are not mentioned, these are minor gaps for this operation type.

    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 description coverage is 67%. The description adds semantic grouping by naming state, label, and assignee as filters, but it does not clarify the 'limit' parameter or required owner/repo beyond what the schema already provides.

    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 begins with a specific verb+resource ('List issues in a repo') and names the key filters (state, label, assignee), clearly distinguishing it from sibling tools like get_issue (single issue) and list_pull_requests (pull requests).

    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?

    The description implies usage for listing issues in a repo but does not explicitly state when to prefer this tool over alternatives or mention exclusions. No direct 'when to use' or 'when not to use' guidance is provided.

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

  • Behavior4/5

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

    With no annotations, the description carries the behavioral disclosure burden. It provides a valuable caveat about GitHub code search indexing lag, explaining that a 0-result response may mean 'not indexed yet' rather than 'no matches'. This adds meaningful context beyond the schema, though it does not cover auth or rate limits.

    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 exactly two sentences: the first immediately states the purpose, the second provides the essential indexing caveat. There is no unnecessary verbosity or repetition.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    There is no output schema, so the description should ideally explain what the tool returns (e.g., matching file paths, code snippets). It does not describe the response format. While the indexing caveat is useful, the missing return format leaves a gap for the agent.

    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 description coverage is 75%, with owner, repo, and query described. The description does not add any parameter-specific meaning beyond the schema, and the 'limit' parameter has no description but has default/min/max constraints. The indexing caveat is not directly tied to parameter semantics.

    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 'Search code within a single allowlisted repo', giving a specific verb, resource, and scope. It distinguishes itself from sibling 'search_trending_repos' by specifying code search rather than repo search.

    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?

    The description implies usage for code search in a specific repo but does not explicitly mention when to use this tool versus alternatives or when not to use it. The 'single allowlisted repo' restriction is a context clue, but no alternative tool is named.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It discloses scope ('every repo') and content ('basic metadata') but does not mention pagination, output format, or authentication requirements. For a read-only list operation, this is adequate but not rich.

    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?

    A single sentence that immediately states the action and scope. No unnecessary words or repetition, making it highly efficient and well-structured.

    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 tool's simplicity (0 params, no output schema), the description is fairly complete. It specifies the purpose and scope, and 'basic metadata' sets expectations. However, it could be more explicit about what metadata fields are included or the exact return shape.

    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?

    The input schema has zero parameters, so the baseline is 4. The description adds no parameter info (none needed), but 'basic metadata' gives an indication of the output content, which is slightly beyond the schema.

    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 the verb 'list', the resource 'repo', and the scope 'every repo in this server's allowlist'. It distinguishes from siblings like get_repo (single repo) by emphasizing 'every repo' and 'allowlist'.

    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?

    The usage context is implied (when you need an overview of all approved repos) but no explicit alternatives are mentioned. It doesn't say when not to use this tool (e.g., when needing details for a specific repo, use get_repo).

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden for behavioral disclosure. It transparently mentions that the tool is a proxy and not an exact match for GitHub trending, and that it searches beyond the allowlist. However, it does not mention output format, pagination, rate limits, or authorization requirements, leaving moderate gaps for a search tool.

    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 two sentences long, with the first sentence stating the core functionality and the second adding key caveats. Every sentence earns its place; there is no redundancy or filler. Critical information is front-loaded.

    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?

    The tool has moderate complexity with 3 parameters and no output schema. The description covers the algorithm proxy, allowlist exception, and ranking logic, which are essential context. It does not describe the return format, but given the simplicity of the tool and the lack of an output schema, this is a minor omission rather than a critical 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?

    The input schema covers 67% of parameters (topic and since_days have descriptions), and the description implies 'recently' relates to since_days. The limit parameter lacks a description but has defaults and constraints in the schema. The description adds minimal new parameter-specific detail beyond the schema, so a baseline of 3 is appropriate.

    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 the tool's function: finding trending repos for a topic on public GitHub, ranked by star count among recently created/pushed repos. It distinguishes itself from sibling tools that operate on specific repos (e.g., get_issue, list_commits) and other search tools like search_code. The verb 'find' and resource 'trending repos for a topic' are specific.

    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 gives context that it's a proxy for github.com/trending and not an exact match, which helps set expectations. It also notes it is not restricted to the repo allowlist, indicating when this tool is appropriate (broad public search). However, it does not explicitly name alternative tools or say when not to use it, so it falls short of a 5.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden. It discloses the filtering to allowlisted repos, the unread-only default, and the specific permission requirement, which are valuable behavioral facts. It does not mention edge cases like missing permissions or response format, but for a simple read tool, this is reasonably transparent.

    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 two sentences with no redundant words. It efficiently covers purpose, scope, and a key prerequisite, earning a top score.

    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?

    Given the tool's simplicity (one optional param, no output schema), the description provides sufficient context: what it does, what it operates on, and an important permission note. It is complete for its complexity.

    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 sole parameter 'all' is fully described in the schema (boolean, default false, 'Include read notifications too'), so schema coverage is 100%. The description does not add extra meaning beyond noting the unread default, which the schema already implies. Baseline of 3 is appropriate.

    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 the tool retrieves unread GitHub notifications, specifying types (mentions, review requests) and scope (repos in server's allowlist). It is distinct from sibling tools that focus on issues, PRs, code search, etc., leaving no ambiguity about its purpose.

    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 explicitly calls out a required permission ('Notifications account permission') that is unique to this tool among siblings, implying when it should be used. It does not explicitly list alternative tools for other notification-related tasks, but the context strongly differentiates it.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

github-repo-mcp-server MCP server

Copy to your README.md:

Score Badge

github-repo-mcp-server MCP server

Copy to your README.md:

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/technomad641/github-repo-mcp-server'

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