Skip to main content
Glama
Vijay-Duke
by Vijay-Duke

MCP Atlassian Server

This is a maintained fork of Vijay-Duke/mcp-atlassian

Why this fork exists: In January 2026, Atlassian removed the /rest/api/3/search endpoint entirely, breaking all Jira search functionality in the original package. This fork migrates to the new /rest/api/3/search/jql endpoint and implements the new cursor-based pagination. A PR has been submitted to upstream, but as of now there are 14+ unmerged PRs in that repo.

Install this fork: npm install @efithor/mcp-atlassian --registry=https://npm.pkg.github.com

License: MIT

A Model Context Protocol (MCP) server for integrating with Atlassian products (Confluence and Jira). This server provides tools for AI assistants to interact with Atlassian Cloud APIs, enabling document management, search, and export capabilities.

Features

Confluence Integration

  • Read & Search: Access pages, spaces, and content

  • Content Management: Create, update pages and comments

  • Page Hierarchy: Navigate parent/child page relationships

  • Export: Export pages as HTML or Markdown with embedded images

  • Attachments: List, download, and upload attachments

  • Labels: Manage page labels

  • Users: Find and query users, track personal activity

  • Personal Dashboard: View recent pages and mentions

Jira Integration

  • Issues: Read and search issues, get personal tasks

  • Projects: List and explore projects

  • Boards & Sprints: List boards, view sprints, track active work

  • Comments: Add comments to issues

  • Issue Creation: Create new issues with custom fields

  • User Management: Get current user details

  • Personal Dashboard: View your open issues and sprint tasks

Related MCP server: jira-mcp

Installation

First, configure npm to use GitHub Packages for the @efithor scope. Add to your ~/.npmrc:

@efithor:registry=https://npm.pkg.github.com

Then install:

# Install globally
npm install -g @efithor/mcp-atlassian

# Or install locally
npm install @efithor/mcp-atlassian

Option 2: Clone and Build

# Clone this fork
git clone https://github.com/Efithor/mcp-atlassian.git
cd mcp-atlassian

# Install dependencies
npm install

# Build TypeScript
npm run build

Option 3: Install Directly from GitHub

# Install directly from this fork
npm install -g github:Efithor/mcp-atlassian

# Or install in your project
npm install github:Efithor/mcp-atlassian

Configuration

Environment Variables

Create a .env file in the root directory:

ATLASSIAN_BASE_URL=https://yourdomain.atlassian.net
ATLASSIAN_EMAIL=your-email@example.com
ATLASSIAN_API_TOKEN=your-api-token

Getting API Token

  1. Log in to Atlassian Account Settings

  2. Click "Create API token"

  3. Give it a label and copy the token

  4. Use this token in your .env file

MCP Settings Configuration

Add to your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

Option 1: After npm install -g

{
  "mcpServers": {
    "mcp-atlassian": {
      "command": "npx",
      "args": ["@efithor/mcp-atlassian"],
      "env": {
        "ATLASSIAN_BASE_URL": "https://yourdomain.atlassian.net",
        "ATLASSIAN_EMAIL": "your-email@example.com",
        "ATLASSIAN_API_TOKEN": "YOUR_API_TOKEN"
      }
    }
  }
}

Option 2: From Local Clone

{
  "mcpServers": {
    "mcp-atlassian": {
      "command": "node",
      "args": ["/path/to/your/mcp-atlassian/dist/index.js"],
      "env": {
        "ATLASSIAN_BASE_URL": "https://yourdomain.atlassian.net",
        "ATLASSIAN_EMAIL": "your-email@example.com",
        "ATLASSIAN_API_TOKEN": "YOUR_API_TOKEN"
      }
    }
  }
}

Example with typical paths:

{
  "mcpServers": {
    "mcp-atlassian": {
      "command": "node",
      "args": ["~/projects/mcp-atlassian/dist/index.js"],
      "env": {
        "ATLASSIAN_BASE_URL": "https://yourdomain.atlassian.net",
        "ATLASSIAN_EMAIL": "your.email@company.com",
        "ATLASSIAN_API_TOKEN": "YOUR_API_TOKEN"
      }
    }
  }
}

Option 3: Direct from GitHub using uvx (Coming Soon)

You can run the server directly from GitHub without cloning:

{
  "mcpServers": {
    "mcp-atlassian": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/Efithor/mcp-atlassian.git", "mcp-atlassian"],
      "env": {
        "ATLASSIAN_BASE_URL": "https://yourdomain.atlassian.net",
        "ATLASSIAN_EMAIL": "your-email@example.com",
        "ATLASSIAN_API_TOKEN": "YOUR_API_TOKEN"
      }
    }
  }
}

Note: The uvx method requires the package to be properly configured for Python packaging. This is planned for a future release.

Available Tools

Confluence Tools

Tool

Description

get_confluence_current_user

Get details of the authenticated user

get_confluence_user

Get details for a specific user

search_confluence_pages_by_user

Search pages by user activity

list_user_confluence_pages

List pages authored by a user

list_user_confluence_attachments

List attachments uploaded by a user

read_confluence_page

Read a Confluence page by ID or title

search_confluence_pages

Search pages using CQL (Confluence Query Language)

list_confluence_spaces

List all accessible spaces

get_confluence_space

Get details of a specific space

create_confluence_page

Create a new page

update_confluence_page

Update existing page content

list_confluence_page_children

List child pages of a page

list_confluence_page_ancestors

Get parent hierarchy of a page

export_confluence_page

Export page as HTML or Markdown with embedded images

list_confluence_attachments

List page attachments

download_confluence_attachment

Download specific attachment

upload_confluence_attachment

Upload file to a page

download_confluence_page_complete

Download page with all content

add_confluence_comment

Add comment to a page

list_confluence_page_labels

Get page labels

add_confluence_page_label

Add labels to a page

find_confluence_users

Search for users

get_my_recent_confluence_pages

List your recent pages

get_confluence_pages_mentioning_me

Find pages that mention you

Jira Tools

Tool

Description

get_jira_current_user

Get details of the authenticated user

get_jira_user

Get details for a specific user

search_jira_issues_by_user

Search issues by user involvement

list_user_jira_issues

List issues by user role with date filtering

get_user_jira_activity

Track user activity including comments and transitions

get_user_jira_worklog

Get time tracking entries with formatted totals

read_jira_issue

Read issue details by key

search_jira_issues

Search issues using JQL

list_jira_projects

List all accessible projects

create_jira_issue

Create new issue

add_jira_comment

Add comment to issue

list_jira_boards

List accessible Scrum/Kanban boards

list_jira_sprints

List sprints for a board

get_jira_sprint

Get detailed sprint information

get_my_tasks_in_current_sprint

Get your tasks in active sprints

get_my_open_issues

Get all your open issues

Usage Examples

Export Confluence Page

// Export as HTML (raw content with embedded images)
{
  "tool": "export_confluence_page",
  "arguments": {
    "pageId": "123456789",
    "format": "html"
  }
}

// Export as Markdown with metadata
{
  "tool": "export_confluence_page",
  "arguments": {
    "pageId": "123456789",
    "format": "markdown"
  }
}

Search Confluence

{
  "tool": "search_confluence_pages",
  "arguments": {
    "cql": "space=DEV AND text~'architecture'",
    "limit": 10
  }
}

Create Jira Issue

{
  "tool": "create_jira_issue",
  "arguments": {
    "projectKey": "PROJ",
    "issueType": "Task",
    "summary": "Implement new feature",
    "description": "Detailed description here",
    "priority": "Medium"
  }
}

Get Your Sprint Tasks

// Get your tasks in the current sprint
{
  "tool": "get_my_tasks_in_current_sprint",
  "arguments": {
    "projectKey": "PROJ"
  }
}

// Get all your open issues
{
  "tool": "get_my_open_issues",
  "arguments": {
    "projectKeys": ["PROJ1", "PROJ2"],
    "maxResults": 50
  }
}

Work with Boards and Sprints

// List boards for a project
{
  "tool": "list_jira_boards",
  "arguments": {
    "projectKeyOrId": "PROJ",
    "type": "scrum"
  }
}

// Get active sprints for a board
{
  "tool": "list_jira_sprints",
  "arguments": {
    "boardId": 123,
    "state": "active"
  }
}

User-Specific Jira Operations

// Get user details
{
  "tool": "get_jira_user",
  "arguments": {
    "username": "john.doe"
  }
}

// Search issues by user involvement
{
  "tool": "search_jira_issues_by_user",
  "arguments": {
    "username": "john.doe",
    "searchType": "assignee",
    "status": "In Progress",
    "maxResults": 20
  }
}

// Get user's work logs
{
  "tool": "get_user_jira_worklog",
  "arguments": {
    "username": "john.doe",
    "startDate": "2024-01-01",
    "endDate": "2024-01-31",
    "projectKeys": ["PROJ1", "PROJ2"]
  }
}

// Track user activity
{
  "tool": "get_user_jira_activity",
  "arguments": {
    "username": "john.doe",
    "activityType": "all",
    "days": 7
  }
}

Content Format Support

Markdown ↔ Confluence Storage Format

The server automatically converts between Markdown and Confluence's storage format:

  • Write content in Markdown when creating/updating pages

  • Read pages in either storage format or converted to Markdown

  • Preserves formatting, links, and structure

Export Formats

  • HTML: Raw Confluence HTML with all images embedded as base64 data URIs

  • Markdown: Clean Markdown with YAML frontmatter, includes metadata and embedded images

Development

# Run in development mode with console logging
npm run dev

# Build for production
npm run build

# Run built server in MCP mode (no console output)
npm start

# Run built server in development mode (with console output)
npm run start:dev

# Run tests
npm test

Logging Behavior

The server defaults to MCP mode where console output is disabled to prevent interference with the JSON-RPC protocol. Console logging is only enabled when MCP_SERVER_MODE=false is set, which is done automatically by the dev and start:dev scripts.

Project Structure

mcp-atlassian/
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ index.ts                 # Main server entry point
│   ā”œā”€ā”€ types/                   # TypeScript type definitions
│   ā”œā”€ā”€ confluence/
│   │   ā”œā”€ā”€ handlers.ts          # Confluence API handlers
│   │   └── tools.ts             # Tool definitions
│   ā”œā”€ā”€ jira/
│   │   ā”œā”€ā”€ handlers.ts          # Jira API handlers
│   │   └── tools.ts             # Tool definitions
│   └── utils/
│       ā”œā”€ā”€ http-client.ts       # Axios HTTP client setup
│       ā”œā”€ā”€ content-converter.ts # Markdown ↔ Storage conversion
│       └── export-converter.ts  # HTML/Markdown export utilities
ā”œā”€ā”€ dist/                        # Compiled JavaScript
ā”œā”€ā”€ .env                         # Environment variables (not in git)
ā”œā”€ā”€ package.json
└── tsconfig.json

