Skip to main content
Glama

Jira MCP Server

License: MIT Node.js Version TypeScript MCP

A Model Context Protocol (MCP) server for self-hosted Jira instances using Personal Access Token (PAT) authentication.

✨ Features

  • Issue Management: Get, create, update, delete, and assign issues

  • Search: Search issues using JQL

  • Comments: Get, add, update, and delete comments

  • Transitions: Get available transitions and transition issues

  • Projects: List and get project details

  • Users: Search users and get current user

  • Watchers: Add watchers to issues

  • Issue Links: Link issues together

Related MCP server: Jira MCP Server

πŸ“‹ Prerequisites

  • Node.js 18+

  • Self-hosted Jira instance (tested with v9.12.12)

  • Personal Access Token (PAT) for authentication

πŸš€ Installation

npm install
npm run build

βš™οΈ Configuration

Create a .env file in the project root:

JIRA_BASE_URL=https://your-jira-instance.com/
PAT=your-personal-access-token

Getting a Personal Access Token

  1. Log in to your Jira instance

  2. Go to Profile β†’ Personal Access Tokens

  3. Create a new token with appropriate permissions

  4. Copy the token to your .env file

πŸ“– Usage

Running the Server

npm start

Development Mode

npm run dev

No installation required! Add the following to your MCP configuration:

{
  "mcpServers": {
    "jira": {
      "command": "npx",
      "args": ["-y", "jira-mcp-server-pro"],
      "env": {
        "JIRA_BASE_URL": "https://your-jira-instance.com/",
        "PAT": "your-personal-access-token"
      }
    }
  }
}

Global Installation

npm install -g jira-mcp-server-pro

Then add to your MCP configuration:

{
  "mcpServers": {
    "jira": {
      "command": "jira-mcp-server-pro",
      "env": {
        "JIRA_BASE_URL": "https://your-jira-instance.com/",
        "PAT": "your-personal-access-token"
      }
    }
  }
}

Local Development

If running from source, add the following to your MCP configuration:

{
  "mcpServers": {
    "jira": {
      "command": "node",
      "args": ["/path/to/jiraMCP/dist/index.js"],
      "env": {
        "JIRA_BASE_URL": "https://your-jira-instance.com/",
        "PAT": "your-personal-access-token"
      }
    }
  }
}

πŸ› οΈ Available Tools (27 total)

Issue Operations

Tool

Description

jira_get_issue

Get details of a Jira issue by its key

jira_search_issues

Search for issues using JQL

jira_create_issue

Create a new issue (basic fields)

jira_create_issue_advanced

Create issue with full field support (fixVersions, components, custom fields)

jira_update_issue

Update an existing issue (basic fields)

jira_update_issue_advanced

Update issue with full field support

jira_delete_issue

Delete an issue

jira_assign_issue

Assign or unassign an issue

jira_get_transitions

Get available transitions for an issue

jira_transition_issue

Transition an issue to a new status

jira_link_issues

Link two issues

jira_add_watcher

Add a watcher to an issue

Comments

Tool

Description

jira_get_comments

Get comments on an issue

jira_add_comment

Add a comment to an issue

Projects

Tool

Description

jira_get_projects

Get all projects

jira_get_project

Get details of a specific project

jira_get_project_versions

Get all versions for a project (for fixVersions)

jira_get_project_components

Get all components for a project

Metadata & Field Discovery

Tool

Description

jira_get_create_meta

IMPORTANT: Get required fields and allowed values for creating issues

jira_get_edit_meta

Get editable fields and allowed values for an existing issue

jira_get_fields

Get all available fields including custom fields

jira_get_field_options

Get allowed values for a specific field

jira_get_priorities

Get all available priorities

jira_get_statuses

Get all available statuses

jira_get_issue_link_types

Get all available issue link types

Users

Tool

Description

jira_search_users

Search for users

jira_get_current_user

Get the current authenticated user

πŸ“ Workflow: Creating Issues with Required Fields

  1. First, call jira_get_create_meta to discover required fields and allowed values:

    jira_get_create_meta(projectKey: "PROJ", issueType: "Bug")

    This returns all fields with their requirements and dropdown options.

  2. Then, use jira_create_issue_advanced with the correct values:

    jira_create_issue_advanced(
      projectKey: "PROJ",
      summary: "Issue title",
      issueType: "Bug",
      fixVersions: ["1.0.0"],
      components: ["Backend"],
      customFields: {"customfield_10001": "value"}
    )

πŸ“š Resources

The server exposes MCP Resources for quick access to Jira data without tool calls:

Resource URI

Description

jira://config

Server configuration and connection info

jira://current-user

Currently authenticated user details

jira://priorities

All available issue priorities

jira://statuses

All available issue statuses

jira://fields

All fields (system + custom) grouped by type

jira://link-types

Available issue link types

jira://projects

List of all projects (key, name, type)

jira://project/{KEY}

Project details with versions, components, issue types

jira://my-issues

Issues assigned to current user

Using Resources

Resources provide context without explicit tool calls. For example, reading jira://project/MSSP returns:

{
  "key": "MSSP",
  "name": "MSSP",
  "versions": [{"name": "1.0.0", "released": true}, ...],
  "components": [{"name": "LOGIN"}, {"name": "MSSP-FO"}, ...],
  "issueTypes": [{"id": "1", "name": "Bug"}, {"id": "3", "name": "Task"}, ...]
}

πŸ” Example JQL Queries

# Issues assigned to me
assignee = currentUser()

# Open bugs in a project
project = PROJ AND issuetype = Bug AND status != Done

# Issues created in the last 7 days
created >= -7d

# High priority issues
priority in (Highest, High)

🀝 Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request

Development Setup

