confluence-adf-mcp
Provides tools for reading, writing, and editing Confluence pages in native Atlassian Document Format (ADF), including page management, content editing, table operations, task management, comments, attachments, labels, versions, properties, and access control.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@confluence-adf-mcpfind and replace 'old' with 'new' on page 123456"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
confluence-adf-mcp
MCP server for reading and writing Confluence pages in native ADF (Atlassian Document Format).
Why this exists
Confluence stores pages in ADF (Atlassian Document Format), a structured JSON format. Most tools convert to/from HTML or plain text, losing structure, formatting, and metadata in the process. This MCP server works with ADF directly, so edits are precise — find/replace, table updates, and mention swaps happen at the document node level without corrupting the surrounding content.
Related MCP server: MCP Atlassian Node Server
Setup
Requirements
Python 3.12+
A Confluence Cloud instance with API access
Environment variables
export CONFLUENCE_URL="https://your-domain.atlassian.net/wiki"
export CONFLUENCE_USERNAME="you@example.com"
export CONFLUENCE_API_TOKEN="your-api-token"Generate an API token at https://id.atlassian.com/manage-profile/security/api-tokens.
OAuth 2.0 (optional)
Instead of basic auth, you can use OAuth 2.0 (3LO). Set these three environment variables:
export CONFLUENCE_OAUTH_CLIENT_ID="your-oauth-client-id"
export CONFLUENCE_OAUTH_CLIENT_SECRET="your-oauth-client-secret"
export CONFLUENCE_OAUTH_REFRESH_TOKEN="your-initial-refresh-token"If all three are set, the server uses OAuth automatically; otherwise it falls back to basic auth (CONFLUENCE_USERNAME / CONFLUENCE_API_TOKEN).
Rotating refresh tokens are persisted to .cache/confluence/.oauth_tokens.json so the server can restart without re-authorizing.
See Atlassian OAuth 2.0 (3LO) documentation for how to create an OAuth app and obtain the initial refresh token.
Claude Code configuration
Copy .env.example to .env and fill in your credentials. The server loads .env automatically.
Add to .claude/settings.json:
{
"mcpServers": {
"confluence-adf": {
"command": "uvx",
"args": ["--from", "git+https://github.com/karbassi/confluence-adf-mcp", "confluence-adf-mcp"]
}
}
}Tools
Pages
Tool | Description |
| Fetch a page and cache it locally |
| Create a new page with ADF content |
| Push cached page edits to Confluence |
| Extract plain text from a page |
| Duplicate a page |
| Archive a page (with confirmation) |
| Move a page to a new parent (with confirmation) |
| Revert a page to a previous version |
Editing
Tool | Description |
| Find/replace text in cached page |
| Fetch, find/replace, and push in one step |
| Regex find/replace on a page |
| Swap @mentions between users |
| Add a hyperlink to a page |
Tables
Tool | Description |
| Update a single table cell |
| Insert a row into a table |
| Delete a row from a table |
Tasks
Tool | Description |
| Toggle task checkbox state (DONE/TODO) |
Discovery
Tool | Description |
| Search pages with CQL |
| List pages in a space |
| Get child pages |
| Get parent chain |
| List spaces |
| Get unique page contributors |
| Resolve account ID to display name |
Labels
Tool | Description |
| Get labels on a page |
| Add labels to a page |
| Remove a label from a page |
Versions
Tool | Description |
| List version history |
| Diff two versions as text |
Comments
Tool | Description |
| Add a footer comment |
| List footer comments |
| Add an inline annotation comment |
| List inline comments |
Attachments
Tool | Description |
| List attachments on a page |
| Upload a file as an attachment |
| Download an attachment to a local file |
| Delete an attachment (with confirmation) |
Properties
Tool | Description |
| Get content properties |
| Set a content property |
Access Control
Tool | Description |
| Set read/update restrictions |
| Watch or unwatch a page |
Cache
Tool | Description |
| List locally cached pages |
| Clear page cache |
Contributing
See CONTRIBUTING.md.
Available Tools
43 toolsconfluence_add_commentA
Add a footer comment to a Confluence page.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
body: The comment text (plain text, converted to simple ADF paragraph).
parent_comment_id: Optional parent comment ID for threaded replies.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| page_id | Yes | ||
| parent_comment_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the tool creates a comment and converts body to ADF, but lacks details on required permissions, rate limits, or side effects beyond creation. Minimal behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise: a single purpose sentence followed by bulleted parameter explanations. No redundant text, every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 0% schema coverage and no annotations, the description covers purpose and parameter semantics but lacks return value, error scenarios, or usage context. Adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description adds critical meaning: page_id accepts URLs or numeric IDs, body is plain text converted to ADF, parent_comment_id enables threading. This goes beyond parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Add a footer comment to a Confluence page,' specifying the action and resource. It distinguishes from sibling tools like 'confluence_add_inline_comment' by noting it's a footer comment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for adding footer comments but offers no explicit guidance on when to use this vs. inline comments or other tools. No prerequisites or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_add_inline_commentA
Add an inline (annotation) comment anchored to specific text on a page.
The comment is attached to the first (or Nth) occurrence of text_selection
found in the page body.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
body: The comment text (plain text, converted to ADF paragraph).
text_selection: The exact text on the page to attach the comment to.
match_index: Which occurrence to annotate (0-based, default 0 = first match).
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| page_id | Yes | ||
| match_index | No | ||
| text_selection | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It explains that the comment attaches to the first or Nth occurrence and that text_selection must match. However, it does not disclose error handling (e.g., if text not found), authentication requirements, or idempotency, leaving gaps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: a one-sentence summary followed by a structured Args block. Every sentence adds value, and the key action is front-loaded. No extraneous words or repetitions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers input parameters well but lacks output information (e.g., return value, comment ID) and error cases (e.g., text not found). Given the absence of an output schema and annotations, the agent needs more context for robust invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema coverage, the description adds significant meaning: page_id accepts numeric IDs or Confluence URLs; body is plain text converted to ADF; match_index is 0-based with default 0; text_selection is exact text. This is far beyond the schema's bare type definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Add an inline (annotation) comment anchored to specific text on a page,' using a specific verb and resource. It distinguishes from siblings like 'confluence_add_comment' by emphasizing the anchoring to text, and from 'confluence_list_inline_comments' by being a creation operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for inline text comments through the phrase 'anchored to specific text.' This differentiates from general page comments (sibling 'confluence_add_comment'). However, it does not explicitly state when not to use it or mention alternatives, leaving minor ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_add_labelsA
Add labels to a Confluence page.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
labels: List of label names to add, e.g. ["important", "reviewed"].
| Name | Required | Description | Default |
|---|---|---|---|
| labels | Yes | ||
| page_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description does not disclose whether labels are appended or overwritten, behavior on duplicates, or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, structured with 'Args:' section, and every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool, the description covers basic operation but lacks information on return value (success/error) and detailed behavior (append vs overwrite).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description adds critical meaning: page_id can be numeric ID or URL (including short links), and labels is a list of names. This significantly aids correct usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Add labels to a Confluence page' uses a clear verb+resource structure and distinguishes from siblings like 'confluence_remove_label' and 'confluence_get_labels'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., when to add vs remove labels), nor any context about prerequisites or side effects.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_add_linkA
Add a hyperlink to a Confluence page.
If after_text is provided, the link is inserted right after the first occurrence
of that text in a paragraph. Otherwise it's appended as a new paragraph at the
end of the page.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
link_text: The display text for the link.
url: The URL to link to.
after_text: Optional text to insert the link after (inline within a paragraph).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| page_id | Yes | ||
| link_text | Yes | ||
| after_text | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist; description explains insertion behavior but does not disclose side effects, permissions, error handling, or idempotency. It covers the placement logic but lacks full behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is relatively concise with a clear front-loaded purpose. The 'Args:' listing is slightly verbose but still efficient. Every sentence contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks output schema and does not describe return values. Also does not cover error cases (e.g., page not found) or duplicate detection. Adequate for basic usage but incomplete for a robust agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, but the 'Args:' section in the description fully details each parameter: page_id accepts numeric or URL formats, link_text for display text, url for target, after_text as optional inline insertion point. This adds significant meaning beyond parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Add a hyperlink to a Confluence page' with specific placement behavior (inline after text or appended). This distinguishes it from siblings like edit_page or create_page.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context for when to use: adding a link, with explanation of two insertion modes. No explicit when-not-to-use or comparison to alternatives, but siblings like edit_page imply different purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_archive_pageA
Archive a Confluence page.
DESTRUCTIVE: This removes the page from active view. By default this tool
runs in preview mode — call with confirm=True to actually archive.
You MUST show the preview to the user and get their explicit approval before
calling again with confirm=True.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
confirm: Must be True to actually archive. False (default) shows a preview.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | ||
| page_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description transparently discloses destructive behavior ('removes page from active view'), preview mode, and the need for user consent. Fully covers behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise, front-loaded with purpose, then warnings, then parameter details. No wasted sentences; every line adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema or annotations, the description sufficiently covers purpose, usage, behavior, and parameters. Complete for a straightforward tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully explains both parameters: page_id accepts numeric ID or Confluence URL (including short links), confirm controls preview vs actual action.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Archive a Confluence page.' It distinguishes from sibling tools like create, delete, and edit by focusing on archiving behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to show preview to user and obtain approval before confirming. Clearly separates preview mode (confirm=False) from actual archive (confirm=True), guiding agent workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_clear_cacheA
Clear the local page cache.
Removes cached page data. Pass a page_id to clear a specific page,
or omit it to clear all cached pages.
Args:
page_id: Optional page ID to clear. Empty clears all cached pages.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states it 'removes cached page data' but does not describe side effects (e.g., impact on other users, performance implications, or that cached data is permanently lost).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (three sentences plus an argument list). It front-loads the purpose and uses each sentence to add value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description covers the basic use case. However, it is vague about what 'local' means (e.g., per-user or per-instance) and does not explain the implications of clearing cache (e.g., may slow subsequent requests until cache repopulates).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It explains that page_id selects a specific page, while omission clears all. This adds necessary context beyond the schema's bare property name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool clears the local page cache, specifying the verb 'Clear' and the resource 'local page cache'. It is unique among siblings (no other cache-clearing tool).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use with a page_id and when to omit it to clear all. However, it does not mention when not to use the tool or any alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_compare_versionsA
Compare two versions of a Confluence page as a unified text diff.
Fetches the ADF for both versions, extracts plaintext, and produces a
unified diff showing what changed.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
version_a: The "before" version number.
version_b: The "after" version number.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | ||
| version_a | Yes | ||
| version_b | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes the internal process (fetch ADF, extract plaintext, produce diff) and input flexibility (page ID or URL). With no annotations, it carries the full burden and could disclose more about permissions or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: two sentences plus a structured Args block. Front-loaded with purpose. No redundancy or irrelevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity (3 params, no output schema), the description is fairly complete. It explains the tool's function, parameters, and process. Could mention return format or error behavior, but not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. The Args section adds meaning: explains that page_id accepts numeric ID or URL, and defines version_a as 'before' and version_b as 'after'. Adds value beyond bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb and resource: 'Compare two versions of a Confluence page'. Distinguishes from siblings like confluencelist_versions (lists versions) and confluencenextract_text (extracts single version). The title 'confluence_compare_versions' is well-explained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for comparing specific versions, but does not explicitly state when to use vs alternatives or when not to use. However, the process description clarifies its purpose. Lacks exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_copy_pageA
Copy a Confluence page.
Creates a duplicate of the page, optionally under a different parent.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
title: Title for the copy. Defaults to "Copy of {original title}".
destination_parent_id: Parent page ID for the copy. Empty = same parent.
copy_labels: Whether to copy labels (default True).
copy_attachments: Whether to copy attachments (default True).
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | ||
| page_id | Yes | ||
| copy_labels | No | ||
| copy_attachments | No | ||
| destination_parent_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It details the duplication behavior and parameter effects (e.g., copying labels/attachments, parent change). However, it omits potential side effects like permissions, notification triggers, or response format, leaving gaps in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a well-structured docstring with a clear summary followed by parameter details. It includes examples (URL types) without being overly verbose. A minor improvement could be tighter phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the straightforward copy operation and no output schema, the description covers all relevant input details and basic behavior. It does not need to elaborate on return values, but it effectively addresses the tool's purpose and parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema coverage is 0% (no parameter descriptions in schema), but the description's docstring explains each parameter: page_id accepts numeric IDs or URLs, title defaults to 'Copy of...', destination_parent_id empty means same parent, etc. This adds significant meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Copy' with the resource 'a Confluence page', clearly distinguishing it from sibling tools like create_page and move_page. The title and first line directly convey the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the tool creates a duplicate optionally under a different parent, but does not explicitly guide when to use this vs alternatives like move_page or create_page. The context of duplication is implied, but no exclusions or when-not cases are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_create_pageA
Create a new Confluence page with ADF content.
Args:
space_id: The space ID to create the page in.
title: The page title.
adf_body: The full ADF document as a JSON string, e.g. {"type": "doc", "version": 1, "content": [...]}.
parent_id: Optional parent page ID to nest under.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| adf_body | Yes | ||
| space_id | Yes | ||
| parent_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden. It accurately describes the creation action without contradictory claims. It does not disclose side effects (e.g., permissions required, overwrite behavior) but is sufficient for a straightforward create operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured with a clear statement followed by parameter descriptions in a standard Args format. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 parameters, no output schema, no annotations), the description is fairly complete. It lacks information about the return value (e.g., created page object) and any constraints on the ADF body, but adequately covers creation essentials.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides meaningful explanations for all four parameters beyond the schema, including an example for adf_body. It clarifies space_id as the target space, title as the page title, and parent_id as optional nesting, compensating for the 0% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new Confluence page with ADF content', specifying the verb (Create), resource (Confluence page), and content format (ADF). It effectively distinguishes this from siblings like confluence_edit_page and confluence_push_page.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives like confluence_edit_page (for existing pages) or confluence_push_page. It only implicitly indicates creation, but lacks when-not-to-use or context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_delete_attachmentA
Delete an attachment from a Confluence page.
DESTRUCTIVE: This permanently removes the attachment. By default this tool
runs in preview mode — call with confirm=True to actually delete.
You MUST show the preview to the user and get their explicit approval before
calling again with confirm=True.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
attachment_title: The filename of the attachment to delete.
confirm: Must be True to actually delete. False (default) shows a preview.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | ||
| page_id | Yes | ||
| attachment_title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It discloses the destructive nature ('permanently removes the attachment') and explains the preview mode with confirmation step. Since no annotations are provided, this description carries the full burden and covers key behavioral aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear warning and argument list. Could be slightly more concise (e.g., 'permanently removes' vs. 'permanently removes the attachment'), but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All parameters are explained, and the deletion workflow is described. However, it does not specify what the preview returns or the response on success/failure. Given no output schema, this gap reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The Args section adds essential meaning beyond the schema: page_id accepts numeric IDs or URLs, attachment_title is a filename, confirm defaults to False. This compensates for 0% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Delete an attachment from a Confluence page.' It specifies the resource (attachment) and the action (delete), distinguishing it from sibling tools like upload or list attachments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs to show a preview to the user and obtain approval before deleting. It mentions the default preview mode. However, it does not contrast with alternative tools (e.g., when to use upload vs. delete).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_delete_table_rowA
Delete a row from a table on a Confluence page.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
row_index: Zero-based row index to delete.
table_index: Which table on the page (0-based, default first table).
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | ||
| row_index | Yes | ||
| table_index | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only says 'delete', implying destructive action, but does not disclose permissions, reversibility, or impact on table structure. For a destructive tool, more behavioral transparency is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise with clear Args listing. No wasted words, but could include a short sentence on return or side effects. Still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose and parameters adequately, but lacks output description and usage context among 43 sibling tools. Basic completeness is there but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description adds meaning beyond schema: explains `page_id` accepts numeric ID or URL, `row_index` is zero-based, `table_index` defaults to 0. This compensates for schema having no descriptions (0% coverage).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool deletes a row from a table on a Confluence page, distinguishing it from siblings like `update_table_cell` and `insert_table_row`. The verb and resource are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use guidance or exclusion of alternatives. The tool is straightforward but lacks context for when to prefer it over other table manipulation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_download_attachmentA
Download an attachment from a Confluence page to a local file.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
attachment_title: The filename of the attachment to download (e.g. "report.pdf").
save_path: Local file path to save the downloaded file.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | ||
| save_path | Yes | ||
| attachment_title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose behavioral traits such as permissions needed, whether the tool overwrites existing files, size limits, or error handling. This lack of context is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: a single sentence for the main purpose and a bulleted list for parameters. Every sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should explain return values or success indicators, but it does not. It also omits error handling and behavior on missing attachments. It is minimally adequate for a simple download but lacks completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameter descriptions, but the description adds value by explaining each parameter: page_id can be numeric or URL, attachment_title is the filename, save_path is the local path. This compensates for the schema's lack of descriptions, though some edge cases (e.g., path existence) are not covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (download), the resource (attachment from Confluence page), and the destination (local file). It uses specific verb and resource, distinguishing it from sibling tools like upload or delete attachment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (downloading attachments) but does not explicitly state when to use this tool versus alternatives like list_attachments or delete_attachment. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_edit_pageA
Find and replace text in a cached Confluence page.
Operates on the local cache file. Call confluence_get_page first to cache the page,
then use this to make edits, then confluence_push_page to publish.
Args:
page_id: The page ID to edit.
find: The text to find in the page content.
replace: The text to replace it with.
replace_all: If true, replace all occurrences. If false, replace only the first.
| Name | Required | Description | Default |
|---|---|---|---|
| find | Yes | ||
| page_id | Yes | ||
| replace | Yes | ||
| replace_all | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that edits are local to the cache until pushed, and explains the replace_all parameter. However, it does not mention permissions, atomically, or what happens if the page isn't cached, which would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured: a brief summary, then a clear workflow instruction, followed by parameter explanations in bullet form. No unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the workflow and parameter details well, but lacks information about return values or side effects (e.g., nothing returned). Since no output schema exists, a brief note on output would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully explains each parameter: page_id, find, replace, and replace_all. It clarifies the boolean's behavior (first vs. all occurrences), adding meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Find and replace text in a cached Confluence page.' The verb-resource pair is specific, and the tool is distinguished from siblings like confluence_find_replace by emphasizing local cache operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly outlines the intended workflow: call confluence_get_page first, then edit, then confluence_push_page. This tells the agent exactly when and how to use this tool in sequence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_extract_textA
Extract plain text content from a Confluence page.
Fetches the page ADF and converts it to readable plaintext with basic
formatting (paragraphs, bullet lists, tables, code blocks, etc.).
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description explains the read-only behavior (fetching ADF, converting to plaintext) but does not explicitly state non-destructive nature or disclose potential limitations like page size, rate limits, or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded: first sentence states core purpose, followed by a clear param explanation. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one parameter and no output schema. The description explains the parameter well and mentions the output format (plaintext with basic formatting), but does not specify return structure, error handling, or edge cases. Adequate for low complexity but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, page_id, is well-documented in the description: it accepts numeric IDs, full URLs, and short /wiki/x/ links. This adds significant value over the schema which only specifies type string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool extracts plain text content from a Confluence page, with specific verb and resource. It distinguishes from sibling tools that modify or manage pages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this vs alternatives, and no exclusions or context provided. The user is left to infer usage from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_find_replaceA
Fetch a Confluence page, find and replace text, and push the result in one step.
Combines get_page + edit_page + push_page into a single call. Only replaces
within text content nodes — structural ADF elements are never modified.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
find: The text to find in the page content.
replace: The text to replace it with.
replace_all: If true, replace all occurrences. If false, replace only the first.
version_message: Optional message describing the change.
| Name | Required | Description | Default |
|---|---|---|---|
| find | Yes | ||
| page_id | Yes | ||
| replace | Yes | ||
| replace_all | No | ||
| version_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It explains the combined operation, scope of replacement (text nodes only), and mentions it modifies pages. Could add more on permissions or error handling, but sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise, well-structured: one-line summary, brief behavior note, then bullet-point Args. No redundant sentences; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers parameter semantics and high-level behavior, but lacks description of return value format or error scenarios (e.g., page not found, text not found). Given no output schema, more detail on output would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage 0%, but description adds detailed parameter docs: page_id accepts numeric ID or URL, replace_all default true, version_message optional. Each parameter gets meaningful context beyond the schema's titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'find and replace' on a Confluence page, explicitly says it combines get+edit+push into one step, distinguishing it from sibling tools like confluence_get_page, confluence_edit_page, and confluence_push_page.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: only replaces within text content nodes, not structural ADF elements. This guides when to use, but lacks explicit exclusions or comparison with alternatives like confluence_regex_replace.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_get_ancestorsA
Get the ancestor (parent) chain of a Confluence page.
Returns the page hierarchy from the space root down to the immediate parent.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the input `page_id` can be a numeric ID or URL, and that the output is a hierarchy. However, it omits behavioral details such as authorization requirements, error handling, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, well-structured paragraphs with no redundancy. Every sentence adds value: first states purpose, second describes output, then lists argument with format explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description adequately explains input format and return value. No additional information seems necessary for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, but the description adds crucial detail for the sole parameter `page_id`: it accepts a numeric page ID or a Confluence URL (including short /wiki/x/ links). This goes beyond the schema's type definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'ancestor chain of a Confluence page'. It specifies the output format ('page hierarchy from the space root down to the immediate parent') and distinguishes from sibling tools, none of which focus on ancestors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. Sibling tools like `confluence_get_child_pages` or `confluence_get_page` exist, but no comparison or context for selection is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_get_child_pagesA
Get child pages of a Confluence page.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
limit: Maximum number of children to return (default 25, max 250).
cursor: Pagination cursor from a previous result.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No | ||
| page_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses basic behavior (pagination, param formats) but does not reveal whether the operation is read-only, what is returned (e.g., full pages or summaries), or any access requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: one line for purpose, then parameter details in a clean list. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should clarify what the tool returns (e.g., list of child pages with metadata). It lacks this, making it incomplete for an agent to fully understand the response. However, it sufficiently explains input parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description adds significant meaning: page_id accepts numeric IDs or Confluence URLs (including short /x/ links), limit has default/max, cursor for pagination. This compensates well for the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('child pages of a Confluence page'), distinguishing it from siblings like 'confluence_get_page' (single page) and 'confluence_search_pages' (search).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (getting children of a specific page) but does not explicitly state when to use this tool versus alternatives or provide exclusions. No when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_get_contributorsA
Get unique contributors to a Confluence page from its version history.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes |
TDQS
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 URL flexibility for page_id but does not explicitly state that the tool is read-only or mention any behavioral traits like rate limits or error states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise: two sentences plus an Args block. It front-loads the purpose and efficiently details the parameter. No redundant or extraneous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the parameter is well-explained, the description does not describe the return value (e.g., format of contributor list). Since there is no output schema, the agent lacks information about what the tool returns, which is a notable gap for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% coverage, but the description fully explains the only parameter 'page_id', specifying it can be a numeric ID or a Confluence URL (including short links). This adds significant meaning beyond the schema's type definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets unique contributors from version history, which distinguishes it from other Confluence tools that manage pages or labels. The verb 'get' and resource 'contributors' 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving contributors but provides no guidance on when to use it versus sibling tools (e.g., confluence_get_user or confluence_list_versions). No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_get_labelsA
Get all labels on a Confluence page.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description provides minimal behavioral context. It indicates the tool reads labels but does not disclose whether it returns all labels or paginated results, nor any access permissions or side effects. More detail would be helpful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise with two sentences. The first sentence clearly states the purpose, and the second provides parameter details. No redundancy, perfectly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one parameter and no output schema, the description is adequate but not rich. It lacks information about the return format (list of strings? objects?), required permissions, or error cases. More completeness would be beneficial but the tool is trivial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It does so by explaining that 'page_id' accepts a numeric ID or a Confluence URL, including short links, adding valuable context beyond the raw schema type of 'string'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get all labels') and the resource ('a Confluence page'), making the purpose unambiguous. It also implicitly distinguishes from sibling tools like 'confluence_add_labels' and 'confluence_remove_label'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. While the purpose is clear, it does not mention that adding or removing labels requires different tools, nor does it advise on prerequisites like page existence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_get_pageA
Fetch a Confluence page and cache it locally for editing.
Returns the page metadata and the local cache file path. Edit the cached file
directly, then call confluence_push_page to publish your changes.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses caching behavior and return of metadata/file path. No mention of permissions or error states, but sufficient for a simple read-and-cache operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus a clear argument list. No unnecessary words. Front-loaded with the main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Missing output schema but description covers return type (metadata+path). Workflow hint compensates. Could mention behavior for non-existent pages, but overall adequate for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% param description coverage. The description adds crucial semantics: 'A numeric page ID or a Confluence URL (including short /wiki/x/ links).' This fully defines the parameter's acceptable input types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Fetch a Confluence page and cache it locally for editing.' Verb 'fetch' and resource 'Confluence page' are specific. It distinguishes from siblings by mentioning caching and subsequent use of confluence_push_page.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use: to fetch a page for local editing and then publish with push_page. It doesn't explicitly contrast with other read-only tools, but provides a clear workflow context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_get_page_propertiesC
Get content properties on a Confluence page.
Content properties are key-value metadata pairs stored on pages.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
limit: Maximum number of properties to return (default 25, max 100).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| page_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden. It discloses that the operation is a read ('Get') and describes the return type as key-value pairs, but lacks details on authentication, rate limits, error behavior (e.g., if page_id is invalid), or idempotency. No contradiction with annotations since none exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a clear structure: one-line summary, a brief explanation of content properties, then parameter details. No redundant sentences. Could be slightly more structured with explicit sections.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 2 parameters and no output schema, the description covers the basics but lacks completeness: no response format, error handling, rate limits, or usage context. It is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning beyond the schema: page_id accepts numeric ID or Confluence URL (including short links), limit has default 25 and max 100. This compensates for the schema's 0% parameter description coverage. However, it does not explain the format of key-value pairs returned.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get content properties on a Confluence page' and explains that properties are key-value metadata. The verb 'get' and resource 'page properties' are specific. However, it does not explicitly distinguish from sibling tools like 'confluence_get_page' or 'confluence_get_labels', but 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.
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 (e.g., confluence_get_page for the page itself). It does not mention prerequisites, context, or when not to use it. The description only explains parameters, not usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_get_userA
Get user details by account ID.
Resolves an account ID (as seen in version history, comments, etc.)
to a display name, email, and profile info.
Args:
account_id: The Confluence/Atlassian account ID.
| Name | Required | Description | Default |
|---|---|---|---|
| account_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden. It correctly identifies read-only behavior (get user details) but does not disclose what happens if the account ID is invalid or missing, or any error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two clear sentences plus an args list. It front-loads the core purpose and avoids extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup tool with one parameter and no output schema, the description covers the basics: what it does, what it returns, and the parameter. It could be more complete by specifying output structure explicitly, but the hints are sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The parameter description adds context ('as seen in version history, comments, etc.') beyond the schema property name, indicating where to find the ID. However, it does not provide format, length, or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool gets user details by account ID, and specifies the returned information (display name, email, profile info). It distinguishes from sibling tools as no other tool resolves user details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by mentioning 'account ID (as seen in version history, comments, etc.)', guiding when to use it. However, it lacks explicit when-not-to-use or alternatives, though no obvious alternative exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_insert_table_rowA
Insert a new row into a table on a Confluence page.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
row_index: Position to insert at (0-based). Use -1 to append at the end.
values: List of cell values for the new row.
table_index: Which table on the page (0-based, default first table).
| Name | Required | Description | Default |
|---|---|---|---|
| values | Yes | ||
| page_id | Yes | ||
| row_index | Yes | ||
| table_index | No |
TDQS
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 does not mention permissions, return behavior (e.g., success confirmation or updated page), or consequences of insertion (e.g., irreversible changes). The description only covers parameter semantics, leaving significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: one sentence stating the action and a bulleted list of parameters. It is front-loaded with the purpose. The 'Args:' format is slightly technical but efficient. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description should cover return values and error conditions. It does not state what the tool returns upon success/failure, nor does it address prerequisites or side effects. It is minimally viable but incomplete for confident use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description fully compensates. Each parameter is explained: page_id accepts numeric or URL, row_index uses 0-based with -1 for append, values as list of cell strings, and table_index with default 0. The semantic meaning goes well beyond the schema's bare titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Insert a new row into a table on a Confluence page,' specifying the verb (insert), resource (row in a table), and context (Confluence page). This distinguishes it from sibling tools like confluence_update_table_cell and confluence_delete_table_row.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does but does not explicitly state when to use it versus alternatives (e.g., when to insert vs. update or delete rows). It implies usage through parameter details but lacks direct guidance on selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_list_attachmentsA
List attachments on a Confluence page.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
limit: Maximum number of attachments to return (default 25, max 100).
cursor: Pagination cursor from a previous result.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No | ||
| page_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It mentions pagination via limit and cursor, and the ability to accept URLs for page_id. However, it does not describe what happens on errors, authentication requirements, rate limits, or the structure of the returned data. Some behavioral aspects are covered, but gaps remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only four lines, including an Args section. It is efficient, front-loaded with the action, and every sentence provides essential information. No extraneous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (3 parameters, no output schema), the description is incomplete. It does not describe the return format or contents of the attachments list, nor does it cover error conditions or edge cases. The 'attachments' term is vague, and without an output schema, the agent needs more context to interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, but the tool's description provides meaningful context for all three parameters: page_id can be a numeric ID or URL, limit has a max of 100, and cursor is for pagination. This adds value beyond the schema's type and default fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List attachments on a Confluence page,' using a specific verb and resource. It distinguishes from sibling attachment tools (upload, download, delete) by focusing on listing. The description also clarifies that page_id can be a numeric ID or a URL, which adds specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like download_attachment or list_comments. There is no mention of prerequisites, typical use cases, or exclusion scenarios. The user must infer 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.
confluence_list_cacheA
List all locally cached Confluence pages.
Shows page IDs, titles, and when they were last cached.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden. It discloses that it lists locally cached pages and shows last cached times, implying a read-only operation, but does not mention staleness, performance impact, or whether it requires network access.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. Each sentence adds value: action and output fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description mentions key output fields. However, it lacks details like ordering or pagination. For a simple list tool, it is largely adequate, but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, and the schema coverage is 100%. The description adds no param info, but baseline is 4 for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists cached Confluence pages and specifies the output fields (IDs, titles, last cached time). No ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like confluence_list_pages or confluence_clear_cache. The context signal shows many sibling tools, but the description does not differentiate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_list_commentsA
List footer comments on a Confluence page.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
limit: Maximum number of comments to return (default 25, max 100).
cursor: Pagination cursor from a previous result.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No | ||
| page_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It describes a read-only operation (listing comments) and mentions pagination via cursor, but does not discuss authentication requirements, rate limits, or return format. This is adequate for a simple listing tool but lacks thoroughness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a one-sentence purpose followed by a structured list of arguments. It is front-loaded and avoids unnecessary verbosity, though the argument list could be more formally formatted (e.g., using bullet points).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and lack of output schema, the description covers the basics: what it does, how to paginate, and the page_id format. It does not describe the structure of returned comments, but for a listing tool this is generally acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must explain the parameters. It does so effectively: page_id accepts numeric IDs or Confluence URLs, limit is capped at 100 with a default of 25, and cursor is clearly described as a pagination cursor from prior results. This adds significant value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'List footer comments on a Confluence page,' which is a specific verb+resource combination. It clearly distinguishes itself from the sibling tool 'confluence_list_inline_comments' by specifying 'footer comments'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'confluence_list_inline_comments' or other list tools. There is no mention of when not to use it or any prerequisite context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_list_inline_commentsA
List inline (annotation) comments on a Confluence page.
These are comments anchored to specific text selections, as opposed to
footer comments which appear at the bottom of the page.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
limit: Maximum number of comments to return (default 25, max 100).
cursor: Pagination cursor from a previous result.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No | ||
| page_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must cover behavioral aspects. It clarifies the nature of inline comments vs footer comments and mentions pagination, but fails to state read-only status, permission requirements, or output behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two paragraphs: one for purpose and distinction, one for parameter details. No redundant sentences, though it could be slightly more compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains parameters and the difference from footer comments, but lacks details on the response structure (e.g., fields returned, cursor for next page) and error scenarios. It is adequate but not fully complete for a tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must add value. It adds context for page_id (accepts numeric ID or URL), limit (default 25, max 100), and cursor (pagination token), which is not captured in the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List inline (annotation) comments on a Confluence page' and distinguishes these from footer comments, making the purpose specific and differentiated from siblings like 'confluence_list_comments'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool (to get comments anchored to text selections) and implicitly when not (for footer comments). It also describes input parameters, but does not explicitly name alternatives or conditions to avoid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_list_pagesB
List pages in a Confluence space.
Args:
space_id: The numeric space ID.
limit: Maximum number of pages to return (default 25, max 250).
sort: Sort order — "title", "-title", "created-date", "-modified-date", etc.
cursor: Pagination cursor from a previous result.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | title | |
| limit | No | ||
| cursor | No | ||
| space_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It does not disclose behavior beyond listing, such as whether it's read-only, rate limits, or error handling. Only parameters are described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise description with a clear header and parameter list. No wasted words, well-organized. Slight improvement could be to use proper bullet points.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description should mention return type or pagination behavior. It does not, but the tool is simple and the parameter descriptions are complete. Missing expected output format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description explains all four parameters with examples and defaults (e.g., sort values, cursor usage). This adds meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'List pages in a Confluence space' with a specific verb and resource. It distinguishes from siblings like confluence_search_pages and confluence_get_child_pages by focusing on listing all pages in a space.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this vs alternatives. It does not mention when not to use or provide context for choosing between listing, searching, or getting child pages.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_list_spacesB
List Confluence spaces.
Args:
limit: Maximum number of spaces to return (default 25, max 250).
type: Filter by space type — "global" or "personal". Empty for all.
status: Filter by status — "current" (default) or "archived".
cursor: Pagination cursor from a previous result.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ||
| limit | No | ||
| cursor | No | ||
| status | No | current |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It does not explicitly state that the operation is read-only or what permissions are needed. The verb 'list' suggests read-only but lacks explicit disclosure. Basic behavioral context is present but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively short and uses a clear list format. However, it could be more concise by merging parameter details into a single line. It is not overly verbose, but front-loading is minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description does not mention the return value or format. A listing tool should clarify what is returned (e.g., list of space objects). The cursor parameter hints at pagination, but pagination behavior is not explained. Incomplete for a read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description compensates fully by detailing all 4 parameters: limit (default 25, max 250), type (global/personal with default empty), status (current/archived), and cursor (pagination). This adds significant meaning beyond the schema's raw JSON.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List Confluence spaces' with a specific verb and resource. It distinguishes from sibling tools like 'confluence_search_pages' by focusing on spaces, but does not explicitly differentiate from similar listing tools (e.g., 'list_pages').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like 'confluence_search_pages' or 'confluence_list_pages'. The context is implied but not explicit, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_list_versionsA
List version history of a Confluence page.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
limit: Maximum number of versions to return (default 10, max 50).
cursor: Pagination cursor from a previous result.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No | ||
| page_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, idempotency, or side effects. While 'list' implies a read operation, the description fails to confirm safety or constraints beyond the parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, using a clear sentence followed by a bullet list of parameters. Every sentence provides essential information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers input parameters well and mentions pagination, it lacks any description of the output format (e.g., what fields are returned per version). Given no output schema, this omission limits an agent's ability to use the results effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description adds significant value: it clarifies page_id accepts numeric IDs or Confluence URLs, limit has a max of 50, and cursor is for pagination. This fully compensates for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List version history of a Confluence page' with a specific verb and resource. It distinguishes from sibling tools like confluence_compare_versions which deals with comparing specific versions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (e.g., confluence_compare_versions for comparing, confluence_revert_page for reverting). Usage context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_move_pageA
Move a Confluence page to a new parent.
DESTRUCTIVE: This changes the page's location in the content tree. By default
this tool runs in preview mode — call with confirm=True to actually move.
You MUST show the preview to the user and get their explicit approval before
calling again with confirm=True.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
target_parent_id: The page ID of the new parent page.
confirm: Must be True to actually move. False (default) shows a preview.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | ||
| page_id | Yes | ||
| target_parent_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the burden: it labels the operation DESTRUCTIVE, explains the preview mode (safe by default), and states the confirm parameter's role.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: purpose first, then a warning, then usage instruction, then parameter details. Every sentence adds value with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the operation, safety workflow, and parameter meanings adequately for a mutation tool without output schema. It could mention response format, but that is optional given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage, the description fully compensates by specifying that page_id accepts numeric IDs or URLs, target_parent_id is a page ID, and confirm defaults to False for preview.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Move' and the resource 'a Confluence page to a new parent,' distinguishing it from siblings like copy_page or create_page.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the preview-then-confirm workflow and mandates user approval, but does not explicitly compare against sibling tools like copy_page or list when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_push_pageA
Push the cached page to Confluence.
Reads title and ADF body from the local cache file, fetches the latest version
number from Confluence to avoid conflicts, then publishes.
Call confluence_get_page first, edit the cache file, then call this.
Args:
page_id: The page ID to push.
version_message: Optional message describing the change.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | ||
| version_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden. It discloses key internal behaviors: reads from local cache, fetches latest version to avoid conflicts, and publishes. This informs the agent about the separate cache file and conflict avoidance. However, it does not mention error handling or missing cache scenarios.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a one-line purpose, two sentences explaining the workflow, and two lines for arguments. Every sentence adds value with no redundancy. The structure is front-loaded with the main verb and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only 2 parameters, no output schema, and no annotations, the description covers the core workflow and prerequisites. It explains the cache-based editing pipeline. It is missing return value information, but for a tool intended as part of a larger workflow (get-edit-push), this completeness is sufficient for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It lists both parameters: page_id ('The page ID to push') and version_message ('Optional message describing the change'). This adds some meaning beyond the schema's bare titles, but lacks details like format constraints or behavior when version_message is empty. For two parameters, the compensation is minimal but adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the verb 'Push' and the resource 'cached page to Confluence', clearly distinguishing it as a write operation for locally cached pages. It also outlines the workflow (read cache, fetch version, publish) and references the prerequisite get-and-edit workflow, differentiating it from sibling tools like confluence_edit_page.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit sequential guidance: 'Call confluence_get_page first, edit the cache file, then call this.' This tells the agent exactly when to use this tool as part of a pipeline. It does not explicitly state when not to use it or mention alternatives, but the guidance is strong and context-specific.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_regex_replaceA
Find and replace text using a regex pattern on a Confluence page.
Applies re.sub() to every text node in the ADF. Supports capture groups
in the replacement string (e.g. r"\1").
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
pattern: Python regex pattern to match.
replacement: Replacement string (supports backreferences like \1).
version_message: Optional message describing the change.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | ||
| pattern | Yes | ||
| replacement | Yes | ||
| version_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It does not disclose behavioral traits such as whether the operation is destructive, whether permissions are required, or what happens to formatting. The description mentions 'every text node in the ADF' but remains vague about side effects or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a clear one-sentence summary followed by a parameter docstring with no extraneous information. Every sentence provides value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should clarify what the tool returns (e.g., updated page content or status). It also lacks behavioral details that annotations would normally provide. However, the tool is relatively straightforward, making the description minimally viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description compensates well: it explains that `page_id` accepts numeric IDs or Confluence URLs, `pattern` is a Python regex, `replacement` supports backreferences like \1, and `version_message` is optional. This adds substantial meaning beyond the bare schema titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Find and replace text using a regex pattern on a Confluence page.' It specifies the verb (find and replace), resource (Confluence page), and mechanism (regex pattern). This distinguishes it from siblings like `confluence_find_replace` (likely simpler find/replace) and `confluence_edit_page` (general editing).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. While it notes support for capture groups, it does not compare to related tools like `confluence_find_replace` (which may be simpler) or mention prerequisites or limitations. The agent gets no help in choosing between regex and non-regex replace.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_remove_labelA
Remove a label from a Confluence page.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
label: The label name to remove.
| Name | Required | Description | Default |
|---|---|---|---|
| label | Yes | ||
| page_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden but only states the operation. It does not disclose idempotency, error behavior (e.g., removing non-existent label), or permission requirements. Minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two clear sentences plus an Args section. No redundancy, every word serves a purpose. Front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple removal operation with 2 parameters. Lacks behavioral details and usage context, but the parameter explanation partially compensates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning beyond the schema: page_id can be a numeric ID or a Confluence URL, and label is the label name. This compensates for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Remove a label from a Confluence page' with a specific verb and resource. It clearly distinguishes from sibling tools like confluence_add_labels and confluence_get_labels.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 confluence_add_labels for adding or confluence_get_labels for listing. No context on prerequisites or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_replace_mentionA
Replace all @mentions of one user with another on a Confluence page.
Fetches the page, searches for mention nodes matching find_user, looks up
the replace_user's account ID, swaps the mentions, and pushes in one step.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
find_user: Name to find (partial match on mention text, e.g. "Ali").
replace_user: Name to replace with (searched in Confluence users, e.g. "Mark").
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | ||
| find_user | Yes | ||
| replace_user | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosure. It explains the multi-step process (fetch, search, lookup, swap, push) and mentions partial matching for find_user. It is transparent about the behavior, though it could mention implications like version history or irreversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose sentence, a concise overview of steps, and parameter explanations. It is appropriately sized without unnecessary words, though it could be more streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description provides sufficient information for an AI agent to understand the tool's function, parameters, and behavior. It covers the core aspects, though additional details on return values or edge cases would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage, the description adds valuable context for all three parameters: page_id accepts numeric IDs or URLs, find_user uses partial match, and replace_user is searched in Confluence users. This meaningfully supplements the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: replacing @mentions of one user with another on a Confluence page. It specifies the action, resource, and mechanism, distinguishing it from sibling tools like confluence_find_replace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. It describes the process but lacks guidance on preconditions or comparative use cases, leaving the agent to infer from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_revert_pageA
Revert a Confluence page to a previous version.
Uses the v1 REST API restore operation to roll back a page.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
version_number: The version number to revert to.
version_message: Optional message describing the revert.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes | ||
| version_number | Yes | ||
| version_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description discloses the revert action and API version but does not mention side effects (e.g., data loss), permission requirements, or whether the operation is reversible. Provides basic transparency but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is very concise: three sentences plus parameter list. No redundancy. Information is front-loaded with the main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema or annotations. Description covers the operation but lacks details on return values, confirmation, or consequences. For a destructive action like revert, more context would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Adds meaning beyond the schema: explains page_id accepts numeric ID or URL, version_number is target version, version_message is optional. Schema has 0% description coverage, so description compensates well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (revert), resource (page), and scope (to a previous version). It distinguishes from sibling tools like confluence_edit_page or confluence_compare_versions by specifying the restore operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. No when-not conditions or prerequisites mentioned. The description only states the API used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_search_pagesA
Search Confluence pages using CQL (Confluence Query Language).
Returns page titles, IDs, and spaces matching the query. Supports CQL operators
like AND, OR, ~, =, etc. Simple text is treated as a title/content search.
Args:
query: CQL query string, e.g. 'type=page AND title~"meeting notes"' or just "meeting notes".
limit: Maximum number of results to return (default 10, max 50).
cursor: Pagination cursor from a previous search result.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description explains pagination via cursor, default and max limits, and mentions CQL operators. It is transparent about search behavior, though could explicitly state it is read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise, uses organized sections (Args:), and front-loads the purpose. No unnecessary sentences; each sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all parameters, return values, and pagination. Lacks error handling or mention of rate limits, but for a search tool it is fairly complete given the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, but the description thoroughly explains each parameter: query (with examples), limit (default, max), and cursor (for pagination). Adds significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool searches Confluence pages using CQL, and lists the returned data (titles, IDs, spaces). It is the only search tool among siblings, so no confusion with alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides examples of CQL queries and explains simple text fallback. It gives clear usage context, though it does not explicitly state when not to use or compare with other tools like confluence_list_pages.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_set_page_propertyA
Set a content property on a Confluence page.
Creates the property if it doesn't exist, or updates it if it does.
The value is stored as a JSON string.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
key: The property key (e.g. "status", "priority").
value: The property value as a JSON string (e.g. '"done"', '{"score": 5}').
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | ||
| value | Yes | ||
| page_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description transparently explains the create-or-update behavior and that the value is stored as a JSON string, which is critical for correct usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, well-structured with a clear purpose sentence followed by behavioral notes and parameter definitions. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description covers the essential aspects: what the tool does, parameter details, and value format. Missing return value info but still adequate for a set operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, the description fully compensates by detailing each parameter: page_id accepts numeric ID or Confluence URL, key is a property key, value must be a JSON string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it sets a content property on a Confluence page, with an upsert behavior. It distinguishes from sibling tools that focus on page editing, labels, or other actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The user must infer from sibling tool names, but no explicit when-not or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_set_restrictionsA
Set access restrictions on a Confluence page.
Replaces existing restrictions for the given operation. To remove all
restrictions, pass empty users and groups lists.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
operation: The operation to restrict — "read" or "update".
users: List of account IDs to grant access.
groups: List of group names to grant access.
| Name | Required | Description | Default |
|---|---|---|---|
| users | No | ||
| groups | No | ||
| page_id | Yes | ||
| operation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden. It reveals the tool is destructive (replaces restrictions) and specifies the operation parameter, but lacks details on required permissions, side effects, or confirmation of whether the action is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the main purpose. It includes a clear args breakdown, but the multi-line explanation of how to remove restrictions adds a bit of length without sacrificing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations or output schema, the description covers mutation behavior and parameter details adequately. However, it lacks examples, return value description, and confirmation of success/failure handling, leaving gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description adds significant meaning: page_id accepts numeric IDs or URLs, operation is restricted to 'read' or 'update', and users/groups are lists of account IDs/group names. This compensates for the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sets access restrictions on a Confluence page, using a specific verb ('Set') and resource ('restrictions'). It distinguishes itself from siblings by being the only tool dedicated to this operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the tool replaces existing restrictions and how to remove them, but does not explicitly state when to use it versus alternatives or provide exclusions. Usage context is implied but not formalized.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_update_table_cellA
Update a single cell in a table on a Confluence page.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
row: Zero-based row index.
col: Zero-based column index.
value: New text value for the cell.
table_index: Which table on the page (0-based, default first table).
| Name | Required | Description | Default |
|---|---|---|---|
| col | Yes | ||
| row | Yes | ||
| value | Yes | ||
| page_id | Yes | ||
| table_index | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It explains that page_id can be a URL or numeric ID, but does not cover atomicity, formatting preservation, error handling for missing cells, or permission requirements. Significant gaps remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a single-sentence purpose followed by a clear bulleted list of parameter descriptions. It is front-loaded and contains no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description should cover expected return values, error conditions, and side effects. It does not, leaving the agent to guess the behavior on failure or success, which is inadequate for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden. It explains all five parameters: page_id (URL or numeric), row (zero-based), col (zero-based), value (new text), and table_index (defaults to first table). This adds complete meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it updates a single cell in a table on a Confluence page. The verb 'update' and resource 'single cell' are specific, and it distinguishes from sibling tools like insert_table_row and delete_table_row.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies its usage by listing parameters, but does not explicitly state when to use it over alternatives, such as for updating a cell vs inserting a row. The sibling tools list suggests other table operations, but no direct guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_update_taskA
Toggle a task (checkbox) item on a Confluence page.
Finds a taskItem whose text contains task_text and sets its state.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
task_text: Text substring to match the task item (e.g. "Review PR").
state: New state — "DONE" or "TODO".
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | ||
| page_id | Yes | ||
| task_text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states it finds and sets state, but does not disclose side effects, permissions required, or behavior if task is not found. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a clear docstring format. However, the first line says 'Toggle' while the behavior is 'sets its state', causing minor inconsistency. Overall no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema or annotations. The description covers purpose and parameters but lacks return value specification, error handling behavior (e.g., task not found), and assumptions about page existence. Adequate for a simple tool but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has no descriptions (0% coverage), but the description adds significant value: page_id accepts numeric ID or URL, task_text is a substring match, and state valid values are 'DONE' or 'TODO'. All parameters are explained clearly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool toggles (sets) a task checkbox on a Confluence page, specifying the verb 'Toggle' and the resource 'task item'. It distinguishes from siblings like confluence_edit_page by focusing on task state changes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains how to use the tool (provide page_id, task_text, state) but does not mention when to use it versus alternatives like confluence_edit_page or when not to use it. There is no guidance on prerequisites or fallbacks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_upload_attachmentC
Upload a file as an attachment to a Confluence page.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
file_path: Local file path to upload.
comment: Optional comment for the attachment.
| Name | Required | Description | Default |
|---|---|---|---|
| comment | No | ||
| page_id | Yes | ||
| file_path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose behavioral traits beyond the fact that it uploads a file. Important details are missing, such as whether it overwrites existing attachments with the same name, if there are file size limits, or any authentication requirements. There are no annotations to supplement this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is fairly concise with a clear Args section. However, some redundancy exists (the docstring repeats 'Upload a file as an attachment'), and it could be more streamlined. It is appropriately front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an upload tool with three parameters and no output schema, the description is incomplete. It lacks details on overwrite behavior, error handling, supported file types, and the response format. Given typical upload tools, more context is needed for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning to all three parameters: it clarifies that 'page_id' can be a numeric ID or a Confluence URL, that 'file_path' is a local path, and that 'comment' is optional. However, with 0% schema description coverage, it could provide more detail, such as expected file formats or URL formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: uploading a file as an attachment to a Confluence page. The verb 'upload' and the resource 'attachment' are specific. However, it does not distinguish from sibling tools like 'confluence_download_attachment' or 'confluence_delete_attachment', which are clearly different actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of prerequisites, such as needing edit permissions on the page, or when it is appropriate to use this tool over other attachment-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confluence_watch_pageA
Watch or unwatch a Confluence page for the authenticated user.
Args:
page_id: A numeric page ID or a Confluence URL (including short /wiki/x/ links).
watch: True to start watching, False to stop watching.
| Name | Required | Description | Default |
|---|---|---|---|
| watch | No | ||
| page_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral transparency. It only mentions the action (watch/unwatch) and that it's for the authenticated user. It does not disclose side effects, permissions, idempotency, or error handling, leaving the agent with limited understanding of implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise: two sentences for the main purpose and two parameter descriptions. Every sentence is informative, with no wasted words. The main action is front-loaded, making it easy for an agent to quickly understand the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple toggle tool but lacks information about return values, success/failure behavior, or edge cases (e.g., duplicate calls). Given no output schema, the description could be more complete to fully inform the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning beyond the schema, which has 0% coverage. It explains that page_id accepts a numeric ID or Confluence URL (including short links), and that watch is a boolean with clear semantics (True to start, False to stop). This fully compensates for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Watch or unwatch a Confluence page for the authenticated user.' It specifies the verb (watch/unwatch) and resource (Confluence page), and the resource is distinct from sibling tools which focus on other operations like editing, searching, or listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide guidance on when to use this tool versus alternatives, nor does it mention exclusions or prerequisites. It only implies usage for toggling watch status, but lacks explicit context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
43 tool updates
v0.1.0- First observed
confluence_add_comment - First observed
confluence_add_inline_comment - First observed
confluence_add_labels - First observed
confluence_add_link - First observed
confluence_archive_page - First observed
confluence_clear_cache - First observed
confluence_compare_versions - First observed
confluence_copy_page - First observed
confluence_create_page - First observed
confluence_delete_attachment - First observed
confluence_delete_table_row - First observed
confluence_download_attachment - First observed
confluence_edit_page - First observed
confluence_extract_text - First observed
confluence_find_replace - First observed
confluence_get_ancestors - First observed
confluence_get_child_pages - First observed
confluence_get_contributors - First observed
confluence_get_labels - First observed
confluence_get_page - First observed
confluence_get_page_properties - First observed
confluence_get_user - First observed
confluence_insert_table_row - First observed
confluence_list_attachments - First observed
confluence_list_cache - First observed
confluence_list_comments - First observed
confluence_list_inline_comments - First observed
confluence_list_pages - First observed
confluence_list_spaces - First observed
confluence_list_versions - First observed
confluence_move_page - First observed
confluence_push_page - First observed
confluence_regex_replace - First observed
confluence_remove_label - First observed
confluence_replace_mention - First observed
confluence_revert_page - First observed
confluence_search_pages - First observed
confluence_set_page_property - First observed
confluence_set_restrictions - First observed
confluence_update_table_cell - First observed
confluence_update_task - First observed
confluence_upload_attachment - First observed
confluence_watch_page
TDQS
Scored across 43 tools
Each tool has a clearly distinct purpose, covering different Confluence operations like page CRUD, content editing, comments, labels, attachments, etc. No two tools perform the same action; even similar tools like 'edit_page' and 'find_replace' differ in their workflow (multi-step vs. single-step).
All tool names follow a consistent 'confluence_verb_noun' pattern using snake_case (e.g., confluence_get_page, confluence_add_labels, confluence_delete_attachment). Compound operations combine verbs (confluence_find_replace) but remain predictable. No mixing of conventions.
43 tools is on the high side but appropriate for a comprehensive Confluence integration covering pages, spaces, comments, labels, attachments, versions, caching, etc. Some tools (like cache management) could be considered auxiliary, but overall scope justifies the count.
Major operations are covered but notable gaps exist: no permanent page deletion (only archive), no direct ADF body retrieval, no comment editing or deletion, and no separate tool to update page title. The find/replace and cache-based editing approach may hinder programmatic workflows.
Maintenance
Related MCP Connectors
MCP-native open-source Notion alternative: read & write pages, databases and kanban boards.
A MCP server built for developers enabling Git based project management with project and personal…
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
The MCP server for Azure DevOps, bringing the power of Azure DevOps directly to your agents.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server implementation for interacting with self-hosted Confluence Data Center or Server instances via search, content retrieval, and optional write operations. It features space auto-discovery, audit logging, and granular access control for secure enterprise collaboration.-
- AlicenseNot gradedqualityCmaintenanceProduction-ready MCP server for Atlassian Jira and Confluence, providing tools for issue management, page retrieval, and content operations.261MIT
- AlicenseAqualityDmaintenanceMCP server for Confluence Cloud/Server/Data Center, enabling page search, CQL queries, page CRUD, attachment upload, and user identity lookup.232014MIT
- AlicenseBqualityCmaintenanceMCP server for administering Atlassian Confluence Cloud wiki pages, supporting CRUD operations, page navigation, comments, attachments, and more.621GPL 3.0