Security Notes

  • API tokens are stored in environment variables, never in code

  • Uses Basic Authentication with API tokens (not passwords)

  • All requests are made over HTTPS

  • Supports Atlassian Cloud only (not Server/Data Center)

Limitations

  • No delete operations implemented (by design for safety)

  • Export to PDF requires browser conversion (HTML → Print → PDF)

  • Some Confluence macros may not convert perfectly to Markdown

  • Rate limits apply based on Atlassian Cloud API limits

CI/CD Pipeline

This project uses GitHub Actions for continuous integration and deployment.

Workflows

šŸ”„ Continuous Integration (ci.yml)

  • Triggers: Push to main/develop, Pull requests

  • Jobs:

    • Test: Runs tests on Node.js 18.x, 20.x, and 22.x

    • Build: Compiles TypeScript and validates the build

    • Lint: Type checking and security audit

    • Validate Package: Ensures package size and structure

šŸ“¦ Publish to npm (publish.yml)

  • Triggers: GitHub releases, Manual dispatch

  • Features:

    • Automatic version bumping

    • npm publishing with provenance

    • GitHub release creation

    • Changelog updates

šŸ”’ Security Scanning (security.yml)

  • Triggers: Push to main, PRs, Weekly schedule

  • Scans:

    • npm audit for vulnerabilities

    • CodeQL analysis

    • OWASP dependency check

    • Snyk security scanning (optional)

šŸ·ļø Release Management (release.yml)

  • Triggers: Version tags, Manual dispatch

  • Features:

    • Automatic changelog generation

    • GitHub release creation

    • Build artifacts attachment

    • Release notes formatting

āœ… PR Validation (pr-validation.yml)

  • Triggers: Pull request events

  • Checks:

    • Semantic PR title validation

    • PR size labeling

    • Auto-labeling based on files changed

šŸ¤– Automated Dependency Updates

Dependabot is configured to:

  • Check for npm dependency updates weekly

  • Check for GitHub Actions updates weekly

  • Group non-major updates together

  • Create PRs with proper labels

Setting Up CI/CD

Required GitHub Secrets

  1. NPM_TOKEN: npm authentication token for publishing

  2. SNYK_TOKEN (Optional): For Snyk security scanning

Branch Protection

Recommended branch protection rules for main:

  • Require PR reviews before merging

  • Require status checks to pass (CI tests)

  • Require branches to be up to date

  • Include administrators in restrictions

Local Development

Before pushing changes:

# Run tests locally
npm test

# Build the project
npm run build

# Check for security vulnerabilities
npm audit

# Type check
npx tsc --noEmit

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see LICENSE file for details

Support

For issues and questions:

Acknowledgments

Built with:

Contributors

Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!

Available Tools

40 tools
add_confluence_commentA

Adds a comment to a Confluence page. Can also be used to reply to an existing comment.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesThe ID of the page to which the comment should be added.
contentYesThe text of the comment. Can be plain text or Confluence storage format (XHTML).
parentCommentIdNoThe ID of an existing comment to which this comment should be a reply. Optional.

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It states the action of adding/replying to a comment, but does not disclose permission requirements, side effects, return values, or any limitations. For a mutation tool with no annotation coverage, this 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.

Conciseness5/5

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

The description is two concise sentences with no wasted words. The primary action is front-loaded, and the secondary capability is stated briefly without redundancy.

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

Completeness3/5

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

For a simple tool with fully documented parameters, the description covers the necessary action and optional reply use case. However, there is no output schema and no annotation, so the agent is left without expectations for return values, errors, or permissions. The description is adequate but not complete.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all parameters and their meanings. The description's mention of replying adds marginal clarity to the parentCommentId parameter, but does not provide additional parameter-level detail beyond the schema.

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

Purpose5/5

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

The description uses a specific verb and resource: 'Adds a comment to a Confluence page,' which clearly identifies the tool's core function. It also distinguishes itself from the sibling add_jira_comment by specifying Confluence, and adds the secondary purpose of replying to existing comments.

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

Usage Guidelines3/5

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

The description gives clear context for when to use the tool—adding or replying to a Confluence comment—but does not explicitly state when to prefer alternatives. The sibling list includes add_jira_comment, but the description does not reference it or provide exclusionary guidance.

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

add_confluence_page_labelA

Adds one or more labels to a Confluence page. Labels are useful for organizing and categorizing content.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelsYesAn array of label objects to be added to the page.
pageIdYesThe ID of the page to which the labels will be added.

TDQS

A3.6/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of disclosing side effects. It states the additive write action, but does not mention whether duplicate labels are tolerated, whether existing labels are replaced, required permissions, or what the response indicates. This mirrors the gap seen in mutation tools that only assert the action.

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

Conciseness5/5

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

The description is two short sentences, front-loaded with the core action. The second sentence adds mild context about labels without becoming filler, and there is no unnecessary formatting or repetition.

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

Completeness4/5

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

For a simple two-parameter mutation with full schema coverage and no output schema, the description is largely complete: it states what the tool does, what it operates on, and why labels matter. It omits response details and edge-case behavior, but those are not essential for a correct first invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline applies: the schema already documents both pageId and labels, including label prefix semantics. The description adds no parameter-specific detail beyond what the schema provides.

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

Purpose5/5

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

The description opens with a specific verb and object: 'Adds one or more labels to a Confluence page.' This clearly distinguishes the tool from sibling operations like add_confluence_comment, update_confluence_page, or list_confluence_page_labels, so an agent can identify the correct resource and action.

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

Usage Guidelines3/5

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

The second sentence explains why labels are useful, implying the tool is for categorization purposes, but there is no explicit guidance on when to choose this over alternatives or when not to use it. Sibling tools such as list_confluence_page_labels suggest read-vs-write alternatives, but the description does not mention them.

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

add_jira_commentA

Adds a comment to an existing Jira issue. You can also control the visibility of the comment.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesThe text content of the comment.
issueKeyYesThe key of the issue to which the comment will be added (e.g., "PROJ-123").
visibilityNoAn object that sets the visibility of the comment to a specific project role or group. Optional.

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It discloses the core mutation ('Adds a comment') and the visibility capability, but omits important behavioral traits such as required permissions, side effects like notifications to issue watchers, response behavior, and failure modes for nonexistent issues. This is a significant gap for a write operation with zero annotation support.

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

Conciseness5/5

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

Two short sentences, front-loaded with the primary action, and the second sentence adds useful optional behavior without any fluff. Every word earns its place.

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

Completeness3/5

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

Adequate for a simple 3-parameter write tool with well-documented schema fields. However, with no annotations and no output schema, the description leaves response/error behavior and permission requirements unstated, which is a noticeable gap for a mutation tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents body, issueKey, and visibility fully. The description mentions visibility control at a high level but adds no syntax, default behavior, or format details beyond what the schema provides, leaving the score at the baseline.

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

Purpose5/5

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

The description clearly states a specific verb ('Adds'), a resource ('comment'), and a target ('existing Jira issue'). It distinguishes itself from siblings like add_confluence_comment by specifying the Jira platform and the issue object, so an agent can tell them apart without inspecting the schema.

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

Usage Guidelines4/5

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

The description provides clear context: use this when you need to add a comment to an existing Jira issue and optionally restrict its visibility. It does not explicitly name alternatives or exclusion conditions, such as 'use add_confluence_comment for Confluence pages', which keeps it from a 5.

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

create_confluence_pageC

Creates a new page or blog post in a Confluence space. Content can be provided in Markdown or Confluence storage format (XHTML).

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoThe type of content to create. Can be `page` or `blogpost`. Default is `page`.page
titleYesThe title for the new page or blog post.
contentYesThe main content of the page or blog post. Can be in Markdown or Confluence storage format (XHTML).
parentIdNoThe ID of a parent page, which will make the new page a child of that page. Optional.
spaceKeyYesThe key of the space where the content will be created (e.g., "DEV").

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does disclose that content accepts Markdown or XHTML, which is useful, but it omits the fact that this is a write/mutation operation with side effects, any permission requirements, behavior on duplicate titles, and whether format is auto-detected. A create tool with zero annotation coverage needs more 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.

Conciseness5/5

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

Two sentences with zero waste. The first sentence front-loads the core action and resource type, and the second adds non-redundant format information that directly affects how content should be authored. Every word earns its place.

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

Completeness2/5

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

For a creation tool with no output schema and no annotations, the description should disclose what the tool returns (typically the new page ID, which is essential for follow-up operations like upload_confluence_attachment or add_confluence_page_label). It also omits how the Markdown vs XHTML format is determined and any error behavior. The schema covers parameters fully, but the behavioral and return-value gaps make this incomplete for a mutation tool that starts most Confluence workflows.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline of 3 applies. The description adds marginal value by noting content accepts Markdown or XHTML, which aligns with the content parameter and an implied auto-detection behavior. It does not add meaning for spaceKey, title, parentId, or type, but those are already well documented in the schema.

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

Purpose4/5

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

States a specific verb and resource: 'Creates a new page or blog post in a Confluence space.' The create action is unambiguous and clearly distinguished from siblings like read_confluence_page, update_confluence_page, and search_confluence_pages. It doesn't explicitly name a differentiating sibling, but the 'new' plus 'creates' wording leaves little doubt about its role.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. With 39 siblings including update_confluence_page, add_confluence_comment, and upload_confluence_attachment, the description should state, for example, that this is for creating new content while update_confluence_page handles modifications. The usage context is only implied by the verb 'creates.'

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

create_jira_issueA

Creates a new issue in a Jira project. You must specify the project, issue type, and a summary. Other fields like description, priority, and assignee are optional.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelsNoA list of labels to add to the new issue.
summaryYesA concise summary or title for the issue.
assigneeNoThe Atlassian account ID of the user to whom the issue should be assigned.
priorityNoThe priority level for the issue (e.g., "High", "Medium", "Low"). Must be a valid priority in the project.
issueTypeYesThe name of the issue type (e.g., "Bug", "Task", "Story"). This must be a valid issue type in the specified project.
componentsNoA list of component names to associate with the new issue.
projectKeyYesThe key of the project in which the issue will be created (e.g., "PROJ").
descriptionNoA detailed description of the issue. Optional.
customFieldsNoA JSON object for setting custom fields. The keys are the custom field IDs (e.g., "customfield_10010") and the values are the data to be set. **For example: `{"customfield_10010": "Value for custom field"}`**.

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states that it creates a new issue, but it does not disclose permissions needed, whether the operation is idempotent, what side effects occur beyond creation, or what the response contains. This is a meaningful gap for a mutation tool.

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

Conciseness5/5

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

