Skip to main content
Glama
pranjal-sen-2004

GitHub Activity MCP Server

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool maps to a specific resource and action: repository search, repository detail, file contents, commits, issues, issue comments, pull requests, pull request diffs, and user data. Related operations are clearly separated by list/get/detail patterns, so there is little chance of picking the wrong tool.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun convention using snake_case. Singular nouns accompany get_* detail actions, plural nouns accompany list_* actions, and create/add are used for mutations. The naming is uniform and predictable.

    Tool Count5/5

    With 13 tools, the server is well-scoped for a GitHub activity and interaction assistant. The coverage spans repositories, files, commits, issues, comments, pull requests, and user info without being excessively large or sparse.

    Completeness3/5

    The read surface is solid, and basic issue creation/commenting is supported, but the issue lifecycle is incomplete: there is no update_issue or close_issue. Similarly, pull requests can only be viewed/diffed, not created, updated, or merged, so meaningful management workflows are missing.

  • Average 3.3/5 across 12 of 13 tools scored. Lowest: 2.7/5.

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

    • No community issues in the last 6 months
    • 1 commit in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • 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?

    With no annotations, the description carries the full burden, but 'List pull requests in a GitHub repository' merely restates the operation without behavioral detail. It does not disclose that state defaults to 'open' (so only open PRs are returned by default), that sort/direction controls ordering, or that per_page defaults to 15 with pagination implications.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    A single front-loaded sentence with zero wasted words—highly skimmable. The brevity is not the issue; the absence of substance is, and that is penalized elsewhere. For what it attempts, the structure is appropriate and efficient.

    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?

    Even though an output schema exists, the tool has 7 parameters, no annotations, and 0% schema description coverage. An agent cannot correctly set state values could not know what value... cannot infer that state defaults to 'open' or which sort/direction values are valid, nor can it distinguish this from list_issues. The description is only complete at the level of naming the capability, not at the level of invoking it correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, and the description adds nothing about the parameters. It only clarifies that owner and repo identify the repository, but the meaning and valid values of state, sort, direction, per_page, and base are entirely undocumented in both the schema and the description. The 0% coverage demands compensation that never comes.

    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?

    The description states a specific verb ('List') and a specific resource ('pull requests in a GitHub repository'), making the core function clear. However, it does not differentiate from sibling tools like get_pull_request (which fetches a single PR) or list_issues (which in GitHub's API can also return PRs), leaving that inference to the agent.

    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 when-to-use or when-not-to-use guidance is provided. There is a meaningful overlap with sibling tools—particularly list_issues, since GitHub treats pull requests as issues under the hood—and the description does not clarify when this tool is preferred. It also does not mention that get_pull_request exists for retrieving a single PR.

    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 must carry the behavioral burden. 'Get detailed information' expresses read-only intent, but the description does not disclose whether only metadata is returned, whether authentication is needed, or what errors may occur for a non-existent PR.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, focused sentence with no filler. It is appropriately short for a straightforward fetch operation, although it could add differentiation from sibling tools at no great length cost.

    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 three required parameters, no annotations, and closely related siblings, the definition leaves important decision cues undefined. An agent would benefit from an explicit callout that this returns PR metadata (not diff) and that list_pull_requests should be used to find the pull number first.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, and the description adds little beyond what the schema already reveals. The param names owner, repo, and pull_number are self-explanatory, but the description does not explain the relationship between them or that pull_number is the unique identifier within the given repo.

    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?

    The description clearly states a verb ('Get') and a resource ('a specific pull request'), so an agent can infer this tool fetches one pull request's details. It is distinguishable from list_pull_requests, but it does not explicitly disambiguate from get_pull_request_diff.

    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 'a specific pull request' implies the intent: call this when you already have owner, repo, and pull_number. However, there is no explicit when-to-use guidance, no mention that list_pull_requests is the way to discover pull request numbers, and no exclusion of get_pull_request_diff.

    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 behavioral disclosure burden. It states what the tool does but omits important behavior such as authentication requirements, whether it creates the issue immediately, how it handles optional labels/assignees, or what the response contains.

    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 unnecessary filler or redundancy. It communicates the core function efficiently.

    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?

    For a 6-parameter tool with no parameter descriptions, this description is far too minimal. It does not explain what kind of inputs are expected or how optional fields like labels and assignees behave, making it necessary for the agent to infer critical details.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters1/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must compensate for the undocumented parameters. It does not mention any of the six parameters, their meaning, format, or how labels and assignees are represented, leaving the agent without key information.

    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 states a specific action ('Create') and a specific resource ('a new issue in a GitHub repository'). This clearly distinguishes it from sibling tools like get_issue, list_issues, and add_issue_comment.

    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 intended use is implicitly clear: use this when you need to create an issue in a repository. However, it does not explicitly discuss when not to use it or mention alternatives, relying on the name and obvious context.

    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 available, the description carries the full burden for behavioral clarity. The word 'list' correctly implies a read-only operation, but the description does not mention default filtering behavior, pagination, or whether pull requests are excluded from the results. It is safe 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.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise and front-loaded, using a single sentence to convey the core action and the presence of filters. It earns its place by being concise, even though it could be expanded with directional context.

    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?

    For a tool with seven parameters, no parameter descriptions, and no annotations, this description is too thin. The agent is left to infer the exact behavior of filters, defaults, and repository scoping from property names alone. A few extra sentences about return contents, common filter values, and default behavior would make the tool safe to invoke without external API knowledge.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, and the description does not clarify any of the seven parameters beyond calling them 'optional filters.' Though parameter names like 'owner', 'repo', 'state', and 'labels' are intuitive, the description should help call properly provide context for labels formatting, state values, sort options, and pagination behavior.

    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?

    The description clearly states the tool lists issues within a specific GitHub repository, using an explicit verb and resource. It is distinct enough from 'get_issue' and 'list_pull_requests' even though it does not explicitly call out those siblings. The mention of 'optional filters' adds useful scope without overcomplicating.

    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 makes it clear this is the tool to use for listing issues from a repository, so the basic usage is implied. However, it does not say when to use an alternative like get_issue for a single issue or list_pull_requests for pull requests. There is no explicit 'when not to use' 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?

    With no annotations provided, the description must disclose behavioral characteristics on its own, but it only says `List`. It does not mention pagination, sort defaults, whether private repositories are returned, authentication needs, or any other runtime behavior an agent should know.

    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 filler words. The action and object are front-loaded, making it highly scannable and easy to process.

    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 output schema likely covers return shape, so lack of return documentation is acceptable. However, the description is still thin for a tool with no annotations and incomplete parameter semantics; pagination and sorting behavior are not addressed and need to be divined from the schema defaults.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Given the schema has 0% parameter description coverage, the description should compensate by explaining at least the main parameters. It clarifies that `username` identifies the GitHub user, but it gives no meaning or allowed use for `sort` and `per_page`, leaving half of the parameters to inference.

    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 states a specific action (`List`), a resource (`repositories`), and a clear scope (`for a GitHub user`), making the endpoint immediately distinguishable from siblings like search_repositories or get_repository. Its meaning is unambiguous and can be understood without opening the schema.

    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 does not say when to prefer this tool over alternatives or when not to use it. There is no mention of search_repositories for broad search or get_repository for a single repo, so the agent receives no explicit usage 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?

    With no annotations provided, the description carries the full burden of disclosing behavior. It does not say whether authentication is required, whether results are scoped to a user, how pagination behaves, what the default sort/order values mean operationally, or what response shape to expect beyond the schema. The only behavioral hint is that GitHub search qualifiers are supported, which adds some context but leaves most runtime behavior undocumented.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is two short, front-loaded sentences with no filler. It efficiently communicates the core purpose and one key capability. It could have used the space to define parameter semantics, but as far as conciseness for the current content, it is well structured.

    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 five parameters, no annotations, and an output schema, but the description covers only the query concept. It omits guidance about how language, sorting, ordering, and pagination interact, how qualifiers are used in practice, and what kinds of queries are appropriate. The presence of an output schema covers return shapes, but input behavior remains under-specified for correct invocations.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must compensate, but it only explains that 'query' is a search query supporting qualifiers. It does not define the meaning or allowed values for sort, order, language, and per_page, even though these parameters have defaults in the schema. This is only a minimal add beyond the structured types.

    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'), a resource ('GitHub repositories'), and the distinguishing mechanism ('by query'). It is distinct from siblings like get_repository or list_user_repos, which are about fetching known repos or listing a user's repos rather than searching across all repositories.

    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 the tool is for query-based repository search and mentions GitHub search qualifiers, which suggests when to use it over simpler listing/getting tools. However, it does not explicitly state when not to use it or contrast it with alternatives such as list_user_repos and get_repository, leaving the agent to infer the decision boundary.

    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 present, the description carries the behavioral burden; it does clearly convey a read-only, non-destructive operation that does not take writes. It adds no further context such as the role of the optional ref parameter or base64/encoding behavior of the GitHub API, though the output schema compensates by documenting the return shape.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, tightly-worded sentence with the key action front-loaded. There is zero filler and the phrasing is appropriately sized for a unary read operation, though it leaves no room for optional-parameter details or sibling comparisons.

    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 presence of an output schema covers return-value documentation, which lowers the burden. What remains missing is the meaning of the optional ref parameter and any routing hints against siblings, but for a straightforward read operation the essentials (owner, repo, path) are transparent and the system is usable as-is.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must compensate for all four parameters, and it says nothing about them. The names owner, repo, and path are fairly self-evident in a GitHub context, but the optional ref — presumably a branch, tag, or commit SHA — is completely unexplained, and the tool's own description does not clarify the owner/repo/path relationship beyond the tool name.

    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 states a specific verb ('read') and resource ('a file from a GitHub repository'), so an agent immediately knows what action applies to what object. Among the siblings, no other tool reads raw file contents — get_repository returns repo metadata and get_pull_request_diff returns diffs — so the description distinguishes this tool without needing to name alternatives.

    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?

    There is no guidance on when to use this tool versus alternatives such as get_repository or list_commits, and no excluded scenarios or prerequisites are stated. The intended context must be inferred entirely from the tool name and the single sentence, which is minimal but not explicit routing.

    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. 'Add a comment' at least signals a mutation, but it discloses nothing about required permissions, idempotency, rate limits, or how errors are surfaced, leaving a significant behavioral gap.

    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 fluff. It states the verb and object directly and wastes no words, which is appropriate for a simple tool.

    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 straightforward 4-parameter tool with clear types and an output schema, the description is minimal but temporarily usable. It doesn't cover optional qualifiers, error cases, or authentication expectations; adequate for basic invocation but with visible gaps.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, and the description names no parameters. It indirectly links 'body' to the comment content and 'issue_number' to an existing issue, but owner/repo and the relationships between fields remain entirely unelaborated at a time when the schema alone might need to do the heavy lifting.

    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 ('Add') and resource ('comment to an existing GitHub issue'), making the action immediately clear. It also stands apart from the read-oriented siblings (get_issue, list_issues, list_commits), so an agent can pick this tool without opening the schema.

    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 context for using the tool is implied ('when you want to comment on an issue'), but the description gives no explicit when-not-to-use guidance or named alternatives. It also doesn't mention prerequisites such as authentication or that the issue must already exist.

    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 behavioral transparency burden. It clearly identifies this as a non-mutating retrieval of a diff/patch, which is useful, but it does not mention auth requirements, possible truncation, diff format nuances, or other non-obvious behavior beyond what the output schema may expose.

    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 filler. It states the action, the target resource, and the purpose efficiently, making it easy to scan.

    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?

    An output schema is present and the required parameters are clearly represented in the input schema, so basic invocation is feasible. However, the lack of annotations, parameter guidance, and alternative-tool routing makes the overall description only minimally complete for an autonomous agent.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, and the description does not compensate by explaining owner, repo, or pull_number. The parameter names are mostly self-explanatory, but the description adds no details about how to obtain pull_number, how owner/repo should be formatted, or what the parameters semantically map to.

    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') and resource ('diff/patch of a pull request') and states the intent: 'to review code changes.' This clearly distinguishes it from siblings like get_pull_request or list_pull_requests, which cover PR metadata or summaries rather than the actual patch.

    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?

    There is only a light implication that the tool is for code review, but no explicit when-to-use or when-not-to-use guidance. It does not name alternatives such as get_pull_request for metadata or list_pull_requests for finding PRs, so an agent gets no help choosing between these 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?

    No annotations are provided, so the description carries the behavioral burden. 'Get' implies a read operation, but the description does not disclose required authentication, error behavior, rate limits, or any other operational characteristics beyond the action itself.

    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, focused sentence with no filler. It front-loads the action and the resource, making the core purpose immediately clear.

    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 simple read operation with an output schema and two obvious parameters, the description is mostly sufficient. The main gap is the complete lack of guidance about when to use it relative to repo-centric siblings like list_user_repos or search_repositories.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must compensate for undocumented parameters. It does not define what 'owner' and 'repo' mean, explain how they are validated, or describe the expected identifier format. The parameter names are self-evident only for someone already familiar with GitHub's API.

    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 states a clear verb ('Get'), a specific resource ('a specific GitHub repository'), and implies precise object identification. This distinguishes it from sibling tools like search_repositories, which search broadly, or get_file_contents, which targets files.

    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 'a specific GitHub repository' implies that the tool should be used when the owner and repo are already known, and it is not a search tool. However, the description does not explicitly explain when to choose this tool over siblings such as list_user_repos or search_repositories.

    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?

    The word 'Get' and the qualifier 'public' imply a read-only operation, but the description does not explicitly state that it does not modify data, whether authentication is required, or any rate-limit considerations. Without annotations, the behavioral burden falls on this text.

    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 no filler. The core purpose and targeted resource are articulated first, making it immediately scannable for an agent.

    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 definition is largely complete for a simple single-parameter lookup: the output schema exists and can cover return details, and the description gives enough selection and invocation context. Slightly more detail about auth or what 'profile information' includes would push it higher.

    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 has 0% description coverage, and the description does not directly document the 'username' parameter. However, the parameter name is semantically obvious, and 'for a GitHub user' adds enough context to understand the parameter is a GitHub username.

    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?

    Uses a specific verb and resource: 'Get public profile information for a GitHub user.' It clearly distinguishes itself from sibling tools focused on repositories, files, commits, issues, and 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 Guidelines2/5

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

    No guidance on when to use this tool versus alternatives. It does not mention when not to use it or point to more appropriate sibling tools for repository-related user data.

    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?

    There are no annotations, so the description carries the full behavioral burden. The word 'Get' reasonably implies a read operation and 'including its comments' adds scope, but it does not disclose auth expectations, error cases, or whether it is strictly read-only. Adequate but not richly 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?

    A single, short sentence with no filler. Every phrase earns its place: 'specific issue' narrows scope and 'including its comments' clarifies the response shape.

    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 an output-schema-backed read tool with 3 self-descriptive required parameters, the description is nearly complete. The main gap is lack of explicit sibling differentiation and access notes, but nothing essential prevents an agent from using owner, repo, and issue_number correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description should compensate for the undocumented owner, repo, and issue_number parameters. It does not: it only loosely references 'a specific issue' and omits any detail about how issue_number, owner, or repo relate to the operation or expected formats.

    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 specific verb 'Get' and resource 'a specific issue', and adds 'including its comments' to define what the returned detail covers. This distinguishes it from list_issues (which lists) and from comment creation or pull-request tools.

    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 a caller needs one issue's detailed data with comments, but it does not explicitly mention alternatives or when not to use it. Sibling tools like list_issues and get_pull_request are present, but the description leaves the routing logic mostly 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?

    With no annotations provided, the description carries the full behavioral burden. It discloses the operation and its optional filters, but it does not describe pagination behavior, ordering of 'recent', or how the 'sha' parameter resolves against the repository's default branch. It adds some context (recent, filtering) and the statement is accurate, but the behavioral picture remains incomplete.

    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?

    One tightly structured 22-word sentence that starts with the verb, names the resource and scope, and then the filter options. There is no fluff, and every word carries semantic weight.

    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?

    Because an output schema exists, the description need not explain return values. However, given six parameters and no annotations, the description is the only behavioral source available; it does not explain branch/ref resolution or pagination tail behavior, leaving a competent but shallow picture for a first-time 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 0%, so the description must compensate. The description's filter semantics are useful for 'path' and 'author', but it leaves the meaning of 'sha' and the pagination/limit behavior of 'per_page' unexplained. The names 'owner' and 'repo' are self-evident, but the most ambiguous parameter, 'sha', gets no semantic help from the description.

    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 ('recent commits for a repository'), and the optional scoping ('filtered by path or author'). It unambiguously identifies the operation and is easily distinguishable from the sibling tools, none of which list repository commits.

    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 the use case — listing recent commit history for a repository, optionally narrowed by path or author — without explicitly doing so. It provides no exclusions or 'when not to use' guidance, but, since no sibling tool competes for the same operation, alternative routing is less critical.

    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-mcp-server MCP server

Copy to your README.md:

Score Badge

github-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/pranjal-sen-2004/github-mcp-server'

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