# Clone your fork
git clone https://github.com/YOUR_USERNAME/jira-mcp-server.git
cd jira-mcp-server

# Install dependencies
npm install

# Run in development mode
npm run dev

Reporting Issues

  • Use the GitHub Issues to report bugs

  • Include your Node.js version, Jira version, and steps to reproduce

  • Check existing issues before creating a new one

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments


Available Tools

27 tools
jira_add_commentC

Add a comment to a Jira issue

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesThe Jira issue key
bodyYesComment body

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic action without behavioral details. It doesn't disclose whether this requires authentication, has rate limits, affects issue history, returns a confirmation, or handles errors. For a mutation tool, this lack of transparency is a significant gap.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose with zero wasted words. It's appropriately sized for a simple tool and front-loaded, making it easy to parse quickly.

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

Completeness2/5

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

Given the tool's mutation nature, lack of annotations, and no output schema, the description is incomplete. It doesn't address behavioral aspects like permissions, side effects, or response format, which are crucial for an agent to use it correctly in context with sibling tools.

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

Parameters3/5

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

Schema description coverage is 100%, with both parameters ('issueKey' and 'body') clearly documented in the schema. The description adds no additional meaning beyond the schema, such as format examples or constraints, so it meets the baseline for high schema coverage without compensating value.

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

Purpose4/5

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