The description consists of two short sentences that are front-loaded with the primary action and immediate requirements. There is no redundant wording or boilerplate, and every sentence contributes useful information.

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

Completeness3/5

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

The definition is adequate for basic invocation because the schema covers all parameters and the description names the required fields. However, with no annotations and no output schema, it omits return value expectations, error conditions, and permission requirements, which would be helpful for an agent deciding whether and how to call the tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents every parameter. The description adds only a high-level grouping of required vs. optional fields, which is already encoded in the required array and parameter descriptions. This meets the baseline but does not provide significant additional parameter meaning.

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

Purpose5/5

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

The description uses a specific verb ('Creates') and a specific resource ('a new issue in a Jira project'), which is immediately distinguishable from sibling tools like read_jira_issue, search_jira_issues, and add_jira_comment. It also clearly identifies the required top-level inputs, leaving no ambiguity about what the tool does.

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

Usage Guidelines3/5

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

The description clearly implies it is for creating a new issue, and the requirement to specify project, issue type, and summary gives some practical guidance. However, it does not explicitly state when to avoid this tool or direct the agent to alternatives, such as using search_jira_issues for existing issues or read_jira_issue for retrieval.

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

download_confluence_attachmentA

Downloads a specific Confluence attachment and returns its content as a base64-encoded string. This is useful for reading the content of files attached to a page.

ParametersJSON Schema
NameRequiredDescriptionDefault
versionNoThe version number of the attachment to download. If not specified, the latest version is downloaded.
attachmentIdYesThe unique identifier of the attachment to download.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of disclosing behavior. It reveals that the return value is a base64-encoded string rather than raw binary data, which is important. It does not mention error behavior, permission requirements, or size limits, but the core behavior is clearly disclosed.

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

Conciseness5/5

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

Two sentences with the action and output format stated upfront. There is no filler, repetition, or extraneous detail.

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

Completeness4/5

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

For a straightforward two-parameter download tool, the description covers what it does, why it is useful, and what it returns. It does not explain how to obtain the attachmentId, but the schema and sibling list tools cover that, so this is a minor gap.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents attachmentId and version thoroughly. The description adds no parameter-specific meaning, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

Clearly states a specific verb ('Downloads'), a specific resource ('specific Confluence attachment'), and the output format ('base64-encoded string'). This distinguishes it from sibling tools like list_attachments_on_page or upload_confluence_attachment, which handle listing metadata and uploading, respectively.

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

Usage Guidelines4/5

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

The phrase 'This is useful for reading the content of files attached to a page' gives a clear intended use case. However, it does not explicitly mention alternative tools or state when not to use this tool, so it falls short of the fullest guidance.

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

export_confluence_pageA

Exports a Confluence page to either HTML or Markdown format. All images in the page content are embedded directly into the exported file as base64 data, making it self-contained. Use this when you want to create a portable, self-contained file of a page.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatYesThe desired export format. Can be `html` or `markdown`. Both formats will have images embedded.
pageIdYesThe ID of the Confluence page to be exported.

TDQS

A3.9/5.0
Behavior3/5

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

The description discloses a genuinely useful behavioral trait beyond the schema: images are embedded as base64, making the output self-contained, which has real consequences for file size and portability. Since no annotations are provided, the description carries the full behavioral burden, yet it omits the return format (file path, data, or download URL) and any page-size or performance limitations.

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

Conciseness5/5

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

Three sentences, each earning its place: the core purpose, the key behavioral detail about base64 image embedding, and the usage guidance. The primary action is front-loaded in the first sentence with no filler, redundancy, or restatement of the tool name.

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

Completeness3/5

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

The tool is simple (2 required parameters, full schema coverage, no nested objects) and the description covers purpose, behavior, and usage. However, since there is no output schema, the description should state what the agent receives after the export (file location, data blob, or download URL), which is a meaningful gap for a tool that produces a deliverable file.

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

Parameters3/5

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

Schema description coverage is 100%, with both pageId and format already documented, so the baseline is 3. The description adds only marginal reinforcement by tying the format parameter to a behavioral outcome (both formats embed images) without providing deeper parameter-level detail.

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

Purpose5/5

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

States a specific verb ('Exports'), resource ('Confluence page'), and scope (HTML or Markdown with embedded images), which fully defines the operation. This clearly distinguishes it from siblings like read_confluence_page (which reads content) and download_confluence_attachment (which downloads individual attachments), so an agent can select it without ambiguity.

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

Usage Guidelines4/5

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

The bolded instruction 'Use this when you want to create a portable, self-contained file of a page' provides explicit when-to-use guidance that is easy to match against an agent's goal. However, it does not name alternatives or state when-not-to-use it, so it stops short of the fully explicit exclusionary guidance.

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

find_confluence_usersA

Searches for Confluence users based on various criteria. This is useful for finding user details like account IDs when you have partial information or need to perform a broader search. Use this tool when you need to find users based on a query.

ParametersJSON Schema
NameRequiredDescriptionDefault
cqlNoA CQL query to search for users (e.g., `user.fullname ~ "John Doe"`).
limitNoThe maximum number of users to return. Default is 25, maximum is 100.
startNoThe starting index for pagination. Default is 0.
expandNoProperties to expand in the response.
userKeyNoSearch for a user by their user key.
usernameNoSearch for a user by their username.
accountIdNoSearch for a user by their Atlassian account ID.

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden for behavioral disclosure. It only states that the tool searches and returns user details, but never mentions pagination behavior, how multiple criteria interact, whether at least one parameter is required, authorization needs, or what happens on empty results. This is a significant gap for a search tool with seven optional parameters.

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

Conciseness4/5

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

The description is compact at two sentences and front-loads the core purpose immediately. However, the final bolded sentence 'Use this tool when you need to find users based on a query' is largely redundant with the first sentence, making it not entirely waste-free.

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

Completeness2/5

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

The tool has seven optional parameters and no output schema or annotations, yet the description gives no guidance on parameter relationships (e.g., can cql be combined with username?), which search criterion to prefer, or what the response structure looks like. This leaves the agent under-informed for a flexible search tool.

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

Parameters3/5

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

The schema has 100% description coverage, so the baseline is 3. The description adds no parameter-specific semantics beyond the general phrase 'based on various criteria,' which does not meaningfully extend what the schema already documents for cql, username, accountId, etc.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Searches for Confluence users based on various criteria.' It further clarifies scope by stating it's for 'finding user details like account IDs' when you have 'partial information or need to perform a broader search,' which distinguishes it from direct lookup tools like get_confluence_user.

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

Usage Guidelines4/5

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

The description explicitly says 'Use this tool when you need to find users based on a query' and adds context about partial information and broader searches. However, it does not explicitly name sibling tools like get_confluence_user or list_pages_created_by_user, nor does it state 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.

get_confluence_current_userA

Get details of the authenticated Confluence user. Returns information about the current user including account ID, display name, email, and profile picture.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It communicates that the operation is a read-style lookup ('Get details'), that it applies to the authenticated user, and what data will be returned. It does not discuss errors or edge cases, but for a simple no-parameter read tool this is not 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.

Conciseness5/5

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

The description is a single, well-structured sentence that front-loads the verb and resource, then adds useful return-field details. There is no filler or redundant information.

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

Completeness5/5

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

For a zero-parameter read-only tool without an output schema, the description is complete: it states the operation, identifies the target user, and enumerates key returned fields. An agent has enough information to invoke this tool correctly without needing additional context.

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

Parameters4/5

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

The tool has zero parameters, so the description does not need to explain parameter semantics. The phrase 'authenticated Confluence user' clarifies the implicit scope of the operation, which is the baseline expectation for a no-parameter tool.

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

Purpose5/5

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

The description clearly states the action ('Get details') and the resource ('authenticated Confluence user'), and it lists the returned fields. It is also easily distinguished from sibling tools like get_confluence_user (lookup of a specific user) and get_jira_current_user (Jira current user) because it explicitly scopes to the Confluence current user.

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

Usage Guidelines4/5

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

The description gives a clear use case: retrieve the profile of the authenticated Confluence user. It does not explicitly call out alternatives or when not to use this tool, but for a zero-parameter retrieval tool the context is clear enough for an agent to select it appropriately.

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

get_confluence_pages_mentioning_meA

Search for pages that mention the current user. Returns pages where you have been @mentioned.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoThe maximum number of pages to return. Default is 25, maximum is 100.
startNoThe starting index for pagination. Default is 0.
spaceKeyNoOptional space key to filter results to a specific space.

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It does convey that this is a read/search operation returning matching pages and clarifies 'mention' as '@mention', but it omits details like authentication needs, ordering, pagination behavior, and whether only accessible spaces are included.

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

Conciseness5/5

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

The description is two short sentences with no filler. The first sentence states the action, and the second usefully clarifies that 'mention' specifically means @mention.

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

Completeness4/5

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

This is a low-complexity tool with complete schema coverage and clear return semantics, so the description is largely sufficient for invocation. It would benefit from a note about pagination defaults or differentiation from the broader search_pages_by_user_involvement tool, but nothing critical is missing.

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

Parameters3/5

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

All three parameters (limit, start, spaceKey) are fully documented in the schema with descriptions and defaults. The tool description adds no additional parameter-level meaning, which is acceptable given the 100% schema coverage.

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

Purpose5/5

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

The description uses a specific verb ('Search'), a specific resource ('pages'), and the key filter ('where you have been @mentioned'). This makes the tool's purpose unambiguous and differentiates it from related tools like list_pages_created_by_user or read_confluence_page.

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

Usage Guidelines3/5

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

The use case is implied clearly: find pages mentioning the current user. However, there is no explicit guidance about when to prefer this tool over search_pages_by_user_involvement or search_confluence_pages, nor any stated exclusions or alternatives.

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

get_confluence_spaceA

Get details of a specific Confluence space by its key. Returns space information including name, type, status, and description.

ParametersJSON Schema
NameRequiredDescriptionDefault
expandNoProperties to expand in the response (e.g., "description.plain,homepage").description.plain,homepage
spaceKeyYesThe key of the space to retrieve (e.g., "DEV").

TDQS

A4/5.0
Behavior3/5

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

There are no annotations, so the description must carry the behavioral burden. It accurately indicates a read operation and previews the returned fields, but it doesn't state explicitly that the operation is read-only/no side effects or what happens on an invalid key or with the expand parameter. This is adequate but not rich.

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

Conciseness5/5

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

A single, well-structured sentence that front-loads the action and resource, then adds useful return-field detail. No filler or repetition.

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

Completeness4/5

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

For a simple retrieval tool with two fully described parameters and no output schema, the description provides enough for an agent to make the call. Minor gaps are error/not-found behavior and the effect of expand, but the schema covers expand.

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

Parameters3/5

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

