MCP Atlassian Server
Provides tools to interact with Atlassian Cloud APIs, enabling management of Confluence pages and Jira issues, including search, creation, updates, and user management.
Enables reading, searching, creating, updating Confluence pages, managing attachments, labels, comments, and exporting pages as HTML or Markdown.
Allows reading, searching, creating Jira issues, adding comments, listing projects, boards, sprints, and tracking user activity and worklogs.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Atlassian ServerShow my active Jira sprint tasks"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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/searchendpoint entirely, breaking all Jira search functionality in the original package. This fork migrates to the new/rest/api/3/search/jqlendpoint 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
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
Option 1: GitHub Packages (Recommended)
First, configure npm to use GitHub Packages for the @efithor scope. Add to your ~/.npmrc:
@efithor:registry=https://npm.pkg.github.comThen install:
# Install globally
npm install -g @efithor/mcp-atlassian
# Or install locally
npm install @efithor/mcp-atlassianOption 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 buildOption 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-atlassianConfiguration
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-tokenGetting API Token
Log in to Atlassian Account Settings
Click "Create API token"
Give it a label and copy the token
Use this token in your
.envfile
MCP Settings Configuration
Add to your Claude Desktop config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.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 details of the authenticated user |
| Get details for a specific user |
| Search pages by user activity |
| List pages authored by a user |
| List attachments uploaded by a user |
| Read a Confluence page by ID or title |
| Search pages using CQL (Confluence Query Language) |
| List all accessible spaces |
| Get details of a specific space |
| Create a new page |
| Update existing page content |
| List child pages of a page |
| Get parent hierarchy of a page |
| Export page as HTML or Markdown with embedded images |
| List page attachments |
| Download specific attachment |
| Upload file to a page |
| Download page with all content |
| Add comment to a page |
| Get page labels |
| Add labels to a page |
| Search for users |
| List your recent pages |
| Find pages that mention you |
Jira Tools
Tool | Description |
| Get details of the authenticated user |
| Get details for a specific user |
| Search issues by user involvement |
| List issues by user role with date filtering |
| Track user activity including comments and transitions |
| Get time tracking entries with formatted totals |
| Read issue details by key |
| Search issues using JQL |
| List all accessible projects |
| Create new issue |
| Add comment to issue |
| List accessible Scrum/Kanban boards |
| List sprints for a board |
| Get detailed sprint information |
| Get your tasks in active sprints |
| 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 testLogging 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.jsonSecurity 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
NPM_TOKEN: npm authentication token for publishing
Generate at: https://www.npmjs.com/settings/YOUR_USERNAME/tokens
Required scopes:
publish
SNYK_TOKEN (Optional): For Snyk security scanning
Get from: https://app.snyk.io/account
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 --noEmitContributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT License - see LICENSE file for details
Support
For issues and questions:
Create an issue in this fork's GitHub repository
Check Atlassian API documentation for API-specific questions
Review MCP documentation for protocol-related topics
Acknowledgments
Built with:
TypeScript, Node.js, Axios
Contributors
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
Available Tools
40 toolsadd_confluence_commentA
Adds a comment to a Confluence page. Can also be used to reply to an existing comment.
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes | The ID of the page to which the comment should be added. | |
| content | Yes | The text of the comment. Can be plain text or Confluence storage format (XHTML). | |
| parentCommentId | No | The ID of an existing comment to which this comment should be a reply. Optional. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| labels | Yes | An array of label objects to be added to the page. | |
| pageId | Yes | The ID of the page to which the labels will be added. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | The text content of the comment. | |
| issueKey | Yes | The key of the issue to which the comment will be added (e.g., "PROJ-123"). | |
| visibility | No | An object that sets the visibility of the comment to a specific project role or group. Optional. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden 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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | The type of content to create. Can be `page` or `blogpost`. Default is `page`. | page |
| title | Yes | The title for the new page or blog post. | |
| content | Yes | The main content of the page or blog post. Can be in Markdown or Confluence storage format (XHTML). | |
| parentId | No | The ID of a parent page, which will make the new page a child of that page. Optional. | |
| spaceKey | Yes | The key of the space where the content will be created (e.g., "DEV"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| labels | No | A list of labels to add to the new issue. | |
| summary | Yes | A concise summary or title for the issue. | |
| assignee | No | The Atlassian account ID of the user to whom the issue should be assigned. | |
| priority | No | The priority level for the issue (e.g., "High", "Medium", "Low"). Must be a valid priority in the project. | |
| issueType | Yes | The name of the issue type (e.g., "Bug", "Task", "Story"). This must be a valid issue type in the specified project. | |
| components | No | A list of component names to associate with the new issue. | |
| projectKey | Yes | The key of the project in which the issue will be created (e.g., "PROJ"). | |
| description | No | A detailed description of the issue. Optional. | |
| customFields | No | A 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
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| version | No | The version number of the attachment to download. If not specified, the latest version is downloaded. | |
| attachmentId | Yes | The unique identifier of the attachment to download. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| format | Yes | The desired export format. Can be `html` or `markdown`. Both formats will have images embedded. | |
| pageId | Yes | The ID of the Confluence page to be exported. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| cql | No | A CQL query to search for users (e.g., `user.fullname ~ "John Doe"`). | |
| limit | No | The maximum number of users to return. Default is 25, maximum is 100. | |
| start | No | The starting index for pagination. Default is 0. | |
| expand | No | Properties to expand in the response. | |
| userKey | No | Search for a user by their user key. | |
| username | No | Search for a user by their username. | |
| accountId | No | Search for a user by their Atlassian account ID. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | The maximum number of pages to return. Default is 25, maximum is 100. | |
| start | No | The starting index for pagination. Default is 0. | |
| spaceKey | No | Optional space key to filter results to a specific space. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | Properties to expand in the response (e.g., "description.plain,homepage"). | description.plain,homepage |
| spaceKey | Yes | The key of the space to retrieve (e.g., "DEV"). |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| No | The email address of the user. | ||
| username | No | The username to search for. | |
| accountId | No | The Atlassian account ID of the user. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| No | The email address of the user. | ||
| username | No | The username to search for. | |
| accountId | No | The Atlassian account ID of the user. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| boardId | No | Optional board ID to get sprint-specific information. | |
| projectKey | No | Optional project key to filter issues (e.g., "PROJ"). |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | The maximum number of pages to return. Default is 25, maximum is 100. | |
| start | No | The starting index for pagination. Default is 0. | |
| spaceKey | No | Optional space key to filter results to a specific space. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| maxResults | No | The maximum number of issues to return. Default is 50, maximum is 100. | |
| projectKeys | No | Optional list of project keys to filter issues (e.g., ["PROJ1", "PROJ2"]). |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes | The ID of the Confluence page to download. | |
| attachmentTypes | No | An array of MIME types to filter attachments by (e.g., ["image/png", "application/pdf"]). If not specified, all attachment types are included. | |
| maxAttachmentSize | No | The maximum size in bytes for an individual attachment to be downloaded. Default is 50MB. | |
| includeAttachments | No | If true, all attachments on the page will be downloaded and included in the response. Default is true. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sprintId | Yes | The ID of the sprint to retrieve. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to look back for activity. Default is 30. | |
| startAt | No | The starting index for pagination. Default is 0. | |
| username | No | The username of the user (alternative to accountId). | |
| accountId | No | The Atlassian account ID of the user. | |
| maxResults | No | The maximum number of activities to return. Default is 50, maximum is 100. | |
| projectKeys | No | Optional list of project keys to filter results. | |
| activityType | No | Type of activity to retrieve. Default is "all". | all |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| endDate | No | End date for filtering worklogs (format: YYYY-MM-DD). | |
| startAt | No | The starting index for pagination. Default is 0. | |
| username | No | The username of the user (alternative to accountId). | |
| accountId | No | The Atlassian account ID of the user. | |
| startDate | No | Start date for filtering worklogs (format: YYYY-MM-DD). | |
| maxResults | No | The maximum number of worklogs to return. Default is 50, maximum is 100. | |
| projectKeys | No | Optional list of project keys to filter results. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Filter by board type: scrum or kanban. | |
| startAt | No | The starting index for pagination. Default is 0. | |
| maxResults | No | The maximum number of boards to return. Default is 50, maximum is 50. | |
| projectKeyOrId | No | Filter boards by a specific project key or ID (e.g., "PROJ" or "10000"). |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | The maximum number of attachments to return. Default is 50, maximum is 100. | |
| start | No | The starting index for pagination. Default is 0. | |
| pageId | Yes | The ID of the Confluence page whose attachments are to be listed. | |
| filename | No | Filter attachments by their filename. | |
| mediaType | No | Filter attachments by their MIME type (e.g., "image/png", "application/pdf"). |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | The maximum number of attachments to return. Default is 25, maximum is 100. | |
| start | No | The starting index for pagination. Default is 0. | |
| spaceKey | No | Optional space key to filter results to a specific space. | |
| username | No | The username of the user (alternative to accountId). | |
| accountId | No | The Atlassian account ID of the user. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| pageId | Yes | The ID of the page to get ancestors for. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | The maximum number of child pages to return. Default is 25, maximum is 100. | |
| start | No | The starting index for pagination. Default is 0. | |
| expand | No | Properties to expand in the response. | space |
| pageId | Yes | The ID of the parent page. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | The maximum number of labels to return. Default is 25, maximum is 200. | |
| start | No | The starting index for pagination. Default is 0. | |
| pageId | Yes | The ID of the page from which to get labels. | |
| prefix | No | Filter labels by a specific prefix (e.g., "global", "my"). |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Filter spaces by type: `global` for site-wide spaces or `personal` for user spaces. | |
| limit | No | The maximum number of spaces to return. Default is 25, maximum is 100. | |
| status | No | Filter spaces by status: `current` for active spaces or `archived` for archived spaces. Default is `current`. | current |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | The role of the user in relation to the issues. | |
| endDate | No | End date for filtering issues (format: YYYY-MM-DD). | |
| startAt | No | The starting index for pagination. Default is 0. | |
| username | No | The username of the user (alternative to accountId). | |
| accountId | No | The Atlassian account ID of the user. | |
| startDate | No | Start date for filtering issues (format: YYYY-MM-DD). | |
| maxResults | No | The maximum number of issues to return. Default is 50, maximum is 100. | |
| projectKeys | No | Optional list of project keys to filter results. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | A comma-separated list of properties to expand for each project. Common options are `description`, `lead`, and `issueTypes`. | description,lead,issueTypes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | The maximum number of pages to return. Default is 25, maximum is 100. | |
| start | No | The starting index for pagination. Default is 0. | |
| endDate | No | End date for filtering pages (format: YYYY-MM-DD). | |
| spaceKey | No | Optional space key to filter results to a specific space. | |
| username | No | The username of the user (alternative to accountId). | |
| accountId | No | The Atlassian account ID of the user. | |
| startDate | No | Start date for filtering pages (format: YYYY-MM-DD). |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | Filter sprints by state. If not provided, returns all sprints. | |
| boardId | Yes | The ID of the board to get sprints from. | |
| startAt | No | The starting index for pagination. Default is 0. | |
| maxResults | No | The maximum number of sprints to return. Default is 50, maximum is 50. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | The title of the page. Must be used in conjunction with `spaceKey`. | |
| expand | No | A comma-separated list of properties to expand in the response (e.g., "body.storage,version,space"). | body.storage,version,space |
| format | No | The desired format for the page content. `storage` returns Confluence's native XHTML format. `markdown` converts the content to Markdown. | storage |
| pageId | No | The unique identifier of the Confluence page (e.g., "12345678"). | |
| spaceKey | No | The key of the space where the page is located (e.g., "DEV"). Required when using `title`. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | A comma-separated list of additional properties to expand. Common options include `fields`, `transitions`, and `changelog`. | fields,transitions,changelog |
| issueKey | Yes | The unique identifier for the Jira issue (e.g., "PROJ-123"). |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| cql | Yes | The CQL query string. For example, to find all pages in the "DEV" space containing the word "architecture", use: `space = DEV AND text ~ "architecture"`. | |
| limit | No | The maximum number of pages to return. The default is 25, and the maximum is 100. | |
| start | No | The starting index for pagination. Default is 0. | |
| expand | No | A comma-separated list of properties to expand for each page in the results. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter by issue status (e.g., "Open", "In Progress", "Done"). | |
| startAt | No | The starting index for pagination. Default is 0. | |
| username | No | The username of the user (alternative to accountId). | |
| accountId | No | The Atlassian account ID of the user. | |
| issueType | No | Filter by issue type (e.g., "Bug", "Task", "Story"). | |
| maxResults | No | The maximum number of issues to return. Default is 50, maximum is 100. | |
| searchType | Yes | Type of user involvement to search for. | |
| projectKeys | No | Optional list of project keys to filter results. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| jql | Yes | A JQL query string. For example, to find all open issues in project "PROJ", use: `project = PROJ AND status = Open`. | |
| fields | No | A comma-separated list of fields to include for each issue in the response. By default, it returns all fields (`*all`). | *all |
| startAt | No | The starting index for pagination. Default is 0. | |
| maxResults | No | The maximum number of issues to return. Default is 50, maximum is 100. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | The maximum number of pages to return. Default is 25, maximum is 100. | |
| start | No | The starting index for pagination. Default is 0. | |
| spaceKey | No | Optional space key to filter results to a specific space. | |
| username | No | The username of the user (alternative to accountId). | |
| accountId | No | The Atlassian account ID of the user. | |
| searchType | Yes | Search for pages created by the user, modified by the user, or both. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | The new title for the page. If not provided, the title remains unchanged. | |
| pageId | Yes | The ID of the page to be updated. | |
| content | No | The new content for the page, in Markdown or storage format. If not provided, the content remains unchanged. | |
| version | Yes | The current version number of the page. This is required to ensure you are not overwriting someone else's changes. | |
| minorEdit | No | Set to true if this is a minor edit that should not notify watchers. Default is false. | |
| versionComment | No | A brief comment describing the changes made in this version. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | The file content as a base64-encoded string. | |
| pageId | Yes | The ID of the page to attach the file to. | |
| comment | No | Optional comment describing the attachment. | |
| filename | Yes | The name of the file including extension (e.g., "document.pdf"). | |
| minorEdit | No | Set to true if this is a minor edit that should not notify watchers. Default is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden 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.
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.
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.
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.
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.
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.
40 tool updates
v3.0.0- First observed
add_confluence_comment - First observed
add_confluence_page_label - First observed
add_jira_comment - First observed
create_confluence_page - First observed
create_jira_issue - First observed
download_confluence_attachment - First observed
export_confluence_page - First observed
find_confluence_users - First observed
get_confluence_current_user - First observed
get_confluence_pages_mentioning_me - First observed
get_confluence_space - First observed
get_confluence_user - First observed
get_jira_current_user - First observed
get_jira_user - First observed
get_my_current_sprint_issues - First observed
get_my_recent_confluence_pages - First observed
get_my_unresolved_issues - First observed
get_page_with_attachments - First observed
get_sprint_details - First observed
get_user_activity_history - First observed
get_user_time_tracking - First observed
list_agile_boards - First observed
list_attachments_on_page - First observed
list_attachments_uploaded_by_user - First observed
list_confluence_page_ancestors - First observed
list_confluence_page_children - First observed
list_confluence_page_labels - First observed
list_confluence_spaces - First observed
list_issues_by_user_role - First observed
list_jira_projects - First observed
list_pages_created_by_user - First observed
list_sprints_for_board - First observed
read_confluence_page - First observed
read_jira_issue - First observed
search_confluence_pages - First observed
search_issues_by_user_involvement - First observed
search_jira_issues - First observed
search_pages_by_user_involvement - First observed
update_confluence_page - First observed
upload_confluence_attachment
TDQS
Scored across 40 tools
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.
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.
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.
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
Related MCP Connectors
Connect to Atlassian Jira, Confluence, Loom, and more to search, create, and manage your work.
- Connext MCPOAuthcom.rti
Integrate Connext AI into agentic workflows, enabling Connext product-aware assistance.
Connect AI assistants to Stellary projects, boards, documents, and governed agent workflows.
Task manager your agent can fully operate: boards, tasks, sprints, roles, worklogs, day planner.
Related MCP Servers
- AlicenseAqualityDmaintenanceIntegrates with Atlassian Cloud products (Confluence and Jira) to enable AI assistants to search, read, create, and manage pages, issues, comments, attachments, and export content through natural language interactions.402,405MIT
- AlicenseAqualityDmaintenanceEnables AI agents to interact with Jira Cloud and Confluence through natural language, performing JQL searches, issue management, and Confluence page creation.10131MIT
- AlicenseAqualityCmaintenanceEnables AI assistants to interact with Atlassian Cloud (Jira, Confluence, Bitbucket) through natural language, providing CRUD operations for issues, pages, pull requests, and more.8623MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Atlassian Confluence and Jira for searching, updating, and managing content and issues.MIT