The description clearly states the action ('Add a comment') and target resource ('to a Jira issue'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'jira_get_comments' or 'jira_update_issue' beyond the basic verb, missing specific distinctions about scope or constraints.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'jira_update_issue' (which might also modify issue content) or 'jira_get_comments' (for reading). There's no mention of prerequisites, such as needing issue access or comment permissions, leaving usage context entirely implicit.

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

jira_add_watcherC

Add a watcher to a Jira issue

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesThe Jira issue key
usernameYesUsername to add as watcher

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. While 'Add a watcher' implies a write/mutation operation, the description doesn't specify what permissions are required, whether this action is reversible, what happens if the user is already a watcher, or what the expected response looks like. For a mutation tool with zero annotation coverage, this leaves significant behavioral questions unanswered.

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

Conciseness5/5

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

The description is a single, efficient sentence that states the core functionality without any unnecessary words. It's appropriately sized for a simple tool with two parameters and gets straight to the point with zero wasted text.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what happens after adding a watcher, what the response contains, whether there are rate limits, or what error conditions might occur. Given the tool's complexity (modifying Jira issue state) and lack of structured metadata, the description should provide more operational context.

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

Parameters3/5

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

The input schema has 100% description coverage, with both parameters ('issueKey' and 'username') clearly documented in the schema itself. The description doesn't add any meaningful parameter information beyond what the schema already provides, so it meets the baseline expectation but doesn't enhance understanding of the parameters.

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

Purpose4/5

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

The description clearly states the action ('Add a watcher') and target resource ('to a Jira issue'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'jira_assign_issue' or 'jira_update_issue' that also modify issue properties, leaving room for potential confusion about when to choose this specific tool.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'jira_assign_issue' and 'jira_update_issue' that also modify issue properties, there's no indication of when adding a watcher is appropriate versus other modifications, nor any mention of prerequisites or constraints for using this tool.

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

jira_assign_issueC

Assign or unassign a Jira issue

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesThe Jira issue key
assigneeYesUsername to assign (null to unassign)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions the tool can 'assign or unassign', implying mutation, but doesn't disclose behavioral traits like required permissions, whether changes are reversible, rate limits, or what happens on success/failure. For a mutation tool with zero annotation coverage, this is a significant gap.

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

Conciseness5/5

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

The description is extremely concise and front-loaded in a single sentence, with zero wasted words. It efficiently communicates the core functionality without unnecessary elaboration, earning the highest score for brevity and clarity.

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

Completeness2/5

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

Given the tool's complexity as a mutation operation with no annotations and no output schema, the description is incomplete. It lacks details on behavioral aspects, error handling, and return values, making it inadequate for safe and effective use by an AI agent.

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

Parameters3/5

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

The description adds minimal value beyond the input schema, which has 100% coverage. It implies 'assignee' can be null for unassignment, but the schema already states this. With high schema coverage, the baseline is 3, and the description doesn't provide additional syntax or format details.

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

Purpose4/5

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

The description clearly states the tool's purpose with specific verbs ('assign' and 'unassign') and resource ('a Jira issue'), making it immediately understandable. However, it doesn't differentiate from sibling tools like 'jira_update_issue' or 'jira_transition_issue' which might also affect issue assignment, so it doesn't reach the highest score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'jira_update_issue' that might handle assignment as part of broader updates, there's no explicit when/when-not context or mention of prerequisites, leaving usage ambiguous.

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

jira_create_issueC

Create a new Jira issue

ParametersJSON Schema
NameRequiredDescriptionDefault
projectKeyYesProject key
summaryYesIssue summary
issueTypeYesIssue type (e.g., Bug, Task, Story)
descriptionNoIssue description
priorityNoPriority name
assigneeNoAssignee username
labelsNoLabels

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Create a new Jira issue' implies a write operation, but it doesn't mention authentication requirements, permissions needed, error handling, rate limits, or what happens on success (e.g., returns an issue ID). For a mutation tool with zero annotation coverage, this leaves critical behavioral aspects unspecified.

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

Conciseness5/5

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

The description is a single, clear sentence with no wasted words. It's appropriately sized and front-loaded, stating the core purpose immediately. Every word earns its place, making it efficient for quick understanding.

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

Completeness2/5

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

Given the tool's complexity (a write operation with 7 parameters) and the lack of annotations and output schema, the description is incomplete. It doesn't explain the return value (e.g., issue key or ID), error conditions, or how it differs from the advanced sibling. For a mutation tool without structured safety or output information, more context is needed to guide effective use.

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

Parameters3/5

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

The input schema has 100% description coverage, with each parameter documented (e.g., 'Project key', 'Issue summary'). The description adds no additional parameter semantics beyond what's in the schema. According to the rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description, which applies here.

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

Purpose3/5

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

The description 'Create a new Jira issue' clearly states the verb ('Create') and resource ('Jira issue'), making the basic purpose understandable. However, it doesn't distinguish this tool from its sibling 'jira_create_issue_advanced', leaving ambiguity about when to use this simpler version versus the advanced one. The description is functional but lacks differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With a sibling tool named 'jira_create_issue_advanced', there's an obvious need to explain the difference (e.g., basic vs. advanced creation, or which fields are supported), but the description offers no such context. Users must infer usage from the tool name alone.

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

jira_create_issue_advancedA

Create a new Jira issue with full field support including fixVersions, components, and custom fields. Use jira_get_create_meta first to discover required fields and allowed values.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectKeyYesProject key
summaryYesIssue summary
issueTypeYesIssue type (e.g., Bug, Task, Story)
descriptionNoIssue description
priorityNoPriority name
assigneeNoAssignee username
reporterNoReporter username
labelsNoLabels
componentsNoComponent names
fixVersionsNoFix version names
affectsVersionsNoAffects version names
customFieldsNoCustom fields as key-value pairs (e.g., {"customfield_10001": "value"})

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It indicates this is a creation/mutation tool ('Create a new Jira issue'), implying it modifies data. However, it lacks details on permissions needed, error handling, or response format. The mention of 'full field support' hints at complexity but doesn't describe behavioral traits like validation rules or side effects.

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

Conciseness5/5

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

The description is two concise sentences that are front-loaded with the core purpose and followed by a critical usage guideline. Every word earns its place with no redundancy or fluff, making it highly efficient and well-structured for an agent.

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

Completeness4/5

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

Given the tool's complexity (12 parameters, mutation operation) and lack of annotations/output schema, the description is reasonably complete. It covers the purpose and critical prerequisite, but could better address behavioral aspects like what happens on success/failure. The high schema coverage helps compensate for some gaps.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 12 parameters thoroughly. The description adds minimal value beyond the schema by mentioning 'fixVersions, components, and custom fields' as examples, but doesn't provide additional syntax, format, or semantic context. This meets the baseline for high schema coverage.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Create a new Jira issue with full field support including fixVersions, components, and custom fields.' It specifies the verb ('Create'), resource ('new Jira issue'), and scope ('full field support'), distinguishing it from the simpler 'jira_create_issue' sibling tool by emphasizing advanced capabilities.

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

Usage Guidelines5/5

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

The description provides explicit usage guidance: 'Use jira_get_create_meta first to discover required fields and allowed values.' This tells the agent when to use this tool (after metadata discovery) and references a specific alternative/sibling tool for prerequisite information, which is optimal guidance.

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

jira_delete_issueC

Delete a Jira issue

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesThe Jira issue key to delete

TDQS

C2.7/5.0
Behavior1/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'Delete a Jira issue' but fails to mention critical traits like whether deletion is permanent, requires admin rights, affects linked data, or has rate limits. This is inadequate for a destructive operation.

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

Conciseness5/5

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

The description is a single, direct sentence with no wasted words, making it highly concise and front-loaded. It efficiently communicates the core action without unnecessary elaboration.

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

Completeness2/5

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

Given the tool's destructive nature, lack of annotations, and no output schema, the description is incomplete. It should address behavioral risks, permission requirements, and potential side effects to adequately guide an AI agent in a high-stakes context.

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

Parameters3/5

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

The input schema has 100% description coverage, with the single parameter 'issueKey' documented as 'The Jira issue key to delete'. The description adds no additional meaning beyond this, so it meets the baseline of 3 for high schema coverage.

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

Purpose4/5

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

The description clearly states the verb ('Delete') and resource ('a Jira issue'), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'jira_update_issue' or 'jira_transition_issue' in terms of destructive action, which would require a 5.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'jira_update_issue' for modifying issues or 'jira_transition_issue' for changing status. It lacks any mention of prerequisites, such as needing appropriate permissions or confirming deletion intent.

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

jira_get_commentsC

Get comments on a Jira issue

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesThe Jira issue key

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states 'Get comments' but doesn't disclose behavioral traits such as whether this is a read-only operation, what format comments are returned in, if there are pagination limits, authentication requirements, or error conditions. For a tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every word earns its place, making it easy to parse quickly. There is no wasted verbiage or structural issues.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., comment list format, fields included), potential side effects, or error handling. For a tool that likely returns structured data, this leaves the agent guessing about the response format and usage context.

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

Parameters3/5

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

The input schema has 100% description coverage, with 'issueKey' clearly documented. The description adds no additional parameter semantics beyond implying that comments are retrieved for a specific issue. Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't compensate but doesn't detract either.

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

Purpose4/5

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

The description clearly states the verb ('Get') and resource ('comments on a Jira issue'), making the purpose immediately understandable. It distinguishes from siblings like 'jira_get_issue' which retrieves issue details rather than comments. However, it doesn't specify whether it retrieves all comments or a subset, which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an issue key), exclusions, or comparisons to similar tools like 'jira_get_issue' which might include comments. The agent must infer usage from the tool name alone.

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

jira_get_create_metaA

Get metadata for creating issues - shows required fields and allowed values (dropdown options) for a project and issue type. IMPORTANT: Call this before creating an issue to know what fields are required and what values are allowed.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectKeyYesProject key to get metadata for
issueTypeNoIssue type name to filter (e.g., Bug, Task, Story)

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It explains that the tool retrieves metadata (a read-only operation) and provides context about its purpose in issue creation workflows. However, it lacks details on potential rate limits, authentication needs, or error conditions, which would be helpful for a tool with no annotation coverage.

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

Conciseness5/5

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

The description is concise and well-structured, consisting of two sentences that efficiently convey purpose and usage guidelines. Every sentence adds value, with no wasted words, making it easy for an agent to parse and understand quickly.

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

Completeness4/5

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

For a tool with no annotations and no output schema, the description provides good contextual completeness. It explains what the tool does, when to use it, and its role relative to other tools. However, it could improve by hinting at the output structure (e.g., mentioning it returns metadata fields) to compensate for the lack of output schema.

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

Parameters3/5

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

The input schema has 100% description coverage, with clear parameter descriptions in the schema itself. The description adds minimal semantic context beyond the schema, mentioning 'project and issue type' but not elaborating on parameter usage. Given the high schema coverage, the baseline score of 3 is appropriate, as the schema does most of the work.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Get metadata for creating issues - shows required fields and allowed values (dropdown options) for a project and issue type.' It uses specific verbs ('get metadata', 'shows') and resources ('issues', 'fields', 'values'), and distinguishes itself from siblings like jira_create_issue by focusing on metadata retrieval rather than issue creation.

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

Usage Guidelines5/5

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

The description provides explicit usage guidance: 'IMPORTANT: Call this before creating an issue to know what fields are required and what values are allowed.' This clearly indicates when to use the tool (before creating an issue) and implies an alternative (jira_create_issue), helping the agent understand its role in the workflow.

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

jira_get_current_userB

Get the current authenticated user

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Get' implies a read operation, it doesn't specify authentication requirements, rate limits, error conditions, or what information is returned about the user. For a tool with zero annotation coverage, this leaves significant behavioral gaps unaddressed.

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

Conciseness5/5

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

The description is a single, efficient sentence that communicates the core purpose without any wasted words. It's appropriately sized for a simple, parameterless tool and is perfectly front-loaded with the essential information.

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

Completeness3/5

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

For a simple, parameterless tool with no output schema, the description provides the basic purpose but lacks important context. It doesn't explain what user information is returned, authentication requirements, or how the result might be used in conjunction with other Jira operations. The description is minimally adequate but leaves gaps.

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

Parameters4/5

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

The tool has 0 parameters with 100% schema description coverage, so the schema already fully documents the parameter situation. The description appropriately doesn't waste space discussing non-existent parameters. Baseline for 0 parameters with full schema coverage is 4, as there's nothing to compensate for.

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

Purpose4/5

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

The description clearly states the verb 'Get' and the resource 'current authenticated user', making the purpose immediately understandable. It distinguishes from siblings by focusing on user authentication rather than issue/project operations. However, it doesn't explicitly differentiate from similar user-related tools like 'jira_search_users'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention use cases like verifying authentication, obtaining user context for other operations, or how it differs from 'jira_search_users' which could also retrieve user information. There's no explicit 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.

jira_get_edit_metaB

Get metadata for editing an issue - shows editable fields and allowed values for an existing issue

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesThe Jira issue key to get edit metadata for

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden. It describes what the tool returns ('shows editable fields and allowed values') but lacks critical behavioral details: whether this is a read-only operation, authentication requirements, rate limits, error conditions, or what format the metadata returns. The description covers basic purpose but misses operational context.

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

Conciseness5/5

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

The description is a single, efficient sentence that communicates the core purpose without unnecessary words. It's front-loaded with the main action and provides just enough detail about what the metadata includes. Every word earns its place.

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

Completeness3/5

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

For a single-parameter tool with 100% schema coverage but no annotations and no output schema, the description provides adequate basic context about what the tool does. However, it lacks details about the return format, error handling, and operational constraints that would be helpful for an agent. The description is minimally complete but could be more informative.

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

Parameters3/5

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

Schema description coverage is 100% with the single parameter 'issueKey' well-documented in the schema. The description doesn't add any parameter-specific information beyond what's in the schema, but with complete schema coverage, the baseline score of 3 is appropriate as the schema handles the parameter documentation adequately.

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

Purpose4/5

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

The description clearly states the verb ('Get metadata for editing') and resource ('an issue'), specifying it's for an existing issue. It distinguishes from jira_get_create_meta by focusing on edit metadata rather than create metadata, but doesn't explicitly differentiate from other metadata tools like jira_get_fields or jira_get_field_options.

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

Usage Guidelines3/5

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

The description implies usage context ('for editing an issue', 'for an existing issue') but doesn't explicitly state when to use this tool versus alternatives like jira_get_create_meta or jira_get_fields. No guidance on prerequisites or when-not-to-use scenarios is provided.

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

jira_get_field_optionsB

Get allowed values/options for a specific field in a project and issue type context

ParametersJSON Schema
NameRequiredDescriptionDefault
projectKeyYesProject key
issueTypeYesIssue type name
fieldKeyYesField key (e.g., 'fixVersions', 'components', 'customfield_10001')

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states the tool 'gets' values, implying a read-only operation, but does not disclose behavioral traits such as authentication requirements, rate limits, error handling, or what the return format looks like (e.g., list of options). This leaves gaps for an agent to understand how to invoke it effectively.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core purpose ('Get allowed values/options') and includes essential context. There is no wasted verbiage, making it easy for an agent to parse quickly.

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

Completeness3/5

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

Given no annotations, no output schema, and 100% schema coverage, the description is adequate but incomplete. It covers the basic purpose and context but lacks details on behavioral aspects (e.g., response format, errors) and usage guidelines, which are important for a tool with three required parameters in a complex domain like Jira.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters (projectKey, issueType, fieldKey) with basic descriptions. The description adds minimal value beyond the schema by implying these parameters define the context for retrieving field options, but does not provide additional semantics like examples beyond the schema's fieldKey example or explain interdependencies.

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

Purpose4/5

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

The description clearly states the verb 'Get' and the resource 'allowed values/options for a specific field', with context 'in a project and issue type context'. It specifies what the tool retrieves (field options) and the required context, but does not explicitly differentiate from siblings like 'jira_get_fields' or 'jira_get_edit_meta', which might provide overlapping metadata.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. The description mentions the context (project and issue type) but does not specify prerequisites, exclusions, or compare it to sibling tools like 'jira_get_fields' or 'jira_get_edit_meta' that might also provide field information.

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

jira_get_fieldsB

Get all available fields including custom fields - shows field IDs, names, and types

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions what data is returned but lacks details on permissions required, rate limits, pagination, or error handling. For a read operation in a Jira context, this omission leaves significant gaps in understanding how the tool behaves.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the key action and details without any wasted words. It directly communicates the tool's purpose and output, making it easy to parse and understand quickly.

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

Completeness3/5

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

Given the tool has no parameters and no output schema, the description adequately covers the basic purpose and output details. However, it lacks context on behavioral aspects like authentication needs or integration with other tools, which could be important in a Jira environment. It meets minimum viability but has clear gaps.

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

Parameters4/5

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

The tool has 0 parameters, and the input schema has 100% description coverage (though empty). The description does not need to add parameter details, so it appropriately focuses on the tool's function. A baseline of 4 is applied as it compensates for the lack of parameters by clearly explaining the output scope.

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

Purpose4/5

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

The description clearly states the action ('Get all available fields') and specifies the resource ('fields including custom fields'), with details on what information is returned ('field IDs, names, and types'). It distinguishes from siblings like 'jira_get_field_options' by focusing on field metadata rather than options, though it could be more explicit about this distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as 'jira_get_edit_meta' or 'jira_get_create_meta', which might also provide field information in specific contexts. There is no mention of prerequisites, timing, or exclusions, leaving usage unclear beyond the basic purpose.

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

jira_get_issueC

Get details of a Jira issue by its key

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesThe Jira issue key (e.g., PROJ-123)
expandNoFields to expand

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves issue details but doesn't mention whether it requires authentication, rate limits, what details are included (e.g., fields, comments), or error handling. This leaves significant gaps for a read operation in a complex system like Jira.

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

Conciseness5/5

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

The description is a single, clear sentence with zero wasted words. It's front-loaded with the core purpose and efficiently communicates the essential action without unnecessary elaboration, making it easy for an agent to parse quickly.

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

Completeness2/5

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

Given the complexity of Jira issues and the lack of annotations and output schema, the description is insufficient. It doesn't explain what 'details' include, potential authentication needs, or how results are structured. For a tool in a rich API environment with many sibling tools, more context is needed to guide effective use.

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

Parameters3/5

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

The description mentions retrieving details 'by its key', which aligns with the 'issueKey' parameter in the schema. However, with 100% schema description coverage, the schema already fully documents both parameters ('issueKey' and 'expand'), so the description adds minimal value beyond reinforcing the primary parameter. No additional semantic context is provided.

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

Purpose4/5

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

The description clearly states the action ('Get details') and resource ('Jira issue by its key'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'jira_search_issues' or 'jira_get_comments', but the specificity of retrieving a single issue by key is reasonably distinct from those operations.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'jira_search_issues' for multiple issues or 'jira_get_comments' for comment-specific details. It lacks any mention of prerequisites, context, or exclusions, leaving the agent to infer usage based on the name alone.

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

jira_get_prioritiesB

Get all available priorities

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. 'Get' implies a read operation, but it doesn't specify whether this requires authentication, returns paginated results, has rate limits, or what format the priorities come in (e.g., IDs, names, colors). This is inadequate for a tool with zero annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it immediately scannable and perfectly concise for this simple tool.

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

Completeness2/5

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

Given the tool's simplicity (no parameters) but lack of annotations and output schema, the description is incomplete. It doesn't explain what 'priorities' means in Jira context, what the return format looks like, or whether this is a global or project-specific operation. For a metadata-fetching tool, this leaves significant gaps.

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

Parameters4/5

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

The tool has zero parameters, and schema description coverage is 100% (empty schema is fully documented). The description doesn't need to explain parameters, and it correctly implies no inputs are required. A baseline of 4 is appropriate for zero-parameter tools.

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

Purpose4/5

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

The description 'Get all available priorities' clearly states the verb ('Get') and resource ('all available priorities'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'jira_get_fields' or 'jira_get_statuses' which follow similar patterns for other Jira entities.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (like needing a Jira project context), nor does it explain when you'd need priorities versus other metadata tools like 'jira_get_statuses' or 'jira_get_fields'.

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

jira_get_projectA

Get details of a specific Jira project

ParametersJSON Schema
NameRequiredDescriptionDefault
projectKeyYesThe project key

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only restates that the tool gets details; it does not disclose what those details are, whether the operation is purely read-only, what errors may occur, or what the response format will be.

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

Conciseness5/5

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

The description is a single, clear sentence with no filler. It is appropriately sized for a simple one-parameter lookup and front-loads the core purpose effectively.

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

Completeness3/5

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

Given the tool's simplicity and full schema coverage, the description is minimally viable. However, with no output schema and no annotation safety profile, the lack of any detail about return values or behavioral constraints leaves meaningful gaps for an agent.

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

Parameters3/5

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

The schema already fully documents the single 'projectKey' parameter with 100% coverage. The description adds no additional formatting, examples, or constraints beyond what the schema provides, so it meets the baseline without enriching parameter semantics.

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

Purpose5/5

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

The description clearly identifies the verb ('Get'), the resource ('details of a specific Jira project'), and the singular scope, which distinguishes it from jira_get_projects. An agent can easily tell that this is for one project rather than a list.

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

Usage Guidelines3/5

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

The word 'specific' implies this is the tool to use when a particular project key is already known, but the description does not explicitly state when to prefer jira_get_projects for listing or provide exclusions. Usage context is only implied, not clearly documented.

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

jira_get_project_componentsA

Get all components for a project - use this to find valid values for the components field

ParametersJSON Schema
NameRequiredDescriptionDefault
projectKeyYesProject key to get components for

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves data ('Get all components'), implying it's a read-only operation, but doesn't mention potential behaviors like pagination, error handling, authentication needs, or rate limits. For a tool with no annotations, this leaves significant gaps in understanding how it behaves beyond the basic action.

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

Conciseness5/5

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

The description is extremely concise and front-loaded: it states the core action in the first clause and the primary use case in the second. Every sentence earns its place by providing essential information without redundancy or fluff, 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.

Completeness3/5

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

Given the tool's low complexity (single parameter, no output schema), the description is somewhat complete but lacks depth. It explains the purpose and usage but omits behavioral details like return format or error conditions. With no annotations and no output schema, the description should do more to compensate, but it's minimally adequate for a simple retrieval tool.

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

Parameters3/5

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

The input schema has 100% description coverage, with the 'projectKey' parameter well-documented in the schema itself. The description adds no additional parameter details beyond what the schema provides, such as format examples or constraints. Given the high schema coverage, a baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't need to.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Get all components for a project'. This is a specific verb ('Get') and resource ('components for a project'), making it understandable. However, it doesn't explicitly differentiate from sibling tools like 'jira_get_project' or 'jira_get_project_versions', which also retrieve project-related data, so it falls short of a perfect score.

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

Usage Guidelines4/5

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

The description provides clear usage guidance: 'use this to find valid values for the components field'. This explains when to use the tool (to populate component options) and implies its utility in issue creation or updates. It doesn't specify when not to use it or name alternatives, but the context is sufficiently clear for effective use.

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

jira_get_projectsB

Get all Jira projects

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but offers minimal behavioral insight. It states the action but doesn't disclose traits like whether it's paginated, requires authentication, returns a specific format, or has rate limits. This leaves significant gaps for a tool that likely interacts with an external API.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and wastes no space, making it easy to parse quickly.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'Get all Jira projects' entailsβ€”such as the return format (e.g., list of project objects), potential filtering, or error handling. For a tool likely fetching data from Jira, more context is needed to use it effectively.

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

Parameters4/5

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

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here. A baseline of 4 is applied since the schema fully handles the parameter aspect, and the description doesn't introduce confusion.

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

Purpose4/5

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

The description clearly states the action ('Get') and resource ('all Jira projects'), making the purpose immediately understandable. It distinguishes from siblings like 'jira_get_project' (singular) by specifying 'all' projects, though it doesn't explicitly contrast with other read operations like 'jira_get_create_meta' or 'jira_get_fields'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. While the description implies it retrieves all projects, it doesn't mention prerequisites, context (e.g., needing project access), or when to choose other tools like 'jira_get_project' for a single project or 'jira_search_issues' for project-related issues.

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

jira_get_project_versionsA

Get all versions for a project - use this to find valid values for fixVersions and affectsVersions fields

ParametersJSON Schema
NameRequiredDescriptionDefault
projectKeyYesProject key to get versions for

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the tool retrieves data ('Get all versions'), implying a read operation, but doesn't address permissions, rate limits, pagination, or error conditions. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core purpose and follows with usage guidance. Every word earns its place with no redundancy or unnecessary elaboration.

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

Completeness3/5

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

Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is adequate but minimal. It covers purpose and usage context but lacks behavioral details that would be helpful for a read operation in a system like Jira. The absence of output schema means the description doesn't explain return values, which is a gap.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents the single parameter 'projectKey'. The description doesn't add any additional semantic context about the parameter beyond what's in the schema, such as format examples or constraints. Baseline 3 is appropriate when the schema handles parameter documentation.

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

Purpose4/5

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

The description clearly states the action ('Get all versions') and resource ('for a project'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'jira_get_project' or 'jira_get_project_components', but the specific focus on versions is clear enough for basic distinction.

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

Usage Guidelines4/5

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

The description provides explicit guidance on when to use this tool: 'to find valid values for fixVersions and affectsVersions fields'. This gives a clear context for usage, though it doesn't mention when NOT to use it or name specific alternatives among the siblings.

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

jira_get_statusesB

Get all available statuses

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states what the tool does ('Get all available statuses') without mentioning whether this is a read-only operation, if it requires authentication, potential rate limits, or what format the statuses are returned in. This leaves significant gaps for a tool in a complex system like Jira.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core action and resource, making it immediately scannable and appropriately sized for a simple tool.

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

Completeness2/5

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

Given the complexity of Jira and the lack of annotations or output schema, the description is insufficient. It doesn't explain what 'statuses' refer to (e.g., issue statuses), how they're structured, or any behavioral traits like pagination or permissions, leaving the agent with incomplete context for effective use.

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

Parameters4/5

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

The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the absence of inputs. The description doesn't need to compensate for any parameter gaps, and it correctly implies no filtering or options are required, earning a high baseline score.

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

Purpose4/5

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

The description clearly states the verb ('Get') and resource ('all available statuses'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'jira_get_priorities' or 'jira_get_fields' beyond the resource name, which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context for retrieving statuses, or how it relates to other Jira operations like 'jira_get_transitions' or 'jira_get_issue', leaving the agent with minimal usage direction.

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

jira_get_transitionsC

Get available transitions for a Jira issue

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesThe Jira issue key

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic action without behavioral details. It doesn't disclose whether this is a read-only operation (implied by 'Get' but not explicit), what permissions are needed, rate limits, or what the output format looks like (e.g., list of transition IDs/names). For a tool with zero annotation coverage, this is inadequate.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and appropriately sized for a simple tool, making it easy to parse quickly.

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

Completeness2/5

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

Given the tool's moderate complexity (retrieving workflow data) and lack of annotations and output schema, the description is incomplete. It doesn't explain what 'transitions' are in Jira context, what the return values include, or any behavioral traits. For a tool with no structured support, more descriptive context is needed.

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

Parameters3/5

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

The description adds no parameter information beyond what the schema provides. Since schema description coverage is 100% (the 'issueKey' parameter is fully described in the schema), the baseline score is 3. The description doesn't compensate with additional context like format examples or constraints.

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

Purpose4/5

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

The description clearly states the verb 'Get' and the resource 'available transitions for a Jira issue', making the purpose understandable. However, it doesn't differentiate from siblings like 'jira_get_issue' or 'jira_get_statuses' which also retrieve issue-related data, so it lacks sibling distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. For example, it doesn't mention that this is specifically for workflow transitions (as opposed to general issue data from 'jira_get_issue') or when to use 'jira_transition_issue' to actually perform a transition. No exclusions or prerequisites are stated.

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

jira_search_issuesC

Search for Jira issues using JQL

ParametersJSON Schema
NameRequiredDescriptionDefault
jqlYesJQL query string
startAtNoStarting index
maxResultsNoMaximum results to return
fieldsNoFields to include

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic action without behavioral details. It doesn't disclose whether this is read-only, paginated, rate-limited, requires authentication, or returns structured data, which are critical for a search operation in Jira.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. It's appropriately sized for a straightforward search tool, with zero wasted information.

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

Completeness2/5

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

Given the tool's complexity (4 parameters, no output schema, no annotations), the description is insufficient. It lacks details on return format, pagination behavior, error handling, or JQL syntax examples, making it incomplete for effective agent use despite the concise structure.

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

Parameters3/5

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

The schema description coverage is 100%, so parameters are well-documented in the schema itself. The description adds no additional meaning beyond implying JQL usage, which is already covered by the 'jql' parameter's description. This meets the baseline for high schema coverage.

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

Purpose4/5

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

The description clearly states the verb ('search') and resource ('Jira issues') with the method ('using JQL'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'jira_get_issue' or 'jira_search_users' beyond the general 'search' action, which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention scenarios like complex filtering, bulk retrieval, or comparisons to 'jira_get_issue' for single issues or 'jira_search_users' for user searches, leaving the agent without contextual usage cues.

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

jira_search_usersC

Search for Jira users

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesUsername search query

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. 'Search for Jira users' implies a read-only operation but doesn't specify authentication requirements, rate limits, pagination behavior, or what constitutes a valid search (e.g., partial matches, case sensitivity). This leaves significant gaps for an agent to understand how to use it effectively.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a simple search tool and front-loads the essential information without unnecessary elaboration.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the search returns (e.g., user objects with fields like email, display name), potential limitations (e.g., only active users), or error conditions. For a tool with no structured behavioral data, this minimal description leaves too many unknowns.

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

Parameters3/5

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

The input schema has 100% description coverage with the 'query' parameter documented as 'Username search query.' The description doesn't add any additional meaning beyond this, such as search syntax examples or result format hints. With high schema coverage, the baseline score of 3 is appropriate as the schema does the heavy lifting.

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

Purpose4/5

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

The description 'Search for Jira users' clearly states the action (search) and resource (Jira users), making the purpose immediately understandable. However, it doesn't differentiate this from potential sibling tools like 'jira_get_current_user' or other user-related operations, which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With multiple sibling tools available (like jira_get_current_user for a specific user or jira_search_issues for different resources), there's no indication of context, prerequisites, or exclusions for this search operation.

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

jira_transition_issueC

Transition a Jira issue to a new status

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesThe Jira issue key
transitionIdYesTransition ID
commentNoOptional comment

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states the basic action. It doesn't disclose behavioral traits such as required permissions, whether transitions are reversible, side effects, or error handling. This is inadequate for a mutation tool with zero annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero waste. It is front-loaded and appropriately sized for the tool's complexity, earning its place by clearly stating the purpose.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral context, return values, or error scenarios, leaving significant gaps for an AI agent to understand how to use it effectively.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents the three parameters. The description adds no additional meaning beyond implying 'transitionId' relates to status changes, but this is minimal value. Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the action ('transition') and resource ('a Jira issue'), specifying the outcome ('to a new status'). It distinguishes from siblings like jira_update_issue by focusing on status changes rather than general updates, though it doesn't explicitly name alternatives.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like jira_update_issue or jira_get_transitions. The description implies usage for status changes but lacks context on prerequisites, dependencies, or exclusions.

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

jira_update_issueC

Update an existing Jira issue

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesThe Jira issue key
summaryNoNew summary
descriptionNoNew description
priorityNoNew priority name
assigneeNoNew assignee username
labelsNoNew labels

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. While 'Update' implies a mutation, the description doesn't mention permission requirements, whether partial updates are allowed, what happens to unspecified fields, or what the response looks like. For a mutation tool with zero annotation coverage, this leaves significant behavioral questions unanswered.

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

Conciseness5/5

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

The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a tool with good schema documentation and is perfectly front-loaded with the essential information.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't address behavioral aspects like permissions, partial updates, or response format, nor does it differentiate from similar sibling tools. The combination of mutation operation + zero annotation coverage + multiple similar siblings requires more comprehensive guidance than provided.

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

Parameters3/5

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

The description adds no parameter information beyond what's already in the schema, which has 100% coverage with clear descriptions for all 6 parameters. The baseline score of 3 reflects that the schema adequately documents parameters, though the description could have added context about how parameters interact or which are most commonly used.

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

Purpose4/5

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

The description 'Update an existing Jira issue' clearly states the action (update) and resource (Jira issue), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'jira_update_issue_advanced' or 'jira_assign_issue', which also modify issues in different ways.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'jira_update_issue_advanced', 'jira_assign_issue', and 'jira_transition_issue' that also modify issues, there's no indication of what distinguishes this basic update from those more specialized operations.

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

jira_update_issue_advancedA

Update a Jira issue with full field support including fixVersions, components, and custom fields. Use jira_get_edit_meta first to discover editable fields and allowed values.

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesThe Jira issue key
summaryNoNew summary
descriptionNoNew description
priorityNoNew priority name
assigneeNoNew assignee username
labelsNoNew labels
componentsNoComponent names
fixVersionsNoFix version names
affectsVersionsNoAffects version names
customFieldsNoCustom fields as key-value pairs

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It mentions the tool updates issues with 'full field support,' implying mutation capabilities, but doesn't disclose behavioral traits like authentication requirements, rate limits, error handling, or what happens to unspecified fields. The description adds some context about field discovery but lacks comprehensive behavioral details.

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

Conciseness5/5

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

The description is two sentences with zero waste: the first states purpose and scope, the second provides critical usage guidance. It's front-loaded with essential information and appropriately sized for the tool's complexity.

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

Completeness4/5

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

Given the tool's complexity (10 parameters, mutation operation, no annotations, no output schema), the description is reasonably complete. It covers purpose, distinguishes from siblings, and provides workflow guidance. However, it lacks details about return values or error conditions, which would be helpful since there's no output schema.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 10 parameters thoroughly. The description mentions 'fixVersions, components, and custom fields' as examples, which aligns with schema parameters but doesn't add meaningful semantic context beyond what the schema provides. Baseline 3 is appropriate when schema does the heavy lifting.

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

Purpose5/5

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

The description clearly states the verb ('Update') and resource ('a Jira issue') with specific scope ('with full field support including fixVersions, components, and custom fields'). It distinguishes from the sibling 'jira_update_issue' by emphasizing 'advanced' capabilities like custom fields.

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

Usage Guidelines5/5

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

The description explicitly provides when-to-use guidance: 'Use jira_get_edit_meta first to discover editable fields and allowed values.' This names a specific prerequisite tool and explains its purpose in the workflow, helping the agent choose correctly among update-related tools.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 27 tool updatesv1.0.0
    • First observedjira_add_comment
    • First observedjira_add_watcher
    • First observedjira_assign_issue
    • First observedjira_create_issue
    • First observedjira_create_issue_advanced
    • First observedjira_delete_issue
    • First observedjira_get_comments
    • First observedjira_get_create_meta
    • First observedjira_get_current_user
    • First observedjira_get_edit_meta
    • First observedjira_get_field_options
    • First observedjira_get_fields
    • First observedjira_get_issue
    • First observedjira_get_issue_link_types
    • First observedjira_get_priorities
    • First observedjira_get_project
    • First observedjira_get_project_components
    • First observedjira_get_project_versions
    • First observedjira_get_projects
    • First observedjira_get_statuses
    • First observedjira_get_transitions
    • First observedjira_link_issues
    • First observedjira_search_issues
    • First observedjira_search_users
    • First observedjira_transition_issue
    • First observedjira_update_issue
    • First observedjira_update_issue_advanced

TDQS

B3.4/5.0

Scored across 27 tools

Disambiguation4/5

Most tools have distinct purposes targeting specific Jira resources and actions, but there is some overlap between jira_create_issue/jira_create_issue_advanced and jira_update_issue/jira_update_issue_advanced, which could cause confusion about when to use the advanced versions. The descriptions help clarify that advanced versions support more fields, but the distinction might not be immediately obvious to an agent.

Naming Consistency5/5

All tools follow a consistent jira_verb_noun pattern with snake_case, making them predictable and easy to parse. The naming convention is uniform across all 27 tools, with no deviations in style or structure.

Tool Count3/5

With 27 tools, the count is on the high side for a typical MCP server, bordering on heavy. While Jira is a complex system with many operations, some tools like jira_get_priorities or jira_get_statuses might be considered auxiliary, potentially making the set feel bloated compared to more streamlined servers.

Completeness5/5

The tool set provides comprehensive coverage for Jira operations, including full CRUD for issues (create, get, update, delete), metadata discovery (get_create_meta, get_edit_meta), search capabilities, user and project management, and workflow actions like transitions and linking. There are no obvious gaps, and the advanced tools ensure support for custom fields and complex scenarios.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with Jira Cloud and Server/Data Center deployments for issue management, project tracking, and workflow automation. Supports multiple authentication methods including API tokens, OAuth 2.0, and personal access tokens.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to interact with Jira Cloud instances for comprehensive issue management including creating, updating, searching issues, managing comments, workflow transitions, and project metadata discovery. Supports JQL queries, user search, and custom field operations with secure API token authentication.
    12
    1,883 npm
    8
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to interact with Atlassian Jira via API token authentication, with 46 optimized tools across modular architecture for CRUD, agile, dashboard, and search operations.
    37 npm
    1
    MIT