Schema description coverage is 100%: both spaceKey and expand are already well documented in the schema. The description's 'by its key' paraphrases spaceKey but adds no additional semantic value beyond the schema.

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

Purpose5/5

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

The description uses a specific verb ('Get details') and a precise resource ('a specific Confluence space'), scoped by the space key. This clearly differentiates it from list_confluence_spaces, which retrieves multiple spaces.

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

Usage Guidelines4/5

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

The phrase 'a specific Confluence space by its key' establishes the clear context: use this when you already know the key and need a single space. It doesn't explicitly point to list_confluence_spaces for enumeration, so it stops short of full when/when-not guidance.

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

get_confluence_userA

Get details for a specific Confluence user by a unique identifier like username, account ID, or email. Returns user profile information. Use this tool when you are confident you can uniquely identify a user.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoThe email address of the user.
usernameNoThe username to search for.
accountIdNoThe Atlassian account ID of the user.

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral disclosure burden. It states that the tool returns user profile information and implies a read-only lookup, but it does not disclose behavior for unknown users, handling of multiple provided identifiers, or any auth/error specifics.

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

Conciseness5/5

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

Two tight sentences with no fluff: the first states the operation and return value, the second provides the key usage condition. The guidance is front-loaded and every sentence earns its place.

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

Completeness3/5

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

The description is adequate for a simple lookup tool but leaves some gaps: it does not clarify how to proceed if multiple identifiers are provided, what happens if no identifier is provided, or what the returned profile structure looks like. With no output schema and no annotations, a bit more context would improve completeness.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents email, username, and accountId fully. The description adds the unifying concept of 'unique identifier' but provides no additional syntax, precedence rules, or guidance on whether exactly one parameter should be supplied.

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

Purpose5/5

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

The description clearly states the action (get details), the resource (a specific Confluence user), and the locating mechanism (unique identifier like username, account ID, or email). This differentiates it from sibling tools like get_confluence_current_user and find_confluence_users, even without naming them.

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

Usage Guidelines4/5

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

Provides explicit guidance: use this tool when confident the user can be uniquely identified. It does not name an alternative such as find_confluence_users for ambiguous lookups, but the condition is clear and actionable.

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

get_jira_current_userA

Get details of the authenticated Jira user. Returns information about the current user including account ID, display name, email, and avatar URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It clearly states this is a read-only operation that returns user details, which is helpful. It does not describe authentication-failure behavior or edge cases, but for a simple get-current-user operation the transparency is adequate.

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

Conciseness5/5

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

The description is concise and front-loaded: the first sentence states the action and resource, while the second adds valuable return-field details. There is no redundant or filler content.

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

Completeness4/5

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

For a zero-parameter, read-only tool with no output schema, the description provides enough context: it names the resource and lists key return fields. It does not discuss potential errors or explicitly contrast with the Confluence sibling, but these are minor given the tool's simplicity.

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

Parameters4/5

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

The input schema has zero parameters and 100% schema description coverage, so the baseline is 4. The description correctly implies no parameters are needed by referring to the authenticated user, and it adds useful context about what data will be returned.

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

Purpose5/5

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

The description uses a specific verb and resource ('Get details of the authenticated Jira user') and distinguishes it from sibling tools like get_jira_user by emphasizing 'authenticated' and 'current'. It also enumerates returned fields, making the tool's purpose unambiguous.

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

Usage Guidelines3/5

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

The phrase 'authenticated Jira user' implies this tool is for retrieving the caller's own profile rather than an arbitrary user, which provides implicit usage context. However, the description does not explicitly state when to prefer this over get_jira_user or mention any exclusion conditions.

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

get_jira_userA

Get details for a specific Jira user by username, account ID, or email. Returns user profile information.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoThe email address of the user.
usernameNoThe username to search for.
accountIdNoThe Atlassian account ID of the user.

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the burden for behavioral context. It communicates that the tool returns user profile information, which is useful, but it does not disclose behavior for missing or conflicting identifiers, not-found cases, or any 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.

Conciseness5/5

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

A single sentence communicates the action, the resource, the acceptable identifiers, and the return type with no filler. Information is front-loaded and every clause earns its place.

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

Completeness3/5

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

The description is adequate for a simple user-lookup tool, but it leaves an important ambiguity: all three schema parameters are optional, yet the tool likely requires at least one identifier. It also does not specify precedence if multiple identifiers are passed or what 'profile information' includes, which matters more because no output schema is present.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already explains the three parameters. The description adds the 'or' framing, suggesting that one of these identifiers is used, but it does not add significant detail beyond the schema.

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

Purpose5/5

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

The description uses a specific verb ('Get'), names an exact resource ('details for a specific Jira user'), and lists the three lookup identifiers. This clearly distinguishes it from sibling tools that return the current user or Confluence users.

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

Usage Guidelines3/5

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

The description implies this tool should be used when you need a Jira user's profile details using a known username, account ID, or email. However, it does not explicitly contrast with alternatives like get_jira_current_user or state when not to use it.

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

get_my_current_sprint_issuesA

Get all issues assigned to you in the currently active sprint(s). Useful for daily standups or checking your current sprint workload. Can filter by specific board or project.

ParametersJSON Schema
NameRequiredDescriptionDefault
boardIdNoOptional board ID to get sprint-specific information.
projectKeyNoOptional project key to filter issues (e.g., "PROJ").

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral transparency burden. It does convey the read-only 'get all issues' behavior and the active-sprint scoping, which is useful. However, it does not disclose edge behaviors such as what happens when there are no active sprints, whether multiple active sprints are merged, or whether returned issues are limited to open/unresolved ones.

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

Conciseness5/5

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

The description is two sentences with no filler. The core purpose is front-loaded, followed by concrete example use cases and a brief note on filtering. Every sentence earns its place.

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

Completeness4/5

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

For a simple read-only list tool with fully documented optional parameters and no output schema, the description provides enough context to call it correctly. It explains what the result is (issues assigned to the user in active sprints) and mentions the available filters. It could mention multi-board ambiguity or empty-sprint behavior, but those are minor gaps for this tool.

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

Parameters3/5

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

The input schema covers both parameters fully, so the baseline is 3. The description only says 'Can filter by specific board or project,' which adds no new semantic detail beyond the schema's property descriptions. It does not introduce additional format or behavior expectations for the parameters.

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

Purpose5/5

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

The description uses a specific verb and resource: 'Get all issues assigned to you in the currently active sprint(s).' This clearly distinguishes the tool from sibling tools like get_my_unresolved_issues or search_issues_by_user_involvement by focusing on active sprint scope. It is immediately obvious what the tool does.

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

Usage Guidelines4/5

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

The description gives clear usage context: 'Useful for daily standups or checking your current sprint workload.' It does not explicitly name when-not-to-use or compare to alternatives, but the use cases are specific and practical enough for an agent to recognize when this tool is appropriate.

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

get_my_recent_confluence_pagesA

List pages recently created or updated by the current user. Returns pages where you are the creator or last modifier.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoThe maximum number of pages to return. Default is 25, maximum is 100.
startNoThe starting index for pagination. Default is 0.
spaceKeyNoOptional space key to filter results to a specific space.

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral burden. It clearly explains the matching rule (creator or last modifier), but it does not define 'recently', specify ordering, or mention permission-based visibility. This is acceptable for a simple read-only list but not richly transparent.

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

Conciseness5/5

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

Two concise sentences with no filler. The core scope is front-loaded in the first sentence, and the second sentence adds a useful precision about creator vs. last modifier.

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

Completeness4/5

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

For a simple list tool with no required parameters and a fully documented schema, the description is mostly complete. The main gaps are the lack of a definition for 'recent' and the absence of ordering or pagination behavior details, but an agent can still invoke it correctly.

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

Parameters3/5

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

The input schema description coverage is 100%, so limit, start, and spaceKey are already fully documented. The tool description adds no new parameter-specific meaning, so the baseline 3 applies.

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

Purpose5/5

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

The description uses a specific verb ('List'), a precise resource ('pages'), and a clear scope ('recently created or updated by the current user'). It further sharpens the scope by stating 'Returns pages where you are the creator or last modifier,' which distinguishes it from sibling tools like list_pages_created_by_user.

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

Usage Guidelines4/5

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

The description makes the usage context explicit: use this when you need pages the current user created or last modified. It does not name alternatives or exclusions such as search_pages_by_user_involvement, so it stops short of full when-not guidance.

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

get_my_unresolved_issuesA

Get all unresolved issues currently assigned to you, organized by status and priority. Perfect for checking your backlog or identifying what needs attention.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxResultsNoThe maximum number of issues to return. Default is 50, maximum is 100.
projectKeysNoOptional list of project keys to filter issues (e.g., ["PROJ1", "PROJ2"]).

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral disclosure burden. It conveys that the operation is a read, that results are scoped to unresolved assigned issues, and that output is grouped by status and priority. However, it does not clarify that 'you' means the current authenticated Jira user, what statuses count as unresolved, or that the 'all' wording is bounded by maxResults pagination.

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

Conciseness5/5

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

The description is compact: one sentence states the core action and result shape, and a second sentence adds a practical use case. No redundant or filler content is present, and the most important information is front-loaded.

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

Completeness3/5

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

For a simple read tool with two optional parameters, the description is mostly adequate. Still, with no output schema and no annotations, it leaves gaps: it does not clarify the default pagination limit despite using 'all,' does not define 'you' in terms of authenticated user, and does not describe the response structure beyond 'organized by status and priority.'

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

Parameters3/5

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

Schema description coverage is 100%, so the two parameters are already fully documented in the schema. The description adds no parameter-level meaning beyond that. Notably, the phrase 'Get all unresolved issues' could slightly mislead because maxResults defaults to 50 and caps at 100, though the schema handles this explicitly.

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

Purpose5/5

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

The description clearly states the action ('get'), the resource ('issues currently assigned to you'), and the filtering condition ('unresolved'), with an explicit organization scheme ('by status and priority'). This differentiates it from siblings like get_my_current_sprint_issues or search_issues_by_user_involvement through its specific scope.

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

Usage Guidelines4/5

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

The description gives clear usage context: 'Perfect for checking your backlog or identifying what needs attention.' It does not explicitly name alternative tools or exclusion criteria, but the use case is specific enough to guide an agent in selecting it over related issue-search siblings.

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

get_page_with_attachmentsA

Performs a comprehensive download of a Confluence page, including its full content, metadata, and optionally, all of its attachments. Attachments are base64-encoded. Use this when you need the page content, metadata, and all associated attachments.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesThe ID of the Confluence page to download.
attachmentTypesNoAn array of MIME types to filter attachments by (e.g., ["image/png", "application/pdf"]). If not specified, all attachment types are included.
maxAttachmentSizeNoThe maximum size in bytes for an individual attachment to be downloaded. Default is 50MB.
includeAttachmentsNoIf true, all attachments on the page will be downloaded and included in the response. Default is true.

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose a key behavioral detail — attachments are base64-encoded — and clarifies that attachment inclusion is optional. But it does not mention payload size implications, pagination, error behavior, or the non-destructive/read-only nature of the operation, which are meaningful gaps for a download tool.

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

Conciseness5/5

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

The description is compact and front-loaded: the action and resource appear first, followed by the key output detail and a bolded usage guideline. Every sentence earns its place, and there is no redundant or filler language.

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

Completeness4/5

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

For a medium-complexity tool with no output schema, the description adequately conveys what will be returned — page content, metadata, and base64-encoded attachments — and when to use it. It could be more complete by naming the lighter-weight sibling alternatives or warning about potentially very large responses, but the schema fills in the parameter details and the core invocation context is present.

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

Parameters3/5

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

All four parameters are already documented in the input schema, so schema coverage is 100% and the baseline is 3. The description adds no per-parameter meaning beyond what the schema provides; the base64 note is about response format, not parameter semantics.

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

Purpose5/5

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

The description states a specific operation — downloading a Confluence page — and scopes it to full content, metadata, and optionally all attachments. This distinguishes it from sibling tools like read_confluence_page or list_attachments_on_page, which handle only subsets of that scope. The 'comprehensive download' phrasing makes the tool's role immediately clear.

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

Usage Guidelines4/5

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

'Use this when you need the page content, metadata, and all associated attachments' is an explicit, unambiguous trigger condition. However, the description does not name alternative tools or state when-not-to-use it, so it falls just short of full alternative routing.

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

get_sprint_detailsA

Get comprehensive details about a specific sprint including its name, start/end dates, goals, and all issues included in the sprint.

ParametersJSON Schema
NameRequiredDescriptionDefault
sprintIdYesThe ID of the sprint to retrieve.

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose the scope of returned data (name, dates, goals, and all issues), which is the key behavioral trait of a getter. However, it does not address error behavior for invalid sprint IDs, whether 'all issues' includes sub-tasks or only top-level issues, or how issues are represented in the response.

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

Conciseness5/5

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

A single sentence that front-loads the verb and resource, then appends the relevant content fields. Every word earns its place; there is no fluff or repetition of schema information.

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

Completeness3/5

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

For a simple 1-parameter getter, the description covers the essentials, but it lacks any differentiation from sprint-related siblings (list_sprints_for_board, get_my_current_sprint_issues) and, with no output schema present, does not help the agent anticipate the response shape. Adequate, but with clear gaps.

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

Parameters3/5

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

Schema description coverage is 100% — sprintId already has a clear description ('The ID of the sprint to retrieve'). The tool description adds nothing beyond the schema, so the baseline of 3 applies.

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

Purpose4/5

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

The description uses a specific verb ('get') and resource ('comprehensive details about a specific sprint'), and enumerates the content returned: name, start/end dates, goals, and all included issues. It is clearly distinct from listing-oriented siblings like list_sprints_for_board, though it does not explicitly name any sibling.

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

Usage Guidelines3/5

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

Usage context is only implied: the phrase 'a specific sprint' combined with the sprintId parameter suggests this tool is for retrieving detail on one known sprint versus listing sprints. There is no explicit when-to-use guidance or naming of alternatives like list_sprints_for_board or get_my_current_sprint_issues, leaving routing to inference.

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

get_user_activity_historyC

Get a stream of recent user activity, such as issue comments, status changes, and field updates. Can filter by activity type and project.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to look back for activity. Default is 30.
startAtNoThe starting index for pagination. Default is 0.
usernameNoThe username of the user (alternative to accountId).
accountIdNoThe Atlassian account ID of the user.
maxResultsNoThe maximum number of activities to return. Default is 50, maximum is 100.
projectKeysNoOptional list of project keys to filter results.
activityTypeNoType of activity to retrieve. Default is "all".all

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral disclosure burden. It does not state whether the activity is for the current user or a specified user, what the response items look like, how pagination works, or whether any side effects or auth requirements apply. The examples of activity types are helpful but under-specified.

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

Conciseness4/5

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

Two short sentences with no filler; the main action and examples come first and the filter capability second. It earns its place, though the second sentence could be more precise about which parameters map to 'activity type and project.'

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

Completeness2/5

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

The tool has seven parameters, no annotations, and no output schema, yet the description does not cover the user-scope ambiguity (current user vs specified accountId/username) or the return shape. For an activity-history tool, the agent needs to know what a result entry looks like and how the identity of the user is determined, so the description is incomplete.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all seven parameters. The description adds a little value by clustering 'activity type and project' as filters, but it does not explain the relationship between username and accountId or the default user scope, so it stays at baseline.

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

Purpose4/5

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

The description names a specific verb ('Get'), resource ('stream of recent user activity'), and gives concrete examples (issue comments, status changes, field updates). It is clear on its face but does not distinguish itself from sibling tools like get_user_time_tracking or get_my_recent_confluence_pages.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool instead of the many related siblings (e.g., search_issues_by_user_involvement, get_user_time_tracking). There is no 'use this when...' or 'use X instead for...' instruction, leaving the selection entirely to inference.

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

get_user_time_trackingB

Retrieve time tracking work logs (worklogs) for a specific user. Shows all time entries logged by the user within a date range, useful for timesheet and worklog reporting.

ParametersJSON Schema
NameRequiredDescriptionDefault
endDateNoEnd date for filtering worklogs (format: YYYY-MM-DD).
startAtNoThe starting index for pagination. Default is 0.
usernameNoThe username of the user (alternative to accountId).
accountIdNoThe Atlassian account ID of the user.
startDateNoStart date for filtering worklogs (format: YYYY-MM-DD).
maxResultsNoThe maximum number of worklogs to return. Default is 50, maximum is 100.
projectKeysNoOptional list of project keys to filter results.

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are present, so the description carries full responsibility for behavioral disclosure. 'Retrieve' signals a read-only operation and the date-range wording discloses filtering scope, but the description is silent on whether username/accountId are alternatives or requirements, on pagination behavior, and on response format — material gaps for a tool with seven parameters.

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

Conciseness4/5

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

Two short sentences with the primary action front-loaded. The closing 'useful for timesheet and worklog reporting' earns its place by supporting usage guidance, though it mildly restates 'time tracking work logs.'

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

Completeness2/5

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

With no output schema and no annotations, the description should compensate by describing return value shape and invocation requirements, and it doesn't. An agent knows the parameters from the schema, but not what the call returns or how to choose between username and accountId, so the definition is adequate but incomplete.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline of 3 applies. The description only reiterates the date-range and user concepts already in the schema and adds no meaning that the property descriptions don't already provide (e.g., the schema already notes username is 'alternative to accountId').

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

Purpose4/5

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

The description states a specific verb and resource — 'Retrieve time tracking work logs (worklogs) for a specific user' — and clarifies scope ('within a date range'). It distinguishes worklog retrieval from siblings like get_user_activity_history and read_jira_issue by naming the resource, but it never explicitly contrasts itself with those alternatives.

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

Usage Guidelines3/5

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

The phrase 'useful for timesheet and worklog reporting' gives an implied, clear context for when an agent should reach for this tool. However, there is no when-not-to-use guidance and no explicit routing to alternatives such as get_user_activity_history for general user activity.

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

list_agile_boardsA

List all accessible Agile boards (both Scrum and Kanban types). Can be filtered by project or board type to find specific boards.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFilter by board type: scrum or kanban.
startAtNoThe starting index for pagination. Default is 0.
maxResultsNoThe maximum number of boards to return. Default is 50, maximum is 50.
projectKeyOrIdNoFilter boards by a specific project key or ID (e.g., "PROJ" or "10000").

TDQS

A4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It meaningfully discloses that only 'accessible' boards are returned, that both board types are included, and that filtering is optional. It does not detail pagination or ordering edge cases, but these are minor for a read-only listing operation and partially covered by the schema.

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

Conciseness5/5

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

Two tight sentences with no filler. The main action is front-loaded, and the filtering nuance follows immediately. Every word contributes to understanding the tool's scope.

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

Completeness4/5

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

For a simple read-only list tool with fully documented schema and no output schema, the description is largely sufficient: it identifies the resource, scope, and filter options. A minor gap is the lack of explicit guidance on pagination behavior or relationship to sibling board/sprint tools, but this does not undermine correct invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents all four parameters, including type, defaults, and constraints. The description only high-level restates the project/type filters and adds no new parameter semantics, so the baseline of 3 applies.

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

Purpose5/5

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

States a specific action ('List'), a clear resource ('accessible Agile boards'), and explicitly includes both Scrum and Kanban types. It also mentions the filtering capability, making the tool's purpose precise and distinguishable from sibling tools focused on sprints, issues, or Confluence content.

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

Usage Guidelines3/5

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

The description implies when to use the tool ('to find specific boards' by project or type) but does not explicitly contrast it with alternatives like list_sprints_for_board or state when not to use it. Context is present, but the agent must infer the boundary against sibling tools.

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

list_attachments_on_pageC

Lists all attachments for a specific Confluence page. Can be filtered by filename or media type.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoThe maximum number of attachments to return. Default is 50, maximum is 100.
startNoThe starting index for pagination. Default is 0.
pageIdYesThe ID of the Confluence page whose attachments are to be listed.
filenameNoFilter attachments by their filename.
mediaTypeNoFilter attachments by their MIME type (e.g., "image/png", "application/pdf").

TDQS

C2.9/5.0
Behavior2/5

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

The description says 'Lists all attachments,' but the schema exposes limit (default 50, max 100) and start pagination, so results are actually paginated and capped. This is a meaningful behavioral detail the description fails to disclose. With no annotations, the description also does not mention output shape, response format, or any other behavior beyond the basic listing action.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. It immediately conveys the action, resource, and available filters. There is no wasted wording, though some behavioral details are missing.

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

Completeness2/5

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

With no output schema and no annotations, the description carries the burden of explaining behavior, but it omits pagination semantics, result shape, and how the returned attachments relate to download/upload sibling tools. The 'all' wording actively conflicts with the limit/start parameters, making the definition incomplete for an agent.

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

Parameters3/5

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

Schema description coverage is 100%, so all parameters already have meaningful descriptions. The tool description only restates that filtering by filename or media type is possible, adding no new semantic value beyond what the schema already provides. Baseline of 3 is appropriate.

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

Purpose4/5

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

The description clearly states a specific action and resource: 'Lists all attachments for a specific Confluence page.' It also mentions the filename and media type filters. It does not explicitly differentiate from siblings like get_page_with_attachments or list_attachments_uploaded_by_user, but the page-scoped wording makes the primary intent unambiguous.

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

Usage Guidelines2/5

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

