Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct resource and action (e.g., get vs list for pull requests, branches, commits). There is no ambiguity between tools; even closely related ones like get_pull_request_changes and get_pull_request_diff have clear, separate purposes.

    Naming Consistency5/5

    All tools follow the consistent pattern 'bitbucket_<verb>_<noun>', using snake_case throughout. Examples: bitbucket_create_branch, bitbucket_get_pull_requests, bitbucket_post_pull_request_comment.

    Tool Count4/5

    26 tools is slightly high but appropriate for a comprehensive Bitbucket server covering projects, repositories, branches, pull requests, commits, files, and search. The count is justified by the breadth of operations, though a few could be merged.

    Completeness3/5

    Covers many key operations but has notable gaps: no delete for branches/repositories/projects, no merge pull request, no create/update repository. These are common workflows missing, though destructive operations may be intentionally excluded.

  • Average 4/5 across 26 of 26 tools scored. Lowest: 3.4/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
    • Last stable release on
    • 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

  • Behavior3/5

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

    Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, so safety profile is clear. The description adds that it returns a unified diff, which is minimal additional behavioral context. No contradictions.

    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?

    Two sentences that are clear and front-loaded. Slight redundancy but still concise and to the point.

    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?

    While the output schema exists (not shown), the description covers basic purpose but does not explain parameter options or return format nuances. Moderately complete given the tool's 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?

    Schema coverage is 100%, so baseline is 3. The description does not add any additional meaning to parameters like diff_type, whitespace, context_lines, or response_format 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 'Get' and resource 'text diff for a specific file in a pull request'. It distinguishes from sibling tools like get_pull_request_changes and get_commit_diff by being file-specific.

    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 provide any guidance on when to use this tool versus alternatives like get_pull_request_changes or get_commit_diff. No context about when to use or when not to.

    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?

    Annotations provide readOnlyHint=false and destructiveHint=false, which are consistent with creation. Description adds start point detail but does not disclose behavior if branch already exists or other side effects. Adds some value beyond annotations but limited.

    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, front-loaded with purpose, no redundant information. Every word earns its place.

    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 creation tool, description covers core purpose and start point. Lacks details on error scenarios (branch exists), naming restrictions, or permissions. Output schema exists so return values are handled.

    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 100% with parameter descriptions. Description adds example start points ('main', 'develop', commit SHA) which provides context but mostly repeats schema. Baseline 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?

    Description clearly states it creates a new branch in a repository at a given start point. This is a specific verb+resource and distinguishes from sibling tools like bitbucket_get_branches which list 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?

    No guidance on when to use this tool versus alternatives (e.g., UI or other tools). No prerequisites or conditions like required permissions or naming conventions are mentioned.

    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?

    Annotations already declare readOnlyHint, idempotentHint, etc. Description adds minimal behavioral context (only output content hints). No contradiction, but lacks detail on error behavior 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.

    Conciseness4/5

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

    Single sentence, 12 words, conveys purpose efficiently. Could include brief usage hint but remains clear and 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?

    Sufficient for a simple read tool with strong annotations and output schema. Lacks mention of authentication or error handling, but not critical given 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?

    Schema coverage is 100%, so baseline is 3. Description does not elaborate on parameters beyond schema, though it mentions output fields. Adds no additional parameter-specific 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?

    Description clearly states 'Get full details of a single commit' with specific examples (message, author, parents). Distinguishes from siblings like bitbucket_get_commits and bitbucket_get_commit_diff.

    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 (e.g., bitbucket_get_commits for multiple commits). No exclusion criteria or context 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?

    Annotations already indicate read-only and idempotent behavior. Description adds value by explaining that browsing a file returns content (dual behavior) and how to use the 'at' parameter, going beyond annotations.

    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?

    Three sentences, no fluff, front-loaded with main purpose. Every sentence earns its place.

    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?

    With output schema present and rich annotations, description provides core functionality and parameter hints. Minor gaps: no pagination clarification or explicit differentiation from list_files sibling.

    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 baseline is 3. Description mentions 'path' and 'at' but does not add significant meaning beyond the schema's own descriptions. Minor value.

    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?

    Description clearly states verb (browse/lists) and resource (file tree of a repository), and explains conditional behavior for files vs directories. However, it does not explicitly differentiate from sibling tools like bitbucket_list_files or bitbucket_get_file_content, which overlap in functionality.

    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 vs alternatives among the 25 sibling tools. Lacks explicit when-to-use or when-not-to-use context, leaving the agent to infer from tool names.

    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?

    Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds value by stating 'Returns the unified diff showing all changes introduced by the commit' and mentioning optional path restriction, but does not elaborate on output size, performance, or edge cases like extremely large diffs.

    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 with three sentences, all front-loaded with the essential purpose. Every sentence adds value, and there is no redundant or irrelevant 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?

    Given the existence of an output schema and full parameter documentation, the description is largely sufficient. It covers the primary functionality and optional path restriction. Could be slightly enhanced with hints about pagination or large diffs, but not necessary for most use cases.

    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 100%, so baseline is 3. The description only highlights the 'path' parameter, which is already described in the schema. No additional semantics are provided for 'whitespace', 'context_lines', 'response_format', or other parameters.

    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 action ('Get the diff') and resource ('specific commit'), and specifies the output format ('unified diff'). It distinguishes from sibling tools like bitbucket_get_pull_request_diff by targeting commits rather than 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 such as bitbucket_get_commit or bitbucket_get_pull_request_diff. The description does not provide context for selection criteria or when to avoid using this tool.

    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?

    Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description needs to add value beyond those. It adds a behavioral note that the tool returns only projects the authenticated user has access to, which is useful but not extensive. No contradictory information is present.

    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 very concise with three short sentences that front-load the main purpose. Every sentence adds value: the first states the core function, the second clarifies scope, and the third highlights key filters. No extraneous text.

    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 covers the main purpose and key filters, and the existing schema and output schema handle pagination (start, limit) and response format. It is complete enough for a filtered-list tool with good annotations. However, a brief mention of pagination control could make it slightly more self-contained.

    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 repeats that name filters by name and permission filters by access level, but this adds no new meaning beyond the already well-documented schema parameters. It meets the baseline but does not exceed it.

    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 'Get a list of Bitbucket projects' with a specific verb and resource. It also notes that it returns only projects the user has access to, which adds context. However, it does not explicitly differentiate from sibling tools like bitbucket_get_project (singular) or bitbucket_get_repositories, leaving some room for confusion.

    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 by stating the tool returns projects and allows filtering by name and permission. However, it does not provide explicit guidance on when to use this tool versus alternatives (e.g., when a single project is needed vs. a list), nor does it mention any prerequisites or 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?

    Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds that the tool returns commit hashes and supports filtering, which provides some behavioral context beyond annotations. However, it omits details on pagination behavior, rate limits, or the fact that results are paginated (limit/start parameters). With annotations covering safety, a score of 3 is appropriate.

    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, highly concise, and front-loaded with the primary purpose. Every sentence adds value: first defines the action, second details output and a key usage tip. No wasted words.

    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 7 parameters (100% schema coverage), strong annotations (readOnly, idempotent, destructive=false), and an output schema (exists but not shown), the description is fairly complete. It covers the main purpose, return value, and filtering. Minor omissions (pagination, ordering) are covered by schema descriptions. A brief mention of pagination would improve completeness, but overall it's adequate.

    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 100%, so all parameters have descriptions. The description only explicitly mentions filter_text, reinforcing its substring-match behavior. This adds marginal value over the schema, which already describes filter_text similarly. Baseline 3 is correct given high schema coverage.

    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 'List tags in a repository,' specifying the verb and resource. It distinguishes from siblings like get_branches and get_commits by naming 'tags' explicitly. However, it does not explicitly contrast with other tag-related tools (none apparent), so it's clear but not exceptional.

    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 advises using the filter_text parameter to search by name, which provides some usage guidance. However, it does not explain when to use this tool versus alternatives like get_branches or get_commits, nor does it mention pagination or ordering usage. Guidance is present but minimal.

    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?

    Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that it shows which files were changed, which is consistent but does not disclose additional behaviors like pagination, error handling, or output format details.

    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, to the point, with the core purpose in the first sentence and additional detail in the second. No fluff or redundant information.

    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?

    Given the tool has 8 parameters and an output schema, the description covers the main purpose but omits guidance on pagination, filtering (change_scope), and output format. It is adequate but could be more complete to help an agent navigate optional features.

    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 description does not need to explain parameters. It adds no extra meaning beyond the schema; for instance, it doesn't describe how 'change_scope' or 'with_comments' affect results.

    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 gets the list of files changed in a pull request, specifying the types of changes (added, modified, deleted, renamed). This distinguishes it from sibling tools like bitbucket_get_pull_request_diff (which shows diff content) and bitbucket_get_commit_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 description implies the tool is for file-level change information, but it does not explicitly state when to use it over alternatives like get_pull_request_diff or get_commit_diff. No guidance on exclusions or context is provided.

    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?

    Annotations are rich (readOnlyHint, idempotentHint, destructiveHint false). Description adds that it lists only repos the authenticated user has access to, which is a behavioral detail not in annotations. However, it does not describe pagination behavior or result size limits beyond schema.

    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?

    Two sentences clearly state purpose and scope. Efficient but could be slightly more structured (e.g., mentioning key parameter project_key upfront). Still, no wasted text.

    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?

    Description is sufficient for a read-only listing tool with a single required parameter and existing output schema. It covers the main use case, though omits mention of pagination or output format options (handled by 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 coverage is 100%, so baseline is 3. Description does not elaborate on parameters, leaving schema to define them. No additional semantic context is provided.

    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 clearly states verb 'Get' and resource 'repositories for a Bitbucket project', distinguishing it from sibling tools like bitbucket_get_repository (singular) and bitbucket_search_repositories (search vs list). It also specifies scope: 'within the specified project' and 'that the authenticated user has access to'.

    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?

    Description implies usage context (requires project_key, lists accessible repos) but does not explicitly state when to use this tool vs alternatives like bitbucket_search_repositories or bitbucket_get_repository. No '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.

  • Behavior3/5

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

    Annotations already indicate readOnly, idempotent, non-destructive. The description adds that it returns 'full file content as text', but does not disclose additional behavioral traits like auth requirements, rate limits, or handling of binary files.

    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?

    Three concise sentences, no redundancy. Front-loaded purpose, then return format, then parameter hint. Every sentence earns its place.

    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 tool with output schema, the description is complete. It covers purpose, output, and key parameter. No missing context like error handling, but output schema likely handles that.

    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?

    Input schema covers 100% of parameters with descriptions. The description reinforces the 'at' parameter usage but adds no significant meaning beyond the schema. Baseline is 3 for high coverage.

    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 'Get the raw content of a file from a repository' with a specific verb and resource. It distinguishes from siblings like 'bitbucket_browse' (likely shows tree/UI) by emphasizing 'raw content'.

    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 with the 'at' parameter but does not explicitly say when to use this tool vs alternatives like code_search or browse. No when-not-to-use or exclusion guidance is provided.

    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?

    Annotations fully cover safety (readOnlyHint=true, destructiveHint=false, idempotentHint=true). The description adds 'including description and reviewers' which hints at contents but does not disclose additional behavioral traits or constraints beyond what annotations provide.

    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?

    Single sentence, no wasted words. Front-loaded with the core purpose. Every word earns its place.

    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 presence of output schema and thorough annotations, the description is adequate. It mentions key output contents. However, it could briefly note that response_format controls output type, though that is covered in parameters. Still, complete enough for a simple read tool.

    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 100%, with each parameter well-described. The description adds no extra meaning about parameters beyond the schema. Baseline score 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?

    Description clearly states the action (Get), the resource (full details of a specific pull request), and key contents (description and reviewers). It distinguishes from sibling tools like get_pull_requests (list) and get_pull_request_changes (code changes).

    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?

    No explicit when-to-use or when-not-to-use guidance. While it's implied that this tool is for retrieving full details of a single PR, the description does not help the agent choose between this and related tools like get_pull_request_diff or get_pull_request_comments.

    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?

    Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description adds little beyond confirming it's a read operation. No contradictions; description aligns with annotations.

    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?

    Single sentence, 12 words, no extraneous information. Essential 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?

    Includes key output context (clone URLs, configuration). With an output schema present, this is sufficient for a simple read operation. Could mention that it returns the full repository object, but not necessary.

    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 has 100% parameter descriptions, so the baseline is 3. The description does not enhance parameter understanding; it only mentions output highlights (clone URLs, config).

    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 specifies the action ('Get details') and resource ('specific repository'), with concrete output features ('clone URLs and configuration'). Differentiates from siblings like bitbucket_get_repositories which lists 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?

    Implies usage when you need details of a specific repository, but provides no explicit guidance on when to use this tool over alternatives (e.g., browse, search) or any prerequisites.

    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?

    Annotations already indicate the tool is read-only, idempotent, and non-destructive. The description adds behavioral details like recursive listing and returning only file paths, which complements the annotations without contradiction.

    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, concise, and front-loads the core functionality. Every sentence adds value with no redundancy.

    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?

    With an output schema present, the description does not need to explain return values. It covers the core purpose and behavior well, though it could be slightly more detailed about pagination or default behavior. The annotations further complete the 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?

    The input schema has 100% description coverage, so parameters are well-documented in the schema. The description does not add significant extra meaning beyond what the schema already provides, so a score of 3 is appropriate.

    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 recursively lists all file paths in a repository or sub-directory and returns a flat list with no directories. However, it does not explicitly differentiate from sibling tools like bitbucket_browse or bitbucket_get_file_content, which might also be used for exploring repository structure.

    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 mentions it is useful for understanding project structure or finding files by name, which gives some context. But it does not provide explicit guidance on when to use this tool versus alternatives or any prerequisites or limitations.

    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?

    Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is clear. Description adds that it retrieves details, but no extra behavioral context (e.g., no mention of response format or potential errors). With annotations carrying the burden, a 3 is appropriate.

    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?

    Single sentence with no extraneous information. Front-loaded, efficient, and to the point.

    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 output schema exists (not shown but indicated), and annotations cover safety, the description is complete enough for a single-project retrieval tool. No gaps.

    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 100% with descriptions for both parameters (project_key with example, response_format with enum and default). Description does not add additional semantic meaning beyond the schema, so baseline 3.

    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 states 'Get details of a specific Bitbucket project by its key.' Uses a specific verb ('Get') and clearly identifies the resource ('project') and the identifier ('key'). Distinguishes from sibling 'bitbucket_get_projects' which retrieves multiple projects.

    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?

    No guidance on when to use this tool vs alternatives. The description is sufficient but lacks explicit context like 'Use this to retrieve a single project; for multiple projects use get_projects.' Nonetheless, it's not misleading.

    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?

    Annotations indicate destructive behavior, and the description adds that it creates a PR from one branch to another with optional fields, which is sufficient with annotations present.

    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 concise sentences that front-load the core action and key optional parameters with no wasted words.

    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 covers the essential creation logic and optional fields, and with an output schema present, return values need not be explained. It is almost complete but could mention success indication.

    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 description adds no extra meaning beyond listing key parameters already described in 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 tool creates a new pull request, specifying the from and to branches and optional description/reviewers, which distinguishes it from sibling tools like get or update.

    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 creating PRs but does not explicitly state when to use it versus alternatives like update or get, nor does it provide exclusions.

    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?

    Annotations already declare readOnlyHint, idempotentHint, destructiveHint false. The description adds value by specifying the return includes all activities (comments, approvals, status changes) and inline code comments with details, which is beyond the annotations.

    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 with no fluff. Front-loaded with the core purpose, immediately useful 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?

    Given the presence of an output schema and 6 parameters (3 required), the description adequately explains what is returned (all activities, inline comments). Could mention the response_format parameter, but not necessary as it's in the 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 has 100% coverage for parameters. The description does not add additional meaning beyond what the schema provides; it mentions the nature of returned data but not param-specific details.

    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 gets comments and activity for a pull request, specifying it returns all activities including inline code comments with file path and line info. This distinguishes it from sibling tools like get_pull_request or get_pull_request_changes.

    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 this tool is for reading comments and activity, but does not explicitly state when to use it over alternatives or provide exclusions. No guidance on pagination or filtering beyond what parameters offer.

    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?

    Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds behavioral context by stating it returns branches with latest commit hash and supports filter_text. No contradictions with annotations.

    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 efficiently cover purpose, output, and a key usage hint. No extraneous information. Front-loaded with the main action and resource.

    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?

    For a read-only listing tool with annotations and an output schema, the description is complete. It covers the primary purpose, return content, and filter capability, meeting all needs for correct agent 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 coverage is 100% with detailed parameter descriptions. The description only highlights `filter_text` usage, which adds marginal value beyond the schema. Baseline of 3 is appropriate given full schema coverage.

    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 branches in a repository' and specifies that it returns 'branches with their latest commit hash'. It differentiates from sibling tools like bitbucket_create_branch and bitbucket_get_tags by focusing on branch listing with filter support.

    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 mentions using `filter_text` to search branches by name, but does not provide guidance on when to use this tool versus alternatives like bitbucket_browse or bitbucket_get_tags. No exclusions or comparative context are given.

    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?

    Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds that it uses Elasticsearch, returns context and line numbers, and requires a feature to be enabled, providing useful behavioral context beyond annotations.

    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 with four sentences, front-loaded with the main action. No unnecessary words; each sentence 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?

    Given the well-described schema (100% coverage), annotations, and existence of an output schema, the description covers the essential information: scope, result format, and prerequisite. Very complete.

    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 100% with detailed parameter descriptions, so the description adds little extra. The query parameter is well-documented in the schema with examples. 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 searches code across all Bitbucket repositories using the search API, distinguishing it from repository-level search tools like bitbucket_search_repositories. It specifies the scope (all accessible repos) and output (files with context and line numbers).

    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 good usage context: it searches across all accessible repositories and requires the Bitbucket Search feature to be enabled. It does not explicitly state when not to use it, but the context is clear.

    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?

    Annotations already declare readOnly, idempotent, and non-destructive. The description adds value by specifying default state (OPEN), default order (newest first), and filtering by text. Contradicts no annotations.

    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, front-loaded with the core purpose. No redundant words. Every sentence adds essential 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?

    Given full schema coverage, rich annotations, and an output schema, the description is sufficient. It covers the main filtering and defaults. Could mention pagination (start, limit) but those are in schema. No major gaps.

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

    Parameters4/5

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

    Schema coverage is 100%, so baseline is 3. The description adds context by mentioning 'filtered by state, direction, and text' and clarifying the default order ('ordered by newest first'), which goes beyond the schema's 'default: null' for order.

    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 'List pull requests for a repository' with filtering criteria. Distinguishes from siblings like bitbucket_get_pull_request (single PR) by specifying list operation.

    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?

    Describes what the tool does but provides no explicit guidance on when to use it versus alternatives like bitbucket_get_pull_request or bitbucket_get_pull_request_changes. The sibling list is external, and the description lacks 'when to use' or 'when not to use' hints.

    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?

    Annotations already denote destructive write (destructiveHint=true). The description adds that comments can be inline and supports Markdown, providing useful context beyond annotations. No contradictions.

    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 sentences, front-loaded purpose, no wasted words. Each sentence 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?

    For a tool with 8 parameters and multiple comment types, the description covers all major use cases. The presence of an output schema reduces the burden. Missing details about permissions or limits, but adequate for typical agent use.

    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 100%, so baseline 3 applies. The description adds minimal parameter insight beyond what the schema provides (e.g., 'supports Markdown' is in schema). It does not elaborate on parameter semantics meaningfully.

    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 posts a comment on a pull request and lists three distinct modes: general, reply, inline. This specificity distinguishes it from sibling tools like delete or get comments.

    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 explains when to use each mode (general, reply, inline) by referencing parameters like parent_id, file_path, line. However, it does not explicitly guide when not to use this tool or compare with alternatives like update, but the context is clear enough.

    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?

    Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds behavioral context by explaining the reverse chronological order and the semantics of 'since' and 'until' (like git log). This goes beyond the annotations without contradicting them.

    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 only three sentences with no wasted words. It is front-loaded with the main purpose, then provides key usage details. Every sentence contributes meaning without redundancy.

    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 8 parameters, a complete output schema, and minor annotations, the description adequately covers the core functionality (ordering, filtering by range or path). It does not mention pagination or limit/start, but those are documented in the schema. The description is sufficient for an agent to understand the tool's primary use.

    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 100% description coverage for all 8 parameters. The description adds value by explaining the intended usage of 'since', 'until', and 'path' with a git-log analogy, which is not present in the schema, thus enhancing parameter semantics 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 'Get commits for a repository' as the overall purpose, and specifies the reverse chronological order. This distinguishes it from sibling tools like bitbucket_get_commit (single commit) and bitbucket_get_commit_diff (diff). The verb 'get' and resource 'commits' are specific and unambiguous.

    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 explicit guidance for using 'since' and 'until' to specify a commit range and 'path' to filter by file, including a git-log analogy. However, it does not explicitly contrast with sibling tools like bitbucket_get_commit or bitbucket_get_commit_diff, though the context implies differentiation.

    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?

    Annotations already mark it as read-only, idempotent, and non-destructive. The description adds important behavioral context about discovering reviewers based on merge checks or rules, without contradicting annotations.

    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 concise sentences: first for purpose, second for usage. Every sentence is essential and 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?

    With an output schema and full schema coverage, the description covers purpose and usage sufficiently. It could hint at the response_format parameter, but overall it is complete for the task.

    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%, and the description adds no parameter-specific details beyond the schema, so baseline 3 applies.

    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 'Get required reviewers for a potential pull request between two branches,' with a clear verb and resource, and it distinguishes from sibling tools like bitbucket_get_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 Guidelines5/5

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

    The description explicitly says 'Use this before creating a PR to discover mandatory reviewers configured via merge checks or default reviewer rules,' providing clear when-to-use context.

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

  • Behavior4/5

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

    Annotations already indicate destructiveHint=true and readOnlyHint=false. The description adds the critical behavioral constraint of optimistic locking via version, which is beyond what annotations provide. No contradictions.

    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 concise sentences: the first states the core purpose, the second adds an essential requirement. Every word earns its place; no redundancy.

    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 presence of an output schema, return values are covered. The description explains the locking requirement but does not explicitly state that the update is a full replacement (all required params). However, the schema implies that. Overall, sufficient for effective use.

    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?

    With 100% schema coverage, the baseline is 3. The description adds value by explaining the version parameter's purpose (optimistic locking) and noting that text supports Markdown, which is extra context beyond the schema's 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 'Update an existing comment on a pull request' clearly identifies the action, resource, and distinguishes from sibling tools like post (create) and delete. The version requirement further differentiates it.

    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 states the need for the current comment version, implying a prerequisite call to get_comments. However, it does not explicitly state when not to use (e.g., for creating or deleting) nor name alternatives, though siblings are clear from context.

    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?

    Annotations already provide read-only, idempotent, and non-destructive hints. The description adds authentication context (user access) and mentions filtering options. No contradictions.

    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 concise sentences with front-loaded purpose. No unnecessary words, every sentence adds value.

    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 6 optional parameters, full schema coverage, presence of output schema, and comprehensive annotations, the description covers scope, auth context, and key differentiator. Complete for a search 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?

    Schema coverage is 100%, so baseline is 3. The description adds value by explaining that the tool does not require a project key, which is implied in the parameter semantics but made explicit here.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states it searches repositories across all projects, with optional filters. It explicitly distinguishes from sibling tool bitbucket_get_repositories by noting it does not require a project key.

    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 context for when to use (no project key needed) and contrasts with a sibling tool. It could be more explicit about when not to use, but the guidance is clear enough.

    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?

    Annotations indicate destructiveHint=true, and the description adds that it requires version for locking, which is important behavioral context. The schema further notes reviewers replace existing, but the description itself doesn't mention replacement, so slightly less 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?

    Two sentences only: first states purpose, second provides critical prerequisite. No wasted words, front-loaded with the action.

    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 update tool with output schema, the description covers the main purpose and a key behavioral note (version). It could mention partial update semantics or error conditions, but it is largely complete given the complexity.

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

    Parameters4/5

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

    Schema coverage is 100%, so baseline is 3. The description adds context for the version parameter (optimistic locking, where to fetch), which goes beyond the schema's own 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 tool updates a pull request's title, description, or reviewers, using specific verbs and resources. It distinguishes itself from sibling tools like bitbucket_create_pull_request or bitbucket_get_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 Guidelines5/5

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

    Explicitly tells the agent it requires the PR version for optimistic locking and instructs to fetch it first using bitbucket_get_pull_request. This provides clear when-to-use and prerequisite guidance.

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

  • Behavior5/5

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

    Discloses optimistic locking requirement and permission constraints beyond annotations. Consistent with destructiveHint=true.

    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?

    Three concise sentences that are front-loaded with purpose, then requirements, then permissions. No unnecessary words.

    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?

    Covers purpose, requirements, and permissions. With output schema present, no need to describe return values. Completeness is high.

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

    Parameters4/5

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

    Schema coverage is 100% with good parameter descriptions. The description adds context about the version parameter for optimistic locking, enhancing understanding.

    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 'Delete a comment from a pull request', which is a specific verb and resource. It distinguishes from sibling tools like post and update.

    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?

    Mentions the need for the current comment version for optimistic locking and that only the author or admin can delete. Provides implicit guidance to get version from bitbucket_get_pull_request_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

mcp-bitbucket-dc MCP server

Copy to your README.md:

Score Badge

mcp-bitbucket-dc 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/christopherekfeldt/mcp-bitbucket-dc'

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