Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools have clearly distinct purposes (page CRUD, section manipulation, attachments, labels). However, upload_attachment and upload_image_and_embed overlap in functionality, and get_page_sections vs get_section might cause confusion for agents.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case (e.g., get_page, create_page, list_attachments, update_section). Verb choices are predictable and readable.

    Tool Count4/5

    At 17 tools, the server is slightly heavier than the ideal 3-15 range, but each tool addresses a distinct Confluence operation. The count is justified by the breadth of features (pages, sections, attachments, labels, images).

    Completeness3/5

    The tool set covers create, read, and update for pages, plus attachments and labels. However, there are no delete operations for pages, attachments, or labels, which is a notable gap in lifecycle coverage.

  • Average 3.8/5 across 17 of 17 tools scored. Lowest: 2.7/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
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

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

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

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

  • If you are the author, simply .

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

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

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

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

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

How is the quality score calculated?

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

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

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

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

Tool Scores

  • Behavior2/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. It only says 'List all attachments on a page' without mentioning return format, pagination, read-only semantics, or whether it includes images or only file attachments. This is a significant gap for a listing tool.

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

    Conciseness3/5

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

    The description is very short and front-loaded, but the 'Args' section simply restates the schema parameter without added detail. It is concise but not well-structured, as the redundant arg documentation wastes space.

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

    Completeness2/5

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

    Despite having an output schema, the description lacks essential context such as what counts as an attachment, how it relates to sibling tools, and when it should be used. The tool is too underspecified for reliable invocation by an agent.

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

    Parameters1/5

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

    The schema has 0% description coverage, so the description must compensate. However, it only repeats 'page_id: The page ID,' which adds no meaning beyond the schema's field title 'Page Id.' No format, source, or usage details are 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?

    The description clearly states 'List all attachments on a page,' which identifies the verb (list), the resource (attachments), and the scope (on a page). This distinguishes it from sibling tools like download_attachment, upload_attachment, and list_page_images.

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

    Usage Guidelines2/5

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

    There is no guidance on when to use this tool versus alternatives such as list_page_images or download_attachment. The description only states what it does, not when it should be preferred or excluded.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It only states the basic action 'Add a label' without any nuance about duplicate labels, idempotency, error conditions, or permissions. This is a significant gap 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.

    Conciseness4/5

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

    The description is extremely concise and front-loaded, with a clear one-line purpose followed by a simple Args list. No filler words or redundant explanations. It is efficient but lacks depth.

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

    Completeness2/5

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

    Given that this is a mutation tool with no annotations, the description is under-specified. It does not explain behavior on duplicate labels, whether labels are additive or replacing, or any side effects. The output schema exists, so return values are covered, but operational behavior remains ambiguous.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate. The Args section restates the parameter names as 'page_id: The page ID' and 'label: The label text', which adds little beyond the schema's property names and types. No format, constraints, or additional semantics are 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?

    The description clearly states 'Add a label to a page' with a specific verb (add) and resource (label to page). This distinguishes it from sibling tools like get_labels (which retrieves labels) and update_page (which modifies page content).

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or how it relates to get_labels or other page-manipulation tools. The intended usage is only implied by the stated purpose.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that it lists image references, but does not clarify whether the operation is read-only, what 'image references' includes (e.g., embedded vs. attachments), or how missing/invalid page IDs are handled. This lack of detail leaves significant behavioral ambiguity.

    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 very brief and front-loaded with the tool's purpose. The Args section is clear and structured, though it repeats information already available in the schema. It is concise without wasted words, but the brevity contributes to the lack of depth in other dimensions.

    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 list tool with one parameter and an output schema, the description is minimally adequate. However, it does not explain what constitutes an 'image reference' or whether the output contains URLs, paths, or IDs. The presence of an output schema reduces the need to describe returns, but the description still leaves gaps in conceptual clarity.

    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?

    The schema has 0% description coverage, so the description must compensate. The only parameter, page_id, is described as 'The page ID,' which adds no meaningful information beyond the parameter's name and type. No format, source, or validation details are provided, making the description insufficient for properly understanding the parameter.

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

    Purpose4/5

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

    The description states a specific action and resource: 'List all image references in a page.' This clearly identifies the tool's function and distinguishes it from siblings like get_page_sections or list_attachments. However, it does not explicitly differentiate from potentially similar tools, so it falls short of a perfect score.

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

    Usage Guidelines3/5

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

    The phrase 'in a page' implies the tool is used to retrieve image references for a given page, but it does not provide explicit guidance on when to use this tool versus alternatives. No exclusions or alternative tool recommendations are mentioned, leaving usage context only implied.

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

  • Behavior2/5

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

    With no annotations, the description must disclose side effects and caveats. It only mentions preserving HTML structure, but doesn't explain whether the replacement is global, case-sensitive, regex, or whether it creates a new version (despite the version_message parameter). It also doesn't state if the operation is reversible or has any failure modes.

    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 efficient: a one-sentence overview followed by an argument list. Every line provides essential information without redundancy, making it easy to parse.

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

    Completeness2/5

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

    The tool is a mutation with no annotations, and the description omits critical context such as return behavior, error cases, and whether the operation is scoped to the whole page or just visible text. The presence of an output schema doesn't compensate for the lack of operational details and usage context.

    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?

    Although the description lists each parameter with a one-line explanation, these add little beyond the schema's property names and titles. For example, 'Text to search for' is essentially restating 'find_text'. It doesn't clarify whether find_text is plain text or regex, what 'preserving HTML structure' means for replacement, or the effect of version_message.

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

    Purpose5/5

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

    The description clearly states a specific action ('Find and replace text within a page') and an important constraint ('preserving all HTML structure'), which distinguishes it from sibling tools like update_page or append_to_section.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives such as update_page or update_section. It doesn't mention prerequisites, exclusions, or typical use cases. An agent would have to infer appropriate usage from the tool name alone.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure, but it only states the basic action. It does not mention whether the operation is read-only, the return format, or any side effects. For a simple getter, this is minimal but not misleading.

    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, consisting of one sentence and a single parameter definition. It is front-loaded with the core purpose and contains no unnecessary words.

    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's simplicity (one parameter, output schema present), the description is adequate but not fully complete. It covers the essential purpose but lacks explicit behavioral details like read-only status or any caveats that would help an agent invoke it correctly.

    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 description adds 'The page ID' for the page_id parameter, which is slightly more than the schema's type and title but essentially restates the parameter name. With schema description coverage at 0%, the description provides only minimal additional context.

    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 'Get labels on a page' with a specific verb and resource, distinguishing it from sibling tools like get_page, get_page_sections, and add_label. The purpose is unambiguous.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It lacks any explicit context, exclusions, or mention of related tools like add_label, leaving the agent to infer usage solely from the tool name.

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

  • Behavior2/5

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

    With no annotations provided, the description must carry the full burden of behavioral disclosure. It only mentions that body is ignored if input_file is provided, but omits permissions, error behavior, side effects, or what the API returns.

    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 tightly structured: a one-sentence purpose followed by a clean Args block with each parameter on its own line. No redundant or filler content.

    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 output schema exists, return values need not be explained. The description covers all parameters and defaults, but lacks information on permissions or how this tool relates to other page tools.

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

    Parameters5/5

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

    The description provides meaningful explanations for all six parameters, including numeric space_id, body_format enum, parent_id optionality, and the body vs input_file interaction. This adds substantial value beyond the bare schema titles.

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

    Purpose5/5

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

    The description begins with 'Create a new Confluence page.', which clearly states the tool's purpose with a specific verb and resource. This distinguishes it from sibling tools like get_page and update_page.

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

    Usage Guidelines2/5

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

    No guidance is given on when to use this tool versus alternatives. It does not mention when to prefer create_page over update_page or 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?

    With no annotations provided, the description must carry the transparency burden. It indicates a read-only operation via 'List' and shows the content is included, but it does not disclose details like section ordering, nesting, or pagination.

    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 one sentence plus a short args list, front-loaded with the primary action. No unnecessary words or repetition.

    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 one-parameter read-only tool with an output schema, the description is adequate. It could mention edge cases or behavior with empty pages, but overall it provides enough context for an agent to invoke it correctly.

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

    Parameters3/5

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

    The schema itself has 0% description coverage, so the description's 'Args: page_id: The page ID' provides the only semantic cue. However, it is essentially a restatement of the parameter name with minimal added value—no format, constraints, or examples.

    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 function: 'List all sections (headings) of a page with their content.' It uses a specific verb ('List') and resource ('sections of a page'), and distinguishes itself from siblings like get_section (singular) and get_page_tree (hierarchy).

    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?

    Usage context is implied but not explicit. The description says what it does but does not mention when to use it over alternatives like get_section or get_page, nor does it provide any exclusions or prerequisites.

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

  • Behavior3/5

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

    With no annotations, the description carries the behavioral transparency burden. It discloses the key output behavior (base64 by default, file save with output_file) but omits other aspects like error handling, file not found behavior, or size limits.

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

    Conciseness5/5

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

    The description is concise: a one-line purpose statement followed by a tight Args section. No wasted words, and the most critical information (purpose and options) 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 only 3 parameters and an output schema, the description covers the essentials: what it does and the two output modes. It doesn't detail error cases or security, but those are less critical for a simple download utility.

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

    Parameters5/5

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

    Schema description coverage is 0%, so the description must explain parameters. It does so effectively: page_id, filename, and output_file are all described clearly, including the effect of leaving output_file null.

    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 a specific verb and resource: 'Download an attachment from a page by filename.' This clearly distinguishes it from siblings like list_attachments and upload_attachment by focusing on retrieval of a single known attachment.

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

    Usage Guidelines2/5

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

    There is no explicit guidance on when to use this tool versus alternatives. It does imply the need to know the filename, but it doesn't mention list_attachments for discovery or provide any exclusions or prerequisites.

    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?

    Descriptions must carry the full burden since annotations are absent. It does disclose behavioral details like exact heading matching, body_format options, and optional file output. However, it does not explicitly state that this is a read-only operation, nor does it describe error behavior when headings are not found.

    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 appropriately sized with a single-purpose opening sentence followed by a clear, per-line argument list. Every line adds semantic value without redundancy.

    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's simplicity and the presence of an output schema, the description covers purpose and all parameters. However, it lacks usage guidance (when to use vs alternatives) and behavioral context (e.g., error handling, read-only nature), which leaves some gaps for an agent.

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

    Parameters5/5

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

    Schema coverage is 0%, so the description must fully explain parameters. It does so effectively: page_id (page ID), heading (exact text), body_format (allowed values and default), and output_file (behavior). This adds significant value beyond the bare 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's action ('Get content of a specific section') with a specific resource (a section by heading name). This distinguishes it from siblings like get_page (whole page) and get_page_sections (list of sections).

    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 know the exact heading text, but provides no explicit guidance on when to use this tool versus alternatives (e.g., get_page_sections or get_page). No exclusions or alternative recommendations 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?

    No annotations are provided, so the description carries the full burden. It discloses the precedence of input_file over content and supports content_format choices ('markdown' or 'storage'), which is useful. However, it omits side effects (e.g., whether a new version is created), permission requirements, or error conditions—important 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?

    The description is front-loaded with a one-sentence summary, followed by a clean, bulleted Args list. Every sentence serves a purpose, with no redundant or extraneous information. It is both concise and well-structured.

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

    Completeness4/5

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

    Given the presence of an output schema and moderate complexity (6 params), the description is largely complete: it covers all parameters and the core behavior. It lacks behavioral context like versioning impact or permission prerequisites, but these are not required by the schema. Overall, it adequately informs an agent about what the tool does and how to invoke it.

    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%, but the description compensates by listing all six parameters with meaningful explanations. It adds semantics beyond the schema by stating 'content ignored if input_file is provided' and clarifying the content_format options and optional nature of version_message.

    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 explicitly states 'Append content to the end of a specific section,' which uses a specific verb and resource, and accurately differentiates from sibling tools like update_section (which would replace content). The action is unambiguous and directly aligns with the tool's name.

    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 clearly implies usage through the verb 'append' and the target 'specific section,' and the parameter list clarifies when content versus input_file is used. However, it does not explicitly mention when not to use this tool or contrast it with alternatives like update_section or update_page, so it stops short of full when/when-not guidance.

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

  • Behavior3/5

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

    With no annotations to rely on, the description carries the full burden of behavioral disclosure. It does disclose the key scoping behavior and the precedence rule (input_file overrides new_content). However, it leaves gaps: what happens if the heading appears multiple times or not at all, and whether the operation is atomic or reversible. These are meaningful behavioral ambiguities.

    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 tightly written: a single lead sentence conveying the core action, followed by a clean argument list. Every line provides necessary information, and it avoids fluff. The structure makes it easy to scan and quickly grasp the tool's purpose and parameters.

    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 6 parameters, an output schema, and no annotations, the description covers the key aspects: what the tool does, parameter semantics, and an important edge case (input_file override). It does not address error conditions like 'heading not found' or ambiguous headings, which would improve completeness. Overall, it is nearly complete for its 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?

    The description compensates for the absence of schema parameter descriptions. It explains each of the six parameters, adds crucial detail for new_content (ignored if input_file is provided), and specifies allowed values/default for content_format. The brief definitions for page_id and heading are minimal but still provide basic semantic grounding.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Surgically replace the content of a specific section by heading.' It uses a specific verb ('replace') and resource ('section'), and distinguishes itself from siblings by emphasizing that only the targeted section changes and the rest of the page remains untouched. This differentiates it from update_page (whole page) and append_to_section (append).

    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 implies the proper use case: when you need to replace a single section identified by heading without affecting other content. It does not explicitly name alternatives or exclusions, but the 'only the section...' phrasing provides clear context for when this tool is appropriate. This is sufficient for a competent agent to select it over siblings.

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

  • Behavior4/5

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

    With no annotations, the description carries the behavioral burden. It discloses side effects such as writing the body to a file via output_file, downloading and rewriting images with include_images, and the images_dir default. It does not explicitly state that the page is not modified or cover error cases, but the key non-obvious behaviors are covered.

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

    Conciseness5/5

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

    The description is a well-structured docstring: a one-sentence purpose followed by a clean Args list. Every line adds value, with no redundancy or filler. It is front-loaded with the primary 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?

    The description covers all six parameters and their side effects, and the output schema handles return values. It lacks explicit guidance on when to use this tool vs. alternatives and does not state that it is a non-mutating read operation, but these are minor given the parameter detail and output schema.

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

    Parameters5/5

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

    Schema description coverage is 0%, so the description fully compensates. It explains every parameter: page_id as numeric, include_body default, body_format options, output_file behavior, include_images conditionality, and images_dir default. This adds far more meaning than the bare schema properties.

    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 a Confluence page by ID,' which is a specific verb plus resource. It differentiates from siblings like search_pages (search by query) and get_page_sections (list sections) by focusing on fetching a single full page by its unique ID.

    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?

    Usage context is implied rather than explicit. The description does not mention when to prefer this over search_pages or get_page_tree, nor any exclusions or alternatives. It provides parameter-level guidance (e.g., use output_file to keep LLM context clean) but no direct comparison to sibling tools.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the purpose and parameters but does not explicitly confirm that it is a read-only operation, nor does it describe the output structure (though an output schema exists). Since search tools generally have no destructive side effects, the risk is moderate, but more transparency—such as noting it returns a list of matching pages—would improve the score.

    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: a single lead sentence stating purpose, followed by a compact argument list. Every sentence provides necessary information without fluff, and the structure is front-loaded with the main purpose, making it easy to scan.

    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 simple nature of the tool, an output schema, and the parameter explanations, the description is largely complete. The main gap is the lack of guidance on when to use simple text vs. CQL or whether the search is full-text, but this is a minor omission for a straightforward search tool.

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

    Parameters5/5

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

    The schema itself has no parameter descriptions (coverage 0%), so the description must compensate. It does so effectively by defining 'query' as 'CQL query or simple text' and 'limit' as 'Max results (1-50, default 10),' adding format, bounds, and defaults beyond the bare schema fields. This is exactly the kind of added meaning needed for correct invocation.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Search Confluence pages using CQL or simple text.' It uses a specific verb (search) and a distinct resource (Confluence pages), and it names the search methods (CQL or simple text), which differentiates it from sibling tools like get_page (retrieves a specific page) and get_page_tree (returns a hierarchy).

    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 clearly indicates this is the tool for locating Confluence pages via search, providing enough context for an AI agent to infer it's the go-to tool for discovery. However, it does not explicitly list alternative tools or state when not to use it, so it falls short of the 'explicit when/when-not' level.

    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 provided, the description carries the full burden and discloses important behaviors: content_base64 is ignored if input_file is provided, and if filename/content_type are not given they are auto-detected. It also indicates an optional comment parameter. However, it does not mention side effects, permissions, size limits, or overwrite semantics, which would be valuable 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.

    Conciseness4/5

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

    The description opens with a one-sentence summary, then sensibly breaks down all parameters in a structured Args list. It is concise for the amount of information conveyed, though slightly verbose with parameter details that are necessary given the schema's lack of descriptions.

    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 six parameters, two input modes, and no annotations, the description thoroughly covers how to correctly invoke the tool. It explains precedence rules, auto-detection behavior, and all parameter meanings. The existence of an output schema means return values need not be explained. The description is complete for effective use.

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

    Parameters5/5

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

    The schema provides no descriptions (0% coverage), but the description's Args block explains every parameter, including the crucial relationships: content_base64 is ignored when input_file is given, filename is auto-detected, and content_type is auto-detected from filename. This adds meaning far beyond the schema's titles and property names.

    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 'Upload a file as an attachment to a page' with a specific verb and resource, and distinguishes itself from siblings like download_attachment and upload_image_and_embed by focusing on general file attachments. It also explicitly names the two input modes (local file or base64), making the purpose unambiguous.

    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 when to use this tool (for uploading attachments) but does not explicitly compare it with alternatives like upload_image_and_embed or download_attachment. It mentions the two input methods (local file vs base64) but lacks direct 'when to use this over X' guidance. The usage context is clear but exclusions are not stated.

    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 provided, the description carries the full burden of behavioral disclosure. It discloses key traits: body is ignored if input_file is provided, title defaults to keeping current, body_format has a default of markdown, and version_message is a commit message. It also implies destructive replacement via 'entire page's content.' It doesn't cover permissions or rate limits, but the provided behaviors are significant and clearly stated, so a 4 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.

    Conciseness4/5

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

    The description is well-structured with a clear leading sentence followed by a concise argument list. The redundancy between the opening statement and the body parameter explanation is minor but not wasteful. Overall, it is succinct and front-loaded with the core purpose, earning a 4.

    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 6-parameter tool with no annotations, the description covers essential context: the input_file vs body decision, large-content handling, and default behaviors. It doesn't explicitly explain when to use this tool versus sibling update tools, and it relies on the output schema for return details. Still, the provided context is substantial and practical for an agent, so it earns a 4.

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

    Parameters5/5

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

    Schema description coverage is 0%, so the description must fully compensate for parameter semantics. It does so admirably: each parameter is explained with real-world meaning, including the interaction between body and input_file, the allowed values for body_format, and the optional nature of title and version_message. This exceeds the baseline and provides complete semantic clarity.

    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 'Update an entire page's content,' which clearly states the specific action (update), the resource (page), and the scope (entire content). This distinguishes it from sibling tools like update_section and find_replace_in_page, which target subsections or specific content.

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

    Usage Guidelines4/5

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

    The description provides clear context on when to use body versus input_file, explicitly noting that input_file avoids sending large content through the LLM. However, it does not explicitly mention alternatives like update_section for partial updates, so it lacks the explicit exclusion guidance seen in top-tier examples. The guidance is practical and context-rich, earning a 4.

    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 provided, the description carries the full transparency burden. It discloses local file system writes when output_dir is set, image downloads and URL rewriting when include_images is true, and performance implications of include_body. It does not explicitly state that Confluence is never modified, but the verb 'get' plus the local-only side effects imply a read-only operation on the server.

    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 well-structured with a one-sentence summary followed by an Args block. Every sentence earns its place—no fluff, while the cross-reference to the fetch-confluence skill adds useful context. It is compact given the tool's complexity.

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

    Completeness5/5

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

    Given the tool's complexity (recursive tree, optional file system writes, image downloads), the description covers all key behaviors and parameter interactions. An output schema exists, so return-value details are not needed. Minor edge cases like missing directories or error handling are absent, but the core usage and effects are thoroughly described.

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

    Parameters5/5

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

    Schema description coverage is 0%, yet the description gives meaningful semantics for all five parameters: page_id identifies the root, include_body controls markdown body fetching, output_dir triggers file exports and explains naming by depth and title, include_images requires output_dir and rewrites URLs, and images_dir defaults to pictures/ inside output_dir. This far exceeds the bare 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 states 'Get a page and all its descendants as a flat list,' which is a specific verb+resource+scope. It clearly distinguishes the tree-fetch behavior from siblings like get_page and get_section by emphasizing descendants and optional file export.

    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 opening sentence implies when to use: when you need a page plus its entire subtree. The Args section adds context for when output_dir triggers file writing and when include_images takes effect, and it references the fetch-confluence skill as an equivalent. However, it does not explicitly state alternatives or when not to use, though the sibling context makes this reasonably 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?

    With no annotations, the description carries the burden of behavioral disclosure. It transparently explains input precedence (image_base64 ignored if input_file is provided), auto-detection of filename/content_type, and the side effect of replace_url on the page body. It does not mention permissions or rate limits, but it discloses the key mutation behavior and parameter interactions.

    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 compact and front-loaded with the core purpose in the first sentence. The Args list is structured and every line adds value, with no filler or repetition of schema constraints. It earns its length for a 6-parameter tool.

    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 6-parameter mutation tool with no annotations, the description covers purpose, all parameter semantics, input methods, and side effects. An output schema exists, so return values do not need description. The only minor gap is lack of explicit sibling differentiation, but that is not central to completeness.

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

    Parameters5/5

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

    The schema has 0% description coverage, so the description fully compensates by explaining all six parameters in the Args section. It adds meaningful context: page_id is the page ID, image_base64 is ignored when input_file is set, content_type auto-detects from filename, and replace_url swaps external URLs. This goes far beyond the bare schema property names.

    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 a clear verb+resource: 'Upload an image and optionally embed it in the page.' This distinguishes it from sibling tools like upload_attachment, which likely only uploads, by explicitly mentioning the embedding capability. The two input modes (file/base64) add specificity.

    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 conveys clear context for when to use the tool: uploading an image and optionally embedding it, with an explicit use case for replace_url (replacing an external image URL). However, it does not explicitly name alternatives or state when not to use it, such as recommending upload_attachment for plain uploads, so it stops short of full exclusion guidance.

    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

confluence-mcp MCP server — quality and maintenance score on Glama

Copy to your README.md:

Score Badge

confluence-mcp MCP server — quality and maintenance score on Glama

Copy to your README.md:

shields.io Endpoint

confluence-mcp MCP server — quality and maintenance score on Glama

For READMEs with an existing badge row. Append &style=flat-square (or any other shields.io style) to match the rest, and &metric=tools, &metric=maintenance or &metric=claim to badge a different dimension.

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/1vecera/confluence-mcp'

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