There is no guidance about when to prefer this tool over related siblings such as list_attachments_uploaded_by_user, get_page_with_attachments, or download_confluence_attachment. The description implies a page-scoped use case but provides no exclusions or alternative routing.

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

list_attachments_uploaded_by_userB

List all attachments uploaded by a specific user, with optional filtering by space.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoThe maximum number of attachments to return. Default is 25, maximum is 100.
startNoThe starting index for pagination. Default is 0.
spaceKeyNoOptional space key to filter results to a specific space.
usernameNoThe username of the user (alternative to accountId).
accountIdNoThe Atlassian account ID of the user.

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It claims to list 'all attachments,' yet the schema reveals pagination with limit defaulting to 25 and maximum 100, so the tool returns a page, not necessarily all. It also omits behavior when neither username nor accountId is supplied, ordering, and error cases.

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

Conciseness5/5

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

A single, front-loaded sentence with no filler. Every word contributes to the core purpose and the space-filtering option.

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

Completeness2/5

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

This is a paginated list tool with no output schema and no annotations, yet the description does not mention pagination behavior, the need to supply either username or accountId, or what the response contains. Given the five parameters and the dual user-identifier ambiguity, the description is insufficient for safe invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema documents all parameters. The description adds little beyond the schema, merely restating that space filtering is optional. No additional semantics are provided for pagination or the username/accountId relationship.

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

Purpose5/5

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

States a specific verb and resource: list attachments uploaded by a specific user, with an optional space filter. This clearly distinguishes it from siblings like list_attachments_on_page (attachments on a page) and list_pages_created_by_user (pages, not attachments).

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as list_attachments_on_page or download_confluence_attachment. The description implies a use case but provides no explicit context, prerequisites, or exclusions.

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

list_confluence_page_ancestorsA

Retrieve the parent hierarchy of a Confluence page. Returns the full ancestry path from root to the immediate parent.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesThe ID of the page to get ancestors for.

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of disclosing behavior. It clearly indicates this is a read-only retrieval operation and specifies the returned information (full ancestry path). However, it does not disclose potential failure modes, authorization requirements, or whether the result is returned as IDs, objects, or a path string.

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

Conciseness5/5

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

The description is two concise sentences with no filler. Each sentence adds value: the first states the core operation, and the second clarifies the exact shape of the result. It is well front-loaded.

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

Completeness4/5

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

For a simple, single-parameter read operation, the description is mostly complete. It names the input scope and the expected output. However, with no output schema, describing the response format in more detail (e.g., list of page IDs ordered root-first) would have made it fully unambiguous.

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

Parameters3/5

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

Schema description coverage is 100%, and the pageId parameter is already described as 'The ID of the page to get ancestors for.' The description adds minimal extra semantic value beyond the schema, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb ('Retrieve') and a specific resource ('parent hierarchy of a Confluence page'), and clarifies the exact return scope ('full ancestry path from root to the immediate parent'). This clearly distinguishes it from the sibling tool list_confluence_page_children, which serves the opposite direction.

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

Usage Guidelines3/5

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

The description implies the intended use case: when you need to know a page's ancestry. However, it does not explicitly state when to use this tool instead of alternatives, nor does it mention any exclusions or related tools like list_confluence_page_children or read_confluence_page.

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

list_confluence_page_childrenA

List child pages under a given Confluence page. Returns a hierarchical list of direct child pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoThe maximum number of child pages to return. Default is 25, maximum is 100.
startNoThe starting index for pagination. Default is 0.
expandNoProperties to expand in the response.space
pageIdYesThe ID of the parent page.

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of disclosing behavior. It states the return shape (a list of direct child pages) and implies a read-only operation, but it does not mention pagination behavior, what happens when a page has no children, permission requirements, or whether 'hierarchical' means nested objects beyond one level.

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

Conciseness4/5

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

The description is short and front-loaded with the core action. The second sentence clarifies the output scope, though 'hierarchical list' and 'direct child pages' are slightly redundant or potentially ambiguous together.

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

Completeness3/5

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

For a simple listing tool with 4 parameters, the description is mostly adequate: it identifies the resource, the required pageId, and the response type. However, with no output schema and no annotations, it leaves some important context unspecified, such as pagination semantics and the exact meaning of 'hierarchical' in the response.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter is already documented. The description adds no new parameter-level meaning beyond restating that the tool operates on a given parent page, matching pageId.

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

Purpose5/5

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

The description states a specific verb ('List'), a specific resource ('child pages under a given Confluence page'), and clarifies that it returns direct child pages. This clearly distinguishes it from sibling tools like list_confluence_page_ancestors or read_confluence_page.

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

Usage Guidelines4/5

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

The description makes the usage context clear: you call this when you have a parent Confluence page ID and want its child pages. It does not explicitly enumerate exclusions or alternative tools, but the 'direct child pages' wording provides enough context to avoid obvious misuse.

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

list_confluence_page_labelsB

Retrieves all labels for a specific Confluence page.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoThe maximum number of labels to return. Default is 25, maximum is 200.
startNoThe starting index for pagination. Default is 0.
pageIdYesThe ID of the page from which to get labels.
prefixNoFilter labels by a specific prefix (e.g., "global", "my").

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Retrieves' implies a read operation, but the claim 'all labels' is misleading because the schema includes limit and start parameters indicating pagination, and the default limit is only 25. It also does not disclose that the prefix parameter filters results, so the tool may not actually return all labels in one call.

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

Conciseness4/5

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

The description is a single succinct sentence with no filler and front-loads the action and object. It is appropriately short, though the misleading 'all labels' wording slightly reduces the quality of the concise formulation.

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

Completeness3/5

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

The tool is relatively simple and the schema documents all four parameters, which helps. However, because there is no output schema and no annotations, the description should more clearly disclose pagination behavior so an agent knows how to actually retrieve all labels; the current text overpromises 'all' without explaining limits or prefixes.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameters are fully documented in the input schema itself. The description adds little parameter-level meaning; any added meaning is slightly undermined by 'all labels' conflicting with the paginated limit/start semantics.

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

Purpose4/5

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

The description uses a specific verb, 'Retrieves', and a clear resource, 'all labels for a specific Confluence page', so an agent can tell this is the label-reading tool. It does not explicitly contrast with sibling tools such as add_confluence_page_label or list_confluence_page_children, but the resource term alone largely disambiguates it.

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

Usage Guidelines3/5

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

The phrase 'for a specific Confluence page' implies the tool is for fetching labels tied to one page. However, it gives no explicit guidance on when to use this versus related tools, nor does it mention alternatives or exclusions such as using add_confluence_page_label to modify labels.

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

list_confluence_spacesA

Lists all Confluence spaces that the user has permission to view. Can be filtered by type and status.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFilter spaces by type: `global` for site-wide spaces or `personal` for user spaces.
limitNoThe maximum number of spaces to return. Default is 25, maximum is 100.
statusNoFilter spaces by status: `current` for active spaces or `archived` for archived spaces. Default is `current`.current

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses that results are limited to spaces the user has permission to view and that results can be filtered. However, it does not describe pagination behavior, default result ordering, or what fields are returned for each space, which an agent might need when invoking the tool.

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

Conciseness5/5

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

The description is extremely concise: one terse sentence for the core behavior and one short sentence for filtering. Every word earns its place, and the key scope (user-visible spaces) is front-loaded.

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

Completeness3/5

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

For a simple list operation with three optional parameters and no output schema, the description is adequate but minimal. It doesn't explain return value structure, pagination beyond the schema's limit parameter, or how this tool relates to nearby siblings like get_confluence_space. Some additional context would improve selection confidence.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already explains each parameter, its enum values, default, and limits. The description only adds that filtering by type and status is possible, which is mild extra context but not essential beyond the schema.

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

Purpose4/5

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

The description uses a specific verb-resource pair ('Lists all Confluence spaces') and states the permission scope clearly. It is distinct from sibling tools like get_confluence_space, which implies retrieving a single space, though it doesn't explicitly name the alternative.

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

Usage Guidelines3/5

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

The description implies its use when you need a list of accessible Confluence spaces, especially with optional type/status filters. However, it provides no explicit guidance on when to use this tool instead of get_confluence_space or search_confluence_pages, leaving the choice mostly to inference.

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

list_issues_by_user_roleC

List issues where a user has a specific role (assignee, reporter, or creator). Includes date filtering for finding issues within specific time periods.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleYesThe role of the user in relation to the issues.
endDateNoEnd date for filtering issues (format: YYYY-MM-DD).
startAtNoThe starting index for pagination. Default is 0.
usernameNoThe username of the user (alternative to accountId).
accountIdNoThe Atlassian account ID of the user.
startDateNoStart date for filtering issues (format: YYYY-MM-DD).
maxResultsNoThe maximum number of issues to return. Default is 50, maximum is 100.
projectKeysNoOptional list of project keys to filter results.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses that date filtering is available, but it does not explain required user identification (username vs. accountId), pagination behavior, or what happens if neither user identifier is provided. For a listing tool with no annotation coverage, this is a significant transparency gap.

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

Conciseness4/5

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

The description is concise and front-loaded: the primary function is stated in the first sentence, with the date filtering feature in the second. Both sentences earn their place, though the date filtering phrase is a bit generic and could be more specific to the startDate/endDate parameters.

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

Completeness2/5

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

With 8 parameters, no output schema, and no annotations, this description is incomplete for an agent to use the tool effectively. It does not explain how to identify the target user, whether projectKeys is required for meaningful results, or what the response format looks like. It also doesn't clarify how this differs from similar issue-search sibling tools.

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

Parameters3/5

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

Schema coverage is 100%, so all parameters already have descriptions. The tool description adds a high-level note about role categories and date filtering, but does not provide meaningful extra semantics beyond the schema, such as the relationship between username and accountId or project key filtering behavior. Baseline 3 is appropriate.

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

Purpose4/5

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

The description states a specific action ('List issues') and a specific filter criteria (user role: assignee, reporter, or creator). It clearly conveys the core purpose, though it does not explicitly distinguish itself from sibling tools like search_issues_by_user_involvement, so it misses the full sibling-differentiation mark.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives such as search_issues_by_user_involvement or get_my_unresolved_issues. It mentions date filtering, but does not provide context for selecting this tool, exclusions, or situations where another tool would be more appropriate.

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

list_jira_projectsA

Lists all Jira projects that the user has permission to view. This is useful for discovering available projects to work with.

ParametersJSON Schema
NameRequiredDescriptionDefault
expandNoA comma-separated list of properties to expand for each project. Common options are `description`, `lead`, and `issueTypes`.description,lead,issueTypes

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses the permission-based scoping ('projects that the user has permission to view'), which is a meaningful behavioral trait implying read-only access. However, it does not explain response format, pagination, or error behavior, leaving gaps for a list call.

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

Conciseness5/5

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

Two sentences, each earning its place: the first states the action and scope, the second states the practical value. Front-loaded and free of filler, clichƩs, or redundant restatements of the tool name.

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

Completeness4/5

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

For a simple list tool with one optional parameter and no output schema, the description supplies the essential context: what it lists, under what permission constraint, and why it is useful. It could mention the return shape more explicitly, but 'lists projects' plus the 'discovering' use case is adequate for correct invocation.

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

Parameters3/5

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

Schema description coverage is 100%; the schema fully explains the `expand` parameter including examples. The tool description adds no additional meaning to the parameters, so it rests at the baseline of 3.

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

Purpose5/5

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

The description opens with a specific verb and resource ('Lists all Jira projects') and adds a precise scope ('that the user has permission to view'). This clearly distinguishes it from sibling tools like list_confluence_spaces or search_jira_issues, since no other tool focuses on enumerating Jira projects.

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

Usage Guidelines4/5

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

The second sentence explicitly states a use case: 'useful for discovering available projects to work with.' This gives clear context for when to call the tool, though it does not mention when not to use it or name alternative tools.

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

list_pages_created_by_userA

List all pages created by a specific user, with optional filtering by space or time range.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoThe maximum number of pages to return. Default is 25, maximum is 100.
startNoThe starting index for pagination. Default is 0.
endDateNoEnd date for filtering pages (format: YYYY-MM-DD).
spaceKeyNoOptional space key to filter results to a specific space.
usernameNoThe username of the user (alternative to accountId).
accountIdNoThe Atlassian account ID of the user.
startDateNoStart date for filtering pages (format: YYYY-MM-DD).

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It implies a read-only listing operation but does not disclose pagination limits, the need for a user identifier despite all params being optional, or any authentication/error behavior. Calling it 'all pages' while the schema caps results at 100 is potentially misleading.

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

Conciseness5/5

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

The description is a single front-loaded sentence with no filler. It conveys the core purpose and the main filtering dimensions efficiently.

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

Completeness2/5

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

Given no annotations, no output schema, and seven optional-looking parameters, the description is incomplete. It never explains that at least one of username or accountId is likely required despite the schema listing no required fields, and it does not mention pagination behavior. An agent could easily invoke this without a user identifier and fail.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all seven parameters individually. The description's mention of 'optional filtering by space or time range' adds only a high-level grouping and no new parameter-level meaning, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb ('List'), a clear resource ('pages created by a specific user'), and optional filter dimensions (space, time range). This clearly distinguishes it from related tools like list_attachments_uploaded_by_user or search_pages_by_user_involvement.

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

Usage Guidelines4/5

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

The description provides clear context for when to use this tool: when you need pages created by a particular user, optionally scoped by space or date. It does not explicitly name alternatives or exclusions, so it falls short of a 5.

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

list_sprints_for_boardA

List all sprints for a specific Agile board. Can filter by sprint state (active, closed, or future) to find current or historical sprints.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoFilter sprints by state. If not provided, returns all sprints.
boardIdYesThe ID of the board to get sprints from.
startAtNoThe starting index for pagination. Default is 0.
maxResultsNoThe maximum number of sprints to return. Default is 50, maximum is 50.

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the disclosure burden. It correctly signals a read/list operation and the state-filter behavior, but it does not disclose pagination behavior or clarify that 'all sprints' may require multiple pages given maxResults. This leaves a notable behavioral gap.

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

Conciseness5/5

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

The description is only two sentences, with the primary action and resource front-loaded. It contains no filler and does not redundantly repeat schema details.

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

Completeness4/5

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

For a straightforward list tool with fully documented parameters, the description is nearly complete: it names the resource, the filter options, and the intended use cases. The only gap is that 'List all sprints' is not qualified with the pagination behavior encoded in startAt and maxResults, though the schema supplies that information.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds value by mapping the state enum values to the meaningful concepts of 'current' (active) and 'historical' (closed/future) sprints, and by reinforcing that boardId targets a specific Agile board.

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

Purpose4/5

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

The description clearly states the action ('List') and resource ('sprints for a specific Agile board'), and adds the state-filter dimension. It does not explicitly contrast itself with sibling tools like get_sprint_details or list_agile_boards, so it stops short of full sibling differentiation.

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

Usage Guidelines4/5

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

The second sentence provides concrete usage context: filter by active, closed, or future states to find current or historical sprints. It does not explicitly say when not to use this tool or name alternatives, so exclusion guidance is missing.

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

read_confluence_pageA

Retrieves the content of a Confluence page. You can specify the page by its ID or by its title and space key. The content can be returned in raw storage format (XHTML) or converted to Markdown. Use this for quickly reading the text content of a page.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoThe title of the page. Must be used in conjunction with `spaceKey`.
expandNoA comma-separated list of properties to expand in the response (e.g., "body.storage,version,space").body.storage,version,space
formatNoThe desired format for the page content. `storage` returns Confluence's native XHTML format. `markdown` converts the content to Markdown.storage
pageIdNoThe unique identifier of the Confluence page (e.g., "12345678").
spaceKeyNoThe key of the space where the page is located (e.g., "DEV"). Required when using `title`.

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It does indicate a non-destructive read ('Retrieves', 'reading') and discloses format behavior (storage vs markdown). However, it does not mention error cases, required-permission implications, or what happens if both pageId and title/spaceKey are provided. The core retrieval behavior is clear but additional behavioral context is limited.

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

Conciseness5/5

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

Three sentences with no filler. The main capability is front-loaded, the addressing options follow, and the bolded usage intent is concise and actionable. Every sentence earns its place.

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

Completeness4/5

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

The description is largely complete for a read tool: how to identify the page, what format is returned, and intended use. No output schema exists, but the description clarifies the content return concept. It could be slightly richer by stating precedence or exclusivity between pageId and title/spaceKey, but an agent can invoke correctly with the given information.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters are already well documented. The description adds the useful grouping that pageId OR title+spaceKey can be used, but otherwise does not materially extend the schema's parameter documentation. This matches the baseline for high schema coverage.

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

Purpose5/5

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

The description uses a specific verb ('Retrieves') with a clear resource ('content of a Confluence page') and explains the two identification methods (ID or title+spaceKey). It also signals position among siblings by focusing on 'quickly reading the text content', distinguishing it from attachment-centric or search tools.

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

Usage Guidelines4/5

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

The description gives clear context for when to use it: for quickly reading a page's text content, with ID or title-based lookup. It does not explicitly name alternative tools or say when not to use it, but the context is strong enough for an agent to select it appropriately.

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

read_jira_issueA

Retrieves detailed information about a specific Jira issue, including its fields, status, and transitions. Use this to get the full picture of a single issue.

ParametersJSON Schema
NameRequiredDescriptionDefault
expandNoA comma-separated list of additional properties to expand. Common options include `fields`, `transitions`, and `changelog`.fields,transitions,changelog
issueKeyYesThe unique identifier for the Jira issue (e.g., "PROJ-123").

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It clearly indicates a read-only retrieval action and hints at the response content (fields, status, transitions), but it does not mention error behavior, permissions, or the impact of the expand parameter defaults.

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

Conciseness5/5

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

The description is two concise sentences, with the core action and main content front-loaded. The second sentence adds a crisp usage directive without fluff or repetition.

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

Completeness4/5

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

For a simple read tool with two fully documented parameters and no output schema, the description gives enough for an agent to select and call it appropriately. It could additionally mention the changelog portion of the default expand, but the current description is functional and complete enough for this low-complexity case.

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

Parameters3/5

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

The schema already provides 100% coverage for both parameters, including a clear example for issueKey and a detailed expand description. The tool description adds no additional parameter meaning beyond the schema, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb ('Retrieves') and resource ('a specific Jira issue'), and details the kinds of information returned (fields, status, transitions). This clearly distinguishes it from sibling search and creation tools by focusing on a single issue's full detail.

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

Usage Guidelines4/5

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

The description explicitly says to use this tool 'to get the full picture of a single issue,' which gives clear context for when to use it. However, it does not explicitly compare against alternative tools like search_jira_issues or note when not to use it.

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

search_confluence_pagesB

Performs a search for Confluence pages using Confluence Query Language (CQL). This is useful for finding pages that match specific criteria.

ParametersJSON Schema
NameRequiredDescriptionDefault
cqlYesThe CQL query string. For example, to find all pages in the "DEV" space containing the word "architecture", use: `space = DEV AND text ~ "architecture"`.
limitNoThe maximum number of pages to return. The default is 25, and the maximum is 100.
startNoThe starting index for pagination. Default is 0.
expandNoA comma-separated list of properties to expand for each page in the results.

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It identifies the operation as a search, implying a read-only action, but does not mention pagination behavior, return format, error handling, or any access considerations.

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

Conciseness4/5

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

The description is concise and front-loaded with the core purpose in the first sentence. The second sentence is mildly generic but still frames the tool's use case without adding unnecessary length.

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

Completeness3/5

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

The description covers the basic purpose and the schema documents all parameters well. However, since there is no output schema, the description does not illuminate what results look like or how they are structured, and it also omits guidance about when to prefer sibling search tools.

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

Parameters3/5

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

Schema description coverage is 100%, and the parameter descriptions already provide detailed semantics including an example for cql and constraints for limit. The tool description itself adds no parameter meaning beyond mentioning CQL, so the baseline of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool performs a search for Confluence pages using CQL, which is a specific verb, resource, and query language. It does not explicitly differentiate from sibling tools like search_pages_by_user_involvement, so it misses the top score.

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

Usage Guidelines3/5

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

It indicates the tool is useful for finding pages matching specific criteria, which implies when to use it. However, it does not mention alternatives or exclusion criteria, such as using user-involvement searches instead when the target is based on user activity.

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

search_issues_by_user_involvementB

Search for issues based on how a specific user is involved (assignee, reporter, creator, watcher, or any). Provides comprehensive filtering to find all issues a user is connected to.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by issue status (e.g., "Open", "In Progress", "Done").
startAtNoThe starting index for pagination. Default is 0.
usernameNoThe username of the user (alternative to accountId).
accountIdNoThe Atlassian account ID of the user.
issueTypeNoFilter by issue type (e.g., "Bug", "Task", "Story").
maxResultsNoThe maximum number of issues to return. Default is 50, maximum is 100.
searchTypeYesType of user involvement to search for.
projectKeysNoOptional list of project keys to filter results.

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not reveal what the returned issue data looks like, whether pagination behavior is governed by startAt/maxResults, how 'any' behaves across roles, or whether one of username/accountId must be supplied. This is a significant gap for a search tool with no output schema.

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

Conciseness5/5

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

The description is a single, focused sentence that front-loads the core search operation and user-involvement scoping. There is no filler or redundant restating of the tool name.

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

