Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct aspect of pull request workflows: listing PRs, getting a specific PR, listing comments, listing unresolved review threads, and resolving them. There is no overlap or ambiguity.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (list_pull_requests, get_pull_request, list_pr_comments, list_unresolved_review_threads, resolve_review_thread), using lowercase with underscores.

    Tool Count5/5

    Five tools is an appropriate and focused scope for a GitHub pull request review assistant. Each tool earns its place, covering listing, detail, comment viewing, unresolved thread viewing, and resolution.

    Completeness4/5

    The tool set covers the core PR review workflow well—listing, reading, and resolving threads. However, it lacks tools to create or reply to comments or threads, which agents may need to fully participate in reviews.

  • Average 3.9/5 across 5 of 5 tools scored. Lowest: 3.2/5.

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

    • No community issues in the last 6 months
    • 0 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
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • 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

  • Behavior3/5

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

    Annotations are absent, so the description carries the full burden. It correctly identifies this as a listing (read) operation, but does not disclose pagination behavior, rate limits, or whether results are ordered. The default state 'open' is useful, but overall behavioral depth is moderate.

    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, using a docstring format with clear Args sections. Every sentence earns its place without fluff. Slight reduction for the verbose format (Args block could be more compact).

    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 moderate complexity (3 parameters, one optional with default) and the presence of an output schema (which reduces need to describe return data), the description is reasonably complete. It covers all parameters and the basic action. Missing details about pagination or sorting are minor given the output schema.

    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 all parameter meaning must come from the description. The description explains owner, repo, and state with default, which adds value. However, it does not clarify format nuances (e.g., owner as username vs. ID) or further constraints on state values.

    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 pull requests for a repository, which is a specific verb and resource. It distinguishes from siblings like get_pull_request (specific PR) and list_pr_comments (comments), but does not explicitly differentiate from list_unresolved_review_threads.

    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 siblings like get_pull_request or list_pr_comments. There is no mention of prerequisites (e.g., repository access), nor alternatives for more specific queries.

    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 for behavioral disclosure. It only states 'Get full details' and provides parameter names; it does not mention read-only nature, authentication requirements, rate limits, or possible errors. This is a minimal disclosure for a read operation.

    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 extremely concise: one purpose sentence followed by a clean argument list. No filler or redundancy; every line provides needed information, making it easy to parse.

    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 three parameters and an output schema, the description covers the core purpose and parameter semantics. It could be enhanced by mentioning alternatives or edge conditions, but the presence of an output schema removes the need to describe return values, making it sufficient.

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

    Parameters4/5

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

    Schema description coverage is 0%, so the description compensates by listing each parameter with a brief semantic: 'Repository owner,' 'Repository name,' 'Pull request number.' This adds meaning beyond the schema's bare names and types, though the explanations are terse.

    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 opens with 'Get full details of a specific pull request,' which uses a specific verb and resource, clearly distinguishing it from sibling tools like list_pull_requests that operate on collections. The argument list reinforces the intent by naming owner, repo, and pr_number.

    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: when you need details for one specific pull request, use this tool. However, it does not explicitly state when not to use it or name alternatives (e.g., list_pull_requests for multiple PRs). The context is clear enough for an agent to infer but lacks explicit 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 provided, so description must fully disclose behavior. Only states it marks a thread as resolved, omitting details on permissions, idempotency, side effects (e.g., whether already-resolved threads error or succeed silently), or response format. Insufficient for a mutation 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?

    Two sentences plus an Args line, zero redundant text. Every element earns its place, front-loading the core action and then providing necessary parameter context.

    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?

    Adequate for a one-parameter mutation tool with output schema present. Covers purpose and parameter source but lacks behavioral edge cases (errors, idempotency). Falls short of full completeness for safe autonomous invocation.

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

    Parameters4/5

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

    Schema coverage is 0%, but description adds 'GitHub GraphQL node ID of the review thread' to the thread_id parameter, clarifying its type and source beyond the bare schema definition. Single parameter is well-documented.

    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?

    Description uses specific verb+resource: 'Mark a pull request review thread as resolved.' Clearly distinguishes from sibling tools like list_unresolved_review_threads (which retrieves threads) and the PR listing tools.

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

    Usage Guidelines4/5

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

    Explicitly directs users to list_unresolved_review_threads for obtaining thread_id values, establishing a clear prerequisite and companion tool use. Does not state when not to use, but context is sufficient.

    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 burden of behavioral disclosure. It states the tool list comments (a read operation) but does not mention any authentication requirements, side effects, or rate limits. The description is adequate for a simple read tool with an output schema, but greater transparency about pagination or error scenarios would be beneficial.

    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 concise and well-structured: a one-sentence summary, a clarifying sentence, a sibling reference, and a clean parameter list. Every sentence adds value, and the 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?

    Given the tool has 3 simple required parameters and an output schema (which presumably defines return fields), the description is complete for its complexity. It clarifies the scope of comments and excludes review threads. A slight deduction for not specifying whether the output includes pagination or ordering.

    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%, meaning the schema provides no descriptions for the three parameters. The description includes a docstring-style list that restates 'owner', 'repo', and 'pr_number' with minimal context (e.g., 'Repository owner'), but does not explain the format required for each (e.g., username, string patterns, value ranges). Since the schema does not help and the description lacks detail, the score is low.

    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 lists 'general thread comments on a pull request (conversation tab)' and distinguishes these from 'inline review comments on the diff', which is a specific verb+resource combination. It correctly differentiates from sibling tools like list_unresolved_review_threads, which is aimed at inline code reviews.

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

    Usage Guidelines5/5

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

    The description explicitly tells when to use this tool (for top-level comments on the conversation tab) and when not to use it (for inline code review comments). It directly names the alternative sibling tool list_unresolved_review_threads for the latter case, providing clear usage guidance.

    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 bears the full burden: it discloses that only unresolved threads are returned, describes the returned thread structure (node ID, file path, line number, comments), and names the continuation tool. It does not mention pagination, rate limits, or error conditions, but is transparent about the filtering behavior.

    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?

    Extremely concise – two short paragraphs plus a terse Args list. The key behavior (only unresolved) is front-loaded. No redundant or off-topic sentences. Every sentence earns its place.

    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 3 simple required parameters, an output schema existing, and fully transparent behavior, the description provides all necessary context for an agent to select and invoke the tool correctly. It explains the filtering, the thread structure, and the follow-up tool.

    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?

    Although schema description coverage is 0%, the description includes a concise Args section that defines each parameter (owner, repo, pr_number) beyond their names and types, providing clear purpose. The schema only has names and types, so the description adds critical meaning.

    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?

    Clearly states it lists unresolved inline review threads on a pull request, specifying the verb 'list', the resource 'unresolved inline review threads', and distinguishing it from general comment listing or resolution tools.

    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?

    Provides clear context for when to use (to see what still needs attention) and references the sibling tool resolve_review_thread as the next step. However, it does not explicitly say when not to use it, such as for resolved threads or non-inline comments.

    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

tai-mcp-github-pr MCP server

Copy to your README.md:

Score Badge

tai-mcp-github-pr 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/pxl-research/tai-mcp-github-pr'

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