Completeness2/5

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

With 8 parameters, no annotations, and no output schema, an agent needs more context to invoke this tool correctly. The description does not clarify output format, identifier requirements, the semantics of 'all', or pagination. While the schema covers parameter definitions, the overall tool context remains under-specified for reliable autonomous use.

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

Parameters3/5

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

Schema description coverage is 100%, so the structured schema already documents all parameters. The description repeats the searchType role options in prose, but adds no meaning beyond the enum. It also does not clarify the relationship between username and accountId, such as whether at least one is required.

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

Purpose4/5

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

The description clearly states the verb and resource: search for issues based on a specific user's involvement, and it enumerates the relevant roles (assignee, reporter, creator, watcher, any). This distinguishes it from page-focused sibling tools like search_pages_by_user_involvement, though it does not explicitly differentiate it from similar issue-search siblings such as list_issues_by_user_role.

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

Usage Guidelines3/5

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

The description implies the tool is for finding issues connected to a user across multiple involvement types, and mentions comprehensive filtering. However, it provides no explicit guidance on when to prefer this tool over alternatives like list_issues_by_user_role or search_jira_issues, and it does not state exclusions or prerequisites.

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

search_jira_issuesB

Searches for Jira issues using Jira Query Language (JQL). This is the primary way to find issues that match specific criteria.

ParametersJSON Schema
NameRequiredDescriptionDefault
jqlYesA JQL query string. For example, to find all open issues in project "PROJ", use: `project = PROJ AND status = Open`.
fieldsNoA comma-separated list of fields to include for each issue in the response. By default, it returns all fields (`*all`).*all
startAtNoThe starting index for pagination. Default is 0.
maxResultsNoThe maximum number of issues to return. Default is 50, maximum is 100.

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states that this is a search operation, which weakly implies read-only behavior, but it does not disclose JQL error behavior, authentication requirements, or the fact that it returns matching issues without modifying them. More behavioral context is needed for a no-annotation tool.

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

Conciseness4/5

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

The description is short and front-loaded with the action and method. The second sentence adds a useful role statement, though it is slightly redundant with the first; overall there is no waste.

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

Completeness3/5

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

The schema documents all parameters, but with no output schema and no annotations, the description is thin for a tool that returns complex Jira issue data. It explains enough to invoke the tool, but not enough to fully set expectations about response shape or failure modes.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all four parameters. The description adds no parameter-level meaning beyond stating JQL usage, which matches the baseline of 3.

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

Purpose4/5

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

The description uses a specific verb-resource pair ('Searches for Jira issues') and specifies the method (JQL), which is clear. It distinguishes it from Confluence search tools and issue-fetch-by-key tools, though it doesn't explicitly contrast with sibling issue-listing/search tools.

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

Usage Guidelines3/5

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

The phrase 'primary way to find issues that match specific criteria' implies when to use it, but it doesn't explicitly state alternatives or exclusions among the many sibling issue-search tools. The guidance is present but mostly implicit.

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

search_pages_by_user_involvementB

Search pages based on a user's involvement, such as being the creator or last modifier. Can filter by creator, last modifier, or both.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoThe maximum number of pages to return. Default is 25, maximum is 100.
startNoThe starting index for pagination. Default is 0.
spaceKeyNoOptional space key to filter results to a specific space.
usernameNoThe username of the user (alternative to accountId).
accountIdNoThe Atlassian account ID of the user.
searchTypeYesSearch for pages created by the user, modified by the user, or both.

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It explains the involvement dimensions but does not state that a user identity (username or accountId) is needed, how the 'both' searchType is interpreted, or what the response contains. The phrase 'such as' also leaves the exact scope of involvement slightly ambiguous.

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

Conciseness5/5

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

The description is two short sentences with no filler. The core action and scope are front-loaded, making it easy to parse quickly.

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

Completeness2/5

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

With no annotations, no output schema, and six parameters including two alternative user identifiers, the description is too sparse. It omits how the user must be specified, how 'both' behaves, and what the search returns, leaving too much for the agent to infer.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters. The description only paraphrases the searchType semantics and adds no meaningful detail about the relationship between username and accountId or pagination behavior.

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

Purpose5/5

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

The description states a specific verb and resource ('Search pages') and clarifies the basis of the search as user involvement via creator, last modifier, or both. This clearly differentiates it from the broader search_confluence_pages and the narrower list_pages_created_by_user.

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

Usage Guidelines3/5

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

The description implies when to use the tool: when you need pages linked to a user's involvement. However, it gives no explicit guidance on when not to use it or alternatives, such as using list_pages_created_by_user for creator-only results or search_confluence_pages for content-based searches.

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

update_confluence_pageA

Updates an existing Confluence page. You must provide the page ID and its current version number to prevent conflicts. You can update the title, content, or both.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoThe new title for the page. If not provided, the title remains unchanged.
pageIdYesThe ID of the page to be updated.
contentNoThe new content for the page, in Markdown or storage format. If not provided, the content remains unchanged.
versionYesThe current version number of the page. This is required to ensure you are not overwriting someone else's changes.
minorEditNoSet to true if this is a minor edit that should not notify watchers. Default is false.
versionCommentNoA brief comment describing the changes made in this version.

TDQS

A3.9/5.0
Behavior3/5

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

There are no annotations, so the description carries the burden of behavioral disclosure. It usefully discloses optimistic-concurrency intent ('current version number to prevent conflicts') and partial update scope, but it does not state what happens on version mismatch, permission requirements, or side effects such as watcher notifications.

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

Conciseness5/5

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

Two concise sentences front-load the action, then state the required inputs and the editable fields. No filler or repetition of schema details.

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

Completeness3/5

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

The description is adequate for a standard update operation: it names the resource, scope, and required inputs. However, with no output schema and no annotations, it leaves gaps around conflict-failure behavior, return value, and when to prefer create/read sibling tools.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description reinforces the role of pageId and version and mentions title/content, but it adds little beyond the schema's own field documentation.

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

Purpose5/5

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

The description opens with a specific action and resource: 'Updates an existing Confluence page.' The word 'existing' distinguishes it from sibling create_confluence_page, and 'title, content, or both' clarifies the scope of the update.

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

Usage Guidelines4/5

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

It clearly establishes the use case (modifying an existing page) and the prerequisite of supplying pageId and current version to avoid conflicts. It does not explicitly name alternative tools or exclusion cases, so it stops short of a 5.

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

upload_confluence_attachmentB

Upload a file attachment to a Confluence page. The file should be provided as a base64-encoded string.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesThe file content as a base64-encoded string.
pageIdYesThe ID of the page to attach the file to.
commentNoOptional comment describing the attachment.
filenameYesThe name of the file including extension (e.g., "document.pdf").
minorEditNoSet to true if this is a minor edit that should not notify watchers. Default is false.

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the base64 requirement but does not explain whether an upload replaces an existing attachment, whether permissions are needed, size limits, or what the outcome of a repeated upload is. For a mutating tool this is a notable gap.

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

Conciseness5/5

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

The description is two short, focused sentences with no filler. It front-loads the core action and includes the most critical invocation constraint, making it efficient and easy to parse.

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

Completeness2/5

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

Although the schema fully documents parameters and the action is simple, the lack of annotations and output schema means the description should explain more about expected behavior, such as overwrite semantics, success response, or prerequisites. The current description is too sparse to fully guide an agent through edge cases.

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

Parameters3/5

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

Schema description coverage is 100%, so all five parameters are already well documented. The description only reiterates the base64 encoding requirement already present in the schema, adding little beyond the structured definition.

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

Purpose5/5

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

The description clearly states a specific verb ('Upload'), resource ('file attachment to a Confluence page'), and required input format. It is unambiguous and differentiates itself from sibling tools like download_confluence_attachment and list_attachments_on_page.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives, such as checking existing attachments with list_attachments_on_page or downloading with download_confluence_attachment. The intended use is implied by the name but not explicitly supported with selection criteria.

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.

  1. 40 tool updatesv3.0.0
    • First observedadd_confluence_comment
    • First observedadd_confluence_page_label
    • First observedadd_jira_comment
    • First observedcreate_confluence_page
    • First observedcreate_jira_issue
    • First observeddownload_confluence_attachment
    • First observedexport_confluence_page
    • First observedfind_confluence_users
    • First observedget_confluence_current_user
    • First observedget_confluence_pages_mentioning_me
    • First observedget_confluence_space
    • First observedget_confluence_user
    • First observedget_jira_current_user
    • First observedget_jira_user
    • First observedget_my_current_sprint_issues
    • First observedget_my_recent_confluence_pages
    • First observedget_my_unresolved_issues
    • First observedget_page_with_attachments
    • First observedget_sprint_details
    • First observedget_user_activity_history
    • First observedget_user_time_tracking
    • First observedlist_agile_boards
    • First observedlist_attachments_on_page
    • First observedlist_attachments_uploaded_by_user
    • First observedlist_confluence_page_ancestors
    • First observedlist_confluence_page_children
    • First observedlist_confluence_page_labels
    • First observedlist_confluence_spaces
    • First observedlist_issues_by_user_role
    • First observedlist_jira_projects
    • First observedlist_pages_created_by_user
    • First observedlist_sprints_for_board
    • First observedread_confluence_page
    • First observedread_jira_issue
    • First observedsearch_confluence_pages
    • First observedsearch_issues_by_user_involvement
    • First observedsearch_jira_issues
    • First observedsearch_pages_by_user_involvement
    • First observedupdate_confluence_page
    • First observedupload_confluence_attachment

TDQS

B3.2/5.0

Scored across 40 tools

Disambiguation3/5

Most tools are clearly scoped by product and resource type, and usage notes help distinguish read, get, export, and search variants. However, search_issues_by_user_involvement and list_issues_by_user_role overlap heavily, and search_pages_by_user_involvement vs list_pages_created_by_user creates ambiguity for user-based page lookup.

Naming Consistency4/5

The majority of tools follow a consistent verb_noun pattern with product prefixes like get_confluence_, list_jira_, create_confluence_page, and search_jira_issues. Minor deviations such as get_page_with_attachments, get_my_recent_confluence_pages, and get_my_unresolved_issues break the pattern slightly.

Tool Count2/5

With 40 tools, the server is well beyond the typical well-scoped range, even for a combined Confluence and Jira server. Many tools are narrow user-reporting or variation-on-a-theme operations, which makes the set feel bloated rather than curated.

Completeness3/5

The server covers broad read/search functionality across Confluence and Jira, plus page create/update, issue creation, comments, attachments, labels, spaces, users, and agile boards/sprunts. However, there are important lifecycle gaps: no update/transition/delete for Jira issues, no delete for Confluence pages/attachments/comments, and no comment update/delete.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers