Skip to main content
Glama
Juhwan01

Jira Extended MCP Server

by Juhwan01

Built by Moobean Team — a lightweight, Jira-only MCP server focused on getting things done with minimal setup.

What Makes This Different

  • Jira-only, zero bloat — No Confluence, no extra modules. One uvx command and you're running.

  • Wiki markup support — Uses Jira REST API v2, so *bold*, h2. Title, * bullet just work. No ADF JSON hassle.

  • Bulk operations — Create up to 50 issues or transition multiple issues in a single call.

  • Full release lifecycle — Create, update, delete versions and assign issues to releases.

  • Issue links — Block, relate, duplicate, clone — with create, query, and delete support.

Related MCP server: jira-mcp-server

Comparison

Note: Feature data is based on each project's README and documentation as of March 2026. Features may have changed since then.

jira-mcp

mcp-atlassian

Atlassian Rovo MCP

Jira Extended

Scope

Jira only

Jira + Confluence

Jira + Confluence + Compass

Jira only

Issue CRUD

Read-only

Full CRUD

Full CRUD

Full CRUD

Bulk Create

-

Supported

Supported

50 issues/call

Bulk Transition

-

-

-

Supported

Parent / Sub-task

-

Supported

Supported

Supported

fixVersions

-

Supported

Supported

Supported

startDate / dueDate

-

Supported

Supported

Supported

Issue Links

-

Supported

-

Supported

Release Management

-

-

-

4 tools

Sprint Management

-

Supported

-

Supported

Rich Text

-

Markdown → ADF

ADF

Wiki markup (v2 API)

Setup

npm

pip / Docker

OAuth (cloud-hosted)

uvx one-liner

Total Jira Tools

2

~30 (Jira portion)

~25 (Jira portion)

27

Language

TypeScript

Python

Remote (SaaS)

Python

Use Cases

Just ask your AI agent in natural language:

Issue Management

"Create an epic in the KAN project titled 'User Auth System', start date April 1st, due date April 30th"

"Create 5 stories under KAN-42: Login, Sign Up, Password Reset, Social Login, 2FA"

"Show me all 'In Progress' issues in the KAN project"

Bulk Operations

"Transition all 10 backlog issues in this sprint to 'Done'"

"Show me the issue list included in the v2.0 release"

Releases & Sprints

"Create a v2.1.0 release in KAN project with release date May 15th"

"Move KAN-50 and KAN-51 to the current active sprint"

Issue Links

"Link KAN-10 as blocking KAN-20"

Rich Text (Wiki Markup)

"Create an issue with h2 headings and bullet lists in the description"

Quick Start

Prerequisites

  • uv (Python package manager — installs Python automatically if needed)

  • Jira API Token

Step 1: Install uv

uv is a Python package manager. If you don't have it:

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Step 2: Get a Jira API Token

  1. Go to https://id.atlassian.com/manage-profile/security/api-tokens

  2. Click Create API token

  3. Copy the token — you'll need it in the next step

Step 3: Configure your AI client

Choose where to add the config:

Scope

File

Effect

Global (recommended)

~/.claude.json

Available in all projects

Project only

.mcp.json in project root

Only in that project

Easiest — one command:

# macOS / Linux
claude mcp add jira-extended -s user \
  -e JIRA_URL=https://your-instance.atlassian.net \
  -e JIRA_EMAIL=your-email@example.com \
  -e JIRA_API_TOKEN=your-token \
  -- uvx jira-extended-mcp

# Windows — use uvx.exe (not uvx) to avoid .cmd wrapper issues
claude mcp add jira-extended -s user \
  -e JIRA_URL=https://your-instance.atlassian.net \
  -e JIRA_EMAIL=your-email@example.com \
  -e JIRA_API_TOKEN=your-token \
  -- uvx.exe jira-extended-mcp

-s user installs globally. Omit it for project-only install.

Or edit the config file manually:

Open the file in a text editor:

# macOS / Linux
code ~/.claude.json    # or: nano ~/.claude.json

# Windows
notepad %USERPROFILE%\.claude.json

Add this content (create the file if it doesn't exist):

{
  "mcpServers": {
    "jira-extended": {
      "command": "uvx",
      "args": ["jira-extended-mcp"],
      "env": {
        "JIRA_URL": "https://your-instance.atlassian.net",
        "JIRA_EMAIL": "your-email@example.com",
        "JIRA_API_TOKEN": "your-api-token"
      }
    }
  }
}

Windows users: Use "command": "uvx.exe" instead of "command": "uvx". The uvx.cmd wrapper on Windows breaks the MCP stdio transport.

Open the config file in a text editor:

# macOS
code ~/Library/Application\ Support/Claude/claude_desktop_config.json

# Windows
notepad %APPDATA%\Claude\claude_desktop_config.json

Add or merge into the file:

{
  "mcpServers": {
    "jira-extended": {
      "command": "uvx",
      "args": ["jira-extended-mcp"],
      "env": {
        "JIRA_URL": "https://your-instance.atlassian.net",
        "JIRA_EMAIL": "your-email@example.com",
        "JIRA_API_TOKEN": "your-api-token"
      }
    }
  }
}

If the file already has other MCP servers, add the "jira-extended": {...} block inside the existing "mcpServers" object.

Windows users: Use "command": "uvx.exe" instead of "command": "uvx".

Create .vscode/mcp.json in your project root:

mkdir -p .vscode
code .vscode/mcp.json
{
  "servers": {
    "jira-extended": {
      "command": "uvx",
      "args": ["jira-extended-mcp"],
      "env": {
        "JIRA_URL": "https://your-instance.atlassian.net",
        "JIRA_EMAIL": "your-email@example.com",
        "JIRA_API_TOKEN": "your-api-token"
      }
    }
  }
}

Enable MCP: Settings > Chat > MCP must be checked. Works in Agent mode.

Windows users: Use "command": "uvx.exe" instead of "command": "uvx".

Open the config file:

# macOS / Linux
code ~/.cursor/mcp.json

# Windows
notepad %USERPROFILE%\.cursor\mcp.json
{
  "mcpServers": {
    "jira-extended": {
      "command": "uvx",
      "args": ["jira-extended-mcp"],
      "env": {
        "JIRA_URL": "https://your-instance.atlassian.net",
        "JIRA_EMAIL": "your-email@example.com",
        "JIRA_API_TOKEN": "your-api-token"
      }
    }
  }
}

Windows users: Use "command": "uvx.exe" instead of "command": "uvx".

git clone https://github.com/moobean-team/jira-extended-mcp-server.git
cd jira-extended-mcp-server
uv pip install -e .

Then use "command": "jira-extended-mcp" instead of "command": "uvx" in your config.

Step 4: Restart & verify

Restart your AI client, then ask:

"Show my Jira projects"

If you see your project list, you're all set.

Configuration

Environment Variables

Variable

Required

Default

Description

JIRA_URL

Yes

Jira Cloud instance URL

JIRA_EMAIL

Yes

Atlassian account email

JIRA_API_TOKEN

Yes

API token

JIRA_START_DATE_FIELD

No

customfield_10015

Custom field ID for start date

Finding Your Start Date Field ID

The start date field ID varies per Jira instance. Use the get_createmeta tool for your project to see available fields, or:

curl -s -u email:token https://your-instance.atlassian.net/rest/api/2/field \
  | python -m json.tool | grep -i "start"

Rich Text (Wiki Markup)

This server uses Jira REST API v2, which accepts Jira wiki markup strings for description and comment fields. Jira renders them as rich text automatically.

Syntax

Renders as

*bold*

bold

_italic_

italic

h2. Section Title

H2 heading

* item 1\n* item 2

Bullet list

# item 1\n# item 2

Numbered list

{code}print("hi"){code}

Code block

[Link Text|https://url]

Hyperlink

|col1|col2|\n|a|b|

Table

Full reference: Jira Wiki Markup

Available Tools

Tool

Description

create_issue

Create issue with full field support — parent, fixVersions, startDate, dueDate, story points, components, custom fields

create_issues_bulk

Bulk create up to 50 issues in a single API call

get_issue

Get issue details with formatted output

update_issue

Update any issue field (only changed fields are sent)

delete_issue

Delete issue with subtask handling

search_issues

JQL search with pagination and configurable fields

Tool

Description

get_transitions

List available status transitions for an issue

transition_issue

Change issue status by name or ID, with optional comment

bulk_transition

Transition multiple issues at once

Tool

Description

link_issues

Create link between issues (Blocks, Relates, Duplicate, Cloners)

get_issue_links

Get all links for an issue with link type details

delete_issue_link

Remove a link by ID

Tool

Description

get_versions

List project versions/releases

create_version

Create a new release with start/release dates

update_version

Update release details, mark as released/archived

delete_version

Delete a release with issue reassignment options

Tool

Description

get_sprints

List sprints for a board (filter by active/future/closed)

move_to_sprint

Move issues to a target sprint

Tool

Description

add_comment

Add comment to an issue (supports wiki markup)

get_comments

Get issue comments with author and timestamps

add_worklog

Log work time with human-friendly format ("2h 30m", "1d")

Tool

Description

get_projects

List all accessible projects

get_project

Get project details

get_boards

List boards (scrum/kanban/simple)

get_current_user

Get authenticated user info

search_users

Search users by name/email

get_createmeta

Get available issue types and fields per project

Architecture

src/jira_extended_mcp/
├── server.py    # FastMCP server + 27 tool definitions
├── client.py    # Async Jira REST client (httpx + rate limit retry)
├── adf.py       # ADF fallback helpers (v3 response parsing)
└── __init__.py

Key design decisions:

Decision

Why

REST API v2 for issues/comments

v2 accepts wiki markup strings for rich text. v3 requires ADF JSON which strips formatting

REST API v3 for metadata

Versions, projects, users don't have text fields — v3 is fine

Agile API for sprints/boards

Sprint ops are only available via /rest/agile/1.0/

FastMCP lifespan

httpx.AsyncClient pooled across tool calls, not per-request

Structured errors

Errors return {error, status} dicts so the LLM gets actionable feedback

Configurable start date field

JIRA_START_DATE_FIELD env var handles instance-specific custom field IDs

Development

git clone https://github.com/moobean-team/jira-extended-mcp-server.git
cd jira-extended-mcp-server
uv pip install -e .

# Run directly
jira-extended-mcp

# Or via module
python -m jira_extended_mcp.server

Troubleshooting

Ensure JIRA_URL, JIRA_EMAIL, and JIRA_API_TOKEN are set in your MCP config's env block. The server checks these on startup.

Jira transitions are workflow-specific. Use get_transitions first to see available transitions for the issue's current status. Transition names are case-insensitive.

Your Jira instance may use a different custom field ID. Use get_createmeta to find the correct field, then set JIRA_START_DATE_FIELD env var.

The server automatically retries up to 3 times using the Retry-After header. For bulk operations with 50+ issues, consider splitting into multiple calls.

This server uses Jira REST API v2 which accepts wiki markup. Use Jira wiki syntax (*bold*, h2. Title, * bullet) instead of Markdown.

License

MIT © Moobean Team

Available Tools

27 tools
add_commentB

Add a comment to an issue.

Args: issue_key: Issue key (e.g., "KAN-123") body: Comment text (plain text, supports Jira wiki markup for rich text)

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes
issue_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it says nothing about permissions, whether watchers get notified, whether the comment can be edited/deleted afterward, or any rate limits. Only the wiki-markup formatting note hints at behavior.

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?

One-line purpose statement followed by a tight two-argument list; no filler, and the purpose is front-loaded before the parameter detail.

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?

An output schema exists, so return values need no explanation, and both parameters are documented. The gap is behavioral: for a mutation tool with zero annotations, side effects like comment notifications or permission requirements are left unstated.

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

Parameters4/5

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

Schema coverage is 0%, so the description must compensate, and it does: it explains issue_key's format with an example ("KAN-123") and clarifies that body is plain text supporting Jira wiki markup. That is meaningful detail the bare string-typed schema lacks.

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

Purpose4/5

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

States a specific verb (add) and resource (comment to an issue), which clearly separates it from the sibling get_comments. It stops short of explicitly naming or contrasting with that sibling, but the intent is unambiguous.

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

Usage Guidelines3/5

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

Usage is implied by the verb — comment on an issue when you have text to attach — but there is no explicit when-to-use framing, no prerequisites, and no mention of get_comments as the read-side alternative.

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

add_worklogB

Add a worklog entry to an issue.

Args: issue_key: Issue key (e.g., "KAN-123") time_spent: Time spent string (e.g., "2h 30m", "1d", "4h") comment: Work description started: Start time in ISO format (e.g., "2026-03-24T09:00:00.000+0000")

ParametersJSON Schema
NameRequiredDescriptionDefault
commentNo
startedNo
issue_keyYes
time_spentYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 the full burden. 'Add' implies a mutation, but the description says nothing about required permissions, whether time can be logged on someone else's behalf, validation/duplicate behavior, or reversibility. For a write operation 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.

Conciseness4/5

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

Front-loaded purpose sentence followed by a compact, well-structured Args block; every line carries parameter information. Slightly terse but no wasted prose.

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

Completeness3/5

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

The output schema exists, so return values need not be explained, and all parameters are documented. The missing pieces are the usage/permission context and side-effect disclosure expected of an un-annotated mutation tool.

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

Parameters4/5

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

Schema description coverage is 0%, and the description compensates well: it documents all four parameters with concrete format examples ('KAN-123', '2h 30m', '1d', '4h', ISO timestamp). It stops short of stating accepted time-spent units or what a null comment/started defaults 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?

States a specific verb and resource ('Add a worklog entry to an issue'), which an agent can clearly distinguish from siblings like add_comment or transition_issue. However, it never explicitly contrasts itself with those siblings or explains what a worklog entry is in this system.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives (e.g., add_comment for non-time-tracking notes), no prerequisites such as whether the user must be assignee or have worklog permission, and no notes on when-not to use it.

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

bulk_transitionC

Transition multiple issues to a new status.

Args: issue_keys: List of issue keys (e.g., ["KAN-1", "KAN-2"]) transition_name: Target transition name (e.g., "Done") comment: Optional comment for all transitions

ParametersJSON Schema
NameRequiredDescriptionDefault
commentNo
issue_keysYes
transition_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

No annotations provided, so the description carries the full behavioral burden. It describes the operation as a write/mutation but does not state whether transitions are reversible, what happens on partial failure across multiple issues, permission requirements, or rate limits.

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

Conciseness4/5

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

Front-loaded with the action, followed by a compact Args block. Efficient and free of filler, though the Args block is somewhat redundant with the JSON schema itself.

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 batch mutation tool with no annotations, an output schema, and 0% parameter coverage, the description omits critical details: failure handling per issue, valid transition source, and permission/workspace context. It is insufficient for an agent to call this safely.

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

Parameters2/5

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

Schema description coverage is 0% and the description only lightly annotates the three parameters with examples ("KAN-1", "Done"). It does not explain that transition_name must match a valid transition for the issue (cf. get_transitions), nor how comment applies to all transitions, leaving meaningful semantics undocumented.

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

Purpose4/5

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

States a specific verb+resource: "Transition multiple issues to a new status." Distinguishes from the singular sibling transition_issue via "multiple", but does not explicitly name the sibling or contrast them in the description.

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 when-to-use guidance, no mention of single-issue alternative (transition_issue), no prerequisites such as needing valid transition names. Usage is only implied by the tool name and sibling list.

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

create_issueB

Create a Jira issue with full field support including parent, fixVersions, dates.

Args: project: Project key (e.g., "KAN") issue_type: Issue type name (e.g., "Task", "Story", "Bug", "Epic") summary: Issue title description: Plain text description (supports Jira wiki markup for rich text) assignee_id: Atlassian account ID of assignee priority: Priority name (e.g., "High", "Medium", "Low") labels: List of label strings parent: Parent issue key for sub-tasks or stories under epics (e.g., "KAN-1") fix_versions: List of version names (e.g., ["v1.0.0"]) components: List of component names start_date: Start date in YYYY-MM-DD format due_date: Due date in YYYY-MM-DD format story_points: Story point estimate custom_fields: Dict of custom field IDs to values

ParametersJSON Schema
NameRequiredDescriptionDefault
labelsNo
parentNo
projectYes
summaryYes
due_dateNo
priorityNo
componentsNo
issue_typeYes
start_dateNo
assignee_idNo
descriptionNo
fix_versionsNo
story_pointsNo
custom_fieldsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden, yet it discloses nothing about permissions, notification side effects, idempotency, or rate limits. 'Create' implies a mutation, but what it changes and what constraints apply are unstated.

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

Conciseness4/5

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

The purpose sentence is front-loaded, followed by a tight args list where each line adds format or example information. Slightly list-heavy, but nothing is padding.

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?

An output schema exists so return values need no explanation, and parameters are well covered. However, for a Jira create tool the key operational caveat — that required fields vary by project and issue type and custom field IDs must be discovered via get_createmeta — is missing, which is a meaningful gap given 14 parameters.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate, and it does: every one of the 14 parameters is documented with concrete formats and examples ('KAN', 'KAN-1', 'Task'/'Story'/'Bug'/'Epic', YYYY-MM-DD, ['v1.0.0'], wiki markup, and the dict-of-custom-field-IDs shape).

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

Purpose4/5

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

States a specific verb and resource ('Create a Jira issue') and enumerates the field coverage, which is clearly distinguishable from read/search siblings. It stops short of explicitly differentiating itself from create_issues_bulk or the update/delete siblings.

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

Usage Guidelines2/5

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

There is no when-to-use guidance: nothing says when to prefer this over create_issues_bulk, nor that get_createmeta should be consulted first to discover valid issue types and required custom fields. The description only lists fields, leaving the agent to infer routing.

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

create_issues_bulkA

Create multiple issues in bulk (max 50 per request).

Args: issues: List of issue objects. Each must have: project, issue_type, summary. Optional: description, assignee_id, priority, labels, parent, fix_versions, components, start_date, due_date, custom_fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
issuesYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses the max-50 limit, but does not describe permissions, atomicity, partial-failure behavior, rate limits, or other operational traits important for a bulk mutation tool.

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

Conciseness5/5

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

The description is front-loaded with the core action and cap, then uses a compact Args section to enumerate field requirements. Every sentence adds useful information with no repetition or filler.

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?

An output schema exists, so return values need not be explained. However, for a bulk mutation with no annotations, the description omits important operational context such as permission needs, validation failure behavior, and whether the batch is atomic.

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

Parameters5/5

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

Schema description coverage is 0% and the single issues parameter is an array of free-form objects. The description compensates by naming the required fields (project, issue_type, summary) and listing optional fields, giving the agent actionable parameter semantics.

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

Purpose5/5

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

The description states a specific verb and resource: 'Create multiple issues in bulk (max 50 per request).' It clearly distinguishes itself from the singular sibling create_issue by emphasizing multiple issues and a 50-item cap.

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 for bulk creation and gives a concrete capacity limit, but it does not explicitly say when to use this instead of create_issue or what alternatives exist for different batch sizes. 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.

create_versionB

Create a new version/release in a project.

Args: project_key: Project key (e.g., "KAN") name: Version name (e.g., "v1.0.0") description: Version description start_date: Start date (YYYY-MM-DD) release_date: Release date (YYYY-MM-DD)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
start_dateNo
descriptionNo
project_keyYes
release_dateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must carry all behavioral disclosure. It states that the tool creates a version but omits side effects, required permissions, duplicate-name behavior, idempotency, and error cases. The presence of an output schema is not reflected in the description.

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, with a clear summary followed by a compact Args list. It avoids unnecessary repetition and presents parameter information in an easy-to-scan format. Every sentence serves a 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 mutating tool with no annotations, the definition should do more to explain permissions, prerequisites, side effects, and relationship to sibling tools. It also has an output schema but does not describe what is returned. The parameter list is helpful but insufficient for full contextual completeness.

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

Parameters3/5

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

All five parameters are named in the description, with examples for project_key and name plus date formats for start_date and release_date. However, schema description coverage is 0%, and the description does not state required versus optional fields or null/default behavior. The description for 'description' is tautological and adds little semantic value.

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 name and first sentence clearly state the action and resource: create a new version/release in a project. Examples for project_key and name make the intent unambiguous. It is easy to distinguish from get_versions, update_version, and delete_version.

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 lists arguments but gives no when-to-use guidance, prerequisites, permissions, or constraints. It also does not explain when to prefer create_version over update_version or how it relates to release workflows. Only the argument list and date format examples are provided.

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

delete_issueB

Delete a Jira issue.

Args: issue_key: Issue key (e.g., "KAN-123") delete_subtasks: Also delete subtasks (default: True)

ParametersJSON Schema
NameRequiredDescriptionDefault
issue_keyYes
delete_subtasksNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so the description must carry the full behavioral burden. 'Delete a Jira issue' implies a destructive, irreversible operation but does not state irreversibility, permission requirements, or side effects (e.g., linked issues). It does note subtasks are also deleted by default, which is one useful behavior, but far from sufficient for a destructive tool.

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

Conciseness4/5

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

Two lines, front-loaded verb+resource, then parameter notes. No wasted text. Could be slightly more structured with warnings, but efficient.

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 destructive tool with no annotations and no output schema explanation, the description omits critical context: irreversibility, required permissions, effect on linked issues, and return value. Incomplete for safe invocation.

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

Parameters3/5

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

Schema description coverage 0%, so description should compensate. It explains issue_key with an example and clarifies delete_subtasks default True and meaning. Adds some value, but lacks detail on what happens if delete_subtasks is false (error? orphaned?) and doesn't document the boolean fully. Marginal.

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?

Clear specific verb+resource (delete a Jira issue). Unambiguous against siblings like create_issue, update_issue, get_issue. An agent can confidently select this 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?

No indication of when to use this vs other operations, nor any warning about irreversibility. Doesn't mention prerequisites (permissions) or guidance about subtasks default behavior. Missing explicit when-to-use context.

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

delete_versionB

Delete a version/release.

Args: version_id: Version ID to delete move_fix_issues_to: Version ID to reassign fix version issues move_affected_issues_to: Version ID to reassign affected version issues

ParametersJSON Schema
NameRequiredDescriptionDefault
version_idYes
move_fix_issues_toNo
move_affected_issues_toNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/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, yet it never states that deletion is irreversible or what permissions are required. It does implicitly reveal that a version may have attached fix/affected issues that must be reassigned, which is useful behavioral context, but the destructive consequences remain undisclosed.

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

Conciseness4/5

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

One-line purpose followed by a tight Args list; front-loaded and free of padding. The arg restatements are terse but not wasteful.

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?

An output schema exists so return values need no explanation, but for an unannotated destructive tool the description omits irreversibility, permission requirements, and what happens when issues exist and no reassignment target is supplied. Those gaps matter for correct invocation.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it does document all three parameters with their roles. The move_fix_issues_to and move_affected_issues_to explanations ('reassign fix version issues' vs 'reassign affected version issues') add genuine meaning beyond the bare schema types.

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

Purpose4/5

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

States a specific verb and resource ('Delete a version/release'), which cleanly distinguishes it from siblings like create_version, update_version, and get_versions. It does not, however, explicitly contrast itself with delete_issue or other destructive siblings.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool, no prerequisites, and no mention of alternatives or recovery paths. The description only enumerates arguments.

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

get_boardsB

List Jira boards.

Args: project_key: Filter by project key board_type: Filter by type: "scrum", "kanban", "simple"

ParametersJSON Schema
NameRequiredDescriptionDefault
board_typeNo
project_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 the full burden of behavioral disclosure. 'List' implies a read-only, non-destructive operation, but nothing is said about pagination, result limits, permissions, or default filtering behavior, which matters for a listing endpoint that may return many boards.

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

Conciseness4/5

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

Front-loaded with the action, followed by a compact args block with no wasted prose. The docstring-style formatting is slightly redundant with the schema but remains readable and short.

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?

An output schema exists, so return values need not be described, and both parameters are documented. However, with no annotations and no usage context, the definition leaves gaps around safety profile and result scoping that would help an agent call it correctly.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it does: it explains that project_key filters by project and enumerates the valid board_type values (scrum, kanban, simple) that the schema does not restrict. It stops short of stating whether the filters are combinable or what happens if omitted.

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

Purpose4/5

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

States a specific verb and resource ('List Jira boards'), which unambiguously identifies the operation. There is no sibling tool for boards, so no differentiation is needed, but the description does not note scope limits such as which boards are returned.

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 never says when to use this tool versus alternatives, nor does it mention prerequisites such as needing a project key to narrow results. Usage is only implied by the filter parameters.

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

get_commentsB

Get comments on an issue.

Args: issue_key: Issue key (e.g., "KAN-123") max_results: Maximum number of comments (default 50)

ParametersJSON Schema
NameRequiredDescriptionDefault
issue_keyYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 the full behavioral burden. 'Get' implies a read, but the description does not confirm read-only safety, describe ordering of results, or explain what happens when there are more comments than max_results (pagination/truncation).

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

Conciseness4/5

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

Front-loaded with the core purpose in the first sentence, followed by a compact per-parameter block. Slightly list-like but no wasted prose.

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?

An output schema exists, so return-value explanation is not required, and both parameters are covered. However, for a list-style tool with a max_results cap, the absence of any pagination/ordering note leaves an operational gap.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it does document both parameters: issue_key with a concrete format example ('KAN-123') and max_results with its default (50). It stops short of explaining pagination or how max_results interacts with the total set.

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

Purpose4/5

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

States a specific verb and resource ('Get comments on an issue'), which clearly distinguishes it from the sibling add_comment (write) and get_issue (issue body). It does not explicitly name those siblings, but the read/comment scope is unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this versus alternatives such as add_comment or get_issue. The description gives no context about prerequisites, permissions, or when fetching comments is appropriate.

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

get_createmetaA

Get issue creation metadata for a project (available issue types and fields).

Args: project_key: Project key (e.g., "KAN")

ParametersJSON Schema
NameRequiredDescriptionDefault
project_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It does disclose the returneed content (issue types and fields), but says nothing about permissions, project visibility, or whether invalid project keys error out. For a read tool with an output schema, this is thin but not misleading.

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

Conciseness4/5

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

One-sentence purpose followed by an Args block, front-loaded and compact. The Args section is slightly overkill for a single parameter but does not waste much space.

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?

With an output schema present, return values needn't be explained, and the description correctly focuses on purpose and the parameter. But it omits any usage context relative to the create_* siblings and offers no behavioral notes for a tool with zero annotations. Adequate but with 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?

Schema description coverage is 0%, so the description must compensate and it does partially: it names project_key and provides an example value ("KAN"). It does not clarify case sensitivity, format constraints, or resolution of invalid keys, but the example is meaningful added meaning over the bare schema.

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

Purpose4/5

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

States a specific verb ('Get') and resource ('issue creation metadata'), and parenthetically enumerates the payload (available issue types and fields). It is distinguishable from siblings like get_project or create_issue, though it doesn't explicitly name an alternative.

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

Usage Guidelines3/5

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

Usage is implied: it's a pre-creation lookup tool that pairs with create_issue. However, the description never states when to call it, and never points to create_issues_bulk or create_issue as the follow-up. No when-not-to-use guidance.

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

get_current_userA

Get the currently authenticated Jira user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. The verb 'Get' plus 'currently authenticated' implies a safe, session-scoped read with no side effects and no parameters, but it does not state behavior for unauthenticated sessions or error cases. Adequate but thin for a no-annotation tool.

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

Conciseness5/5

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

A single front-loaded sentence with zero wasted words, appropriately sized for a trivial no-argument read tool.

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

Completeness4/5

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

The tool is trivial (no params) and an output schema exists, so the description needn't explain return values. The only minor gap is the absence of any note about authentication failure behavior, which keeps it from a 5.

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 takes zero parameters and the input schema confirms an empty object, so there is nothing parameter-related for the description to explain. Baseline 4 applies.

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

Purpose4/5

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

The description states a specific verb (Get) and resource (currently authenticated Jira user), which is precise enough to distinguish from sibling search_users. It does not explicitly name a sibling, but the 'currently authenticated' qualifier naturally separates it from user-search tools.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives like search_users, nor any preconditions. Usage is only implied by the name and description.

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

get_issueB

Get detailed information about a Jira issue.

Args: issue_key: Issue key (e.g., "KAN-123") fields: Comma-separated field names to include (default: all) expand: Comma-separated expansions (e.g., "changelog,transitions")

ParametersJSON Schema
NameRequiredDescriptionDefault
expandNo
fieldsNo
issue_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations present, the description carries the full behavioral burden, yet it only implies a read via the word 'Get'. It says nothing about authentication/permission requirements, behavior when the issue is missing, or rate limits. The presence of an output schema covers return values, but the operational profile is undisclosed.

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

Conciseness4/5

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

The purpose is front-loaded in a single sentence, with parameter notes kept tight and example-driven. There is no redundancy or filler, though the args block is mildly list-like rather than integrated prose.

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 three-parameter read tool with an output schema, the essentials are present: purpose plus all parameter semantics. The gaps are behavioral (permissions, error/empty cases) and routing versus search_issues, which keeps it at minimum-viable completeness.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must document parameters, and it does: issue_key with a concrete example format, fields as a comma-separated list defaulting to all, and expand with sample values. It stops short of enumerating valid field/expansion values, but the added meaning is substantial.

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

Purpose4/5

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

The description uses a specific verb and resource ('Get detailed information about a Jira issue'), which clearly separates it from list-oriented siblings like search_issues. It does not, however, explicitly name any sibling or contrast its scope with them.

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

Usage Guidelines3/5

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

Usage is only implied: fetching one issue by key is obviously a single-record lookup versus search_issues, but the description never states when to prefer this tool or what happens with an invalid key. No exclusions or prerequisites are given.

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

get_projectB

Get detailed information about a project.

Args: project_key: Project key (e.g., "KAN")

ParametersJSON Schema
NameRequiredDescriptionDefault
project_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 the full behavioral burden. It says nothing about read-only nature, permissions, or error behavior; only the presence of an output schema keeps this from being a total gap.

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

Conciseness4/5

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

Purpose is front-loaded in one clean sentence. The 'Args:' block is slightly verbose for a single parameter but is harmless and not padded.

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?

A simple single-parameter read tool with an output schema already defining return values, so the description is close to sufficient. The main missing piece is usage context versus the many sibling tools.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it does: it names the parameter and supplies a concrete example format ("KAN"). It does not clarify key-vs-id-vs-name alternatives, but the added meaning is real.

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

Purpose4/5

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

States a specific verb (Get) and resource (project) with scope 'detailed information'. Sibling get_projects (plural) exists, and the singular form implies single-project retrieval, but the description never explicitly distinguishes the two.

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 when-to-use guidance, no alternatives named, no prerequisites. An agent must infer that this is for fetching one project versus get_projects for listing.

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

get_projectsB

List all accessible Jira projects.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/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. It correctly discloses the access-scoping behavior ('accessible'), implying results are permission-filtered. However, it says nothing about pagination, ordering, or result size limits, which are relevant for a list endpoint that can return unbounded results.

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

Conciseness5/5

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

A single eight-word sentence with no filler. Front-loaded with the verb and resource; 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?

An output schema exists, so return value explanation is unnecessary. The description covers the basic intent, but for a list endpoint with no annotations it omits practical concerns like pagination and default ordering that an agent may need. It is minimally viable rather than complete.

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 takes zero parameters, so there is no parameter semantics to describe. Baseline is 4 for a parameterless tool. The description adds nothing here but has nothing to add.

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

Purpose4/5

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

States a specific verb (List) and resource (Jira projects) with a scope qualifier (accessible). This distinguishes it from get_project (singular) in the sibling list, though it doesn't explicitly say 'as opposed to get_project'.

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 when-to-use guidance, no mention of alternatives like get_project for a single project, no indication of when the returned list is appropriate versus searching. The agent must infer usage entirely from the name.

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

get_sprintsB

Get sprints for a board.

Args: board_id: Board ID state: Filter by state: "future", "active", "closed" (default: all)

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNo
board_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden, and it discloses nothing beyond the basic fetch. It does not mention permissions, pagination, ordering, or whether the board must exist; an agent learns only that this is a read of sprints, which it could already infer from the name.

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

Conciseness4/5

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

The purpose sentence is front-loaded and the parameter list is terse with no filler. The 'Args:' block is slightly mechanical but every line carries information the schema lacks.

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?

An output schema exists, so return values need not be described, and the state filter is well covered. The gap is behavioral: with no annotations and no mention of permissions, pagination, or error conditions, the definition is adequate but not complete for an unannotated read tool.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it does the important half: it enumerates the valid state values ('future', 'active', 'closed') and the all-states default, which the schema does not encode as an enum. The board_id entry is only a restatement ('Board ID'), leaving a small gap.

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

Purpose4/5

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

States a specific verb (Get) and resource (sprints) scoped to a board, so the agent knows exactly what it returns. It does not, however, differentiate itself from any sibling such as get_boards or move_to_sprint, which is the only thing keeping it from 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 Guidelines3/5

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

The only usage guidance is embedded in the state parameter note listing the accepted filter values and that the default returns all states. There is no explicit when-to-use or when-not-to-use guidance relative to other retrieval or sprint-mutation tools.

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

get_transitionsB

Get available status transitions for an issue.

Args: issue_key: Issue key (e.g., "KAN-123")

ParametersJSON Schema
NameRequiredDescriptionDefault
issue_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. 'Get' implies a read-only operation, but the description does not state side effects, permissions, or whether it mutates state, leaving key behavioral traits unstated.

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 very concise and front-loaded: the purpose appears first, followed by a compact args section. Every sentence earns its place with no wasted text.

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

Completeness3/5

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

For a simple read tool with one parameter and an output schema, the core function is covered. However, the lack of annotations means the description should ideally disclose more behavioral context such as read-only safety or when to call it.

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

Parameters4/5

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

Schema description coverage is 0% for the single required parameter. The description compensates by naming issue_key and providing a concrete example format ('KAN-123'), which adds useful meaning beyond the bare schema.

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

Purpose4/5

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

The description clearly states the verb and resource: retrieves available status transitions for an issue. It distinguishes the read operation from the sibling transition_issue, which likely performs a transition, but does not explicitly name or contrast with 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?

There is no guidance on when to use this tool versus transition_issue, bulk_transition, or get_issue. The implied use case is to discover transitions before applying one, but this is not stated.

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

get_versionsB

Get all versions/releases for a project.

Args: project_key: Project key (e.g., "KAN")

ParametersJSON Schema
NameRequiredDescriptionDefault
project_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. 'Get' implies a read-only operation, but it does not disclose any behavioral traits such as pagination, permission requirements, or whether all versions are returned in one call. Minimal transparency beyond the basic 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?

Two sentences (plus a standard Args block) with the purpose front-loaded. No redundant or filler language; every part serves to state the operation and clarify the parameter.

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 low complexity (one required parameter) and the existence of an output schema, the description covers the essential purpose and parameter meaning. However, the absence of annotations and any usage guidance leaves some gaps, though the tool is simple enough that these are minor.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It does by naming the parameter 'project_key' and giving an example format ('KAN'), which adds meaning beyond the schema's bare string type. However, it doesn't elaborate on format constraints beyond the example.

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

Purpose4/5

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

States a specific verb 'Get' and resource 'all versions/releases for a project', making its function unambiguous. It does not explicitly differentiate itself from siblings like create_version or update_version, but the read-only verb naturally separates it.

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?

Provides no guidance on when to use this tool versus alternatives such as get_project or create_version. The only hint is the required project_key parameter, which implies usage for a specific project, but no explicit context or exclusions are given.

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

move_to_sprintC

Move issues to a sprint.

Args: sprint_id: Target sprint ID issue_keys: List of issue keys to move (e.g., ["KAN-1", "KAN-2"])

ParametersJSON Schema
NameRequiredDescriptionDefault
sprint_idYes
issue_keysYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 behavioral burden. 'Move issues to a sprint' implies a mutation, but the description does not disclose permissions needed, reversibility, error behavior, or side effects. It adds only the basic action, leaving key behavioral traits undocumented.

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

Conciseness4/5

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

The description is short, front-loaded with the action, and structured with an Args section. It contains no filler, though the parameter documentation is minimal rather than maximally informative.

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, the description is missing important context: when to use it, how sprint_id should be obtained, and what happens on success or failure. The output schema covers return values, but the invocation context remains thin.

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 0%, so the description must compensate. It documents both parameters: 'sprint_id: Target sprint ID' and 'issue_keys: List of issue keys to move (e.g., ["KAN-1", "KAN-2"])'. The example for issue_keys is useful, but sprint_id format and constraints remain underspecified.

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

Purpose4/5

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

The description states a specific verb and resource: 'Move issues to a sprint.' It is clear what the tool does. However, it does not differentiate itself from adjacent mutation tools such as update_issue, transition_issue, or bulk_transition, so it misses the highest bar for 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 gives no guidance about when to use this tool versus alternatives like transition_issue, bulk_transition, or update_issue. It does not state prerequisites, such as whether the sprint must be active or whether issues must belong to the same board/project.

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

search_issuesB

Search Jira issues using JQL.

Args: jql: JQL query string (e.g., 'project = KAN AND status = "To Do"') fields: Comma-separated fields to return max_results: Maximum results (1-100, default 50) next_page_token: Token for next page (from previous response)

ParametersJSON Schema
NameRequiredDescriptionDefault
jqlYes
fieldsNosummary,status,assignee,priority,issuetype,parent,fixVersions,labels
max_resultsNo
next_page_tokenNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose that the operation is paginated via next_page_token 'from previous response', which is useful context beyond structured data, but it says nothing about auth requirements, rate limits, or whether JQL errors fail the whole call.

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

Conciseness4/5

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

The purpose sentence is front-loaded and zero-waste. The Args block restates parameter names already in the schema, but it adds examples and constraints, so the redundancy is minimal.

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?

An output schema exists, so return values need not be described. However, for a paginated search tool with no annotations, the description omits how to know when more pages remain and gives no hint about JQL validation behavior, leaving an agent to guess at the retrieval loop.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it largely does: it gives a concrete JQL example, explains fields as comma-separated, states the max_results range and default (matching the schema default of 50), and explains the pagination token's origin.

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

Purpose4/5

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

States a specific verb and resource ('Search Jira issues') plus the query language (JQL), so the operation is unambiguous. It does not distinguish itself from siblings like get_issue or get_projects, but the JQL-based search scope is clear from the text alone.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance and no mention of alternatives such as get_issue for a single known key. Usage is only inferable from the verb 'search'; nothing tells the agent when this tool is the wrong choice.

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

search_usersC

Search for Jira users by name or email.

Args: query: Search string (name, email, or display name) max_results: Maximum results (default 25)

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose whether this is a read-only lookup, whether it requires admin scopes, whether it searches across all users or only visible ones, or any result limits beyond max_results. 'Search' implies a safe read but that is never stated.

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

Conciseness4/5

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

The purpose is front-loaded in one sentence, with the parameter list after it. It is appropriately short for a two-parameter lookup, though the 'Args:' block adds little beyond the schema.

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?

An output schema exists, so return values need not be explained, and this is a simple two-parameter tool. Still, with zero annotation coverage and no usage context, the definition leaves an agent without enough to decide when this tool is the right call.

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 0%, so the description must compensate; it does describe both parameters (query accepts name/email/display name, max_results defaults to 25). However, this only restates what the schema already conveys via types and defaults, adding no syntax, matching-behavior, or pagination detail beyond it.

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

Purpose4/5

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

The description states a specific verb and resource ('Search for Jira users') and narrows the matching fields to name or email, which clearly separates it from siblings like search_issues or get_current_user. It is not a tautology, though it does not explicitly call out the sibling it substitutes for.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus alternatives such as get_current_user (which likely returns the authenticated user) or a project-member lookup. The only guidance is implicit in the field list, so an agent must infer the selection criteria itself.

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

transition_issueB

Transition an issue to a new status.

Args: issue_key: Issue key (e.g., "KAN-123") transition_name: Transition name (e.g., "In Progress", "Done"). Used to auto-find ID. transition_id: Transition ID (takes priority over name) comment: Optional comment to add during transition resolution: Optional resolution name (e.g., "Done") for closing transitions

ParametersJSON Schema
NameRequiredDescriptionDefault
commentNo
issue_keyYes
resolutionNo
transition_idNo
transition_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/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. It usefully discloses two behavioral rules (transition_id takes priority over transition_name; resolution is for closing transitions), but says nothing about what happens on an invalid/illegal transition, permission requirements, or whether the change is reversible.

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

Conciseness5/5

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

The purpose is front-loaded in one sentence, followed by a tight per-argument list; every line earns its place, especially given the 0% schema description coverage that makes the arg list necessary.

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?

An output schema exists, so return values need not be explained. The gaps are procedural: no mention of needing valid transitions for the issue's current status, no error-behavior note, and no reference to get_transitions for discovery.

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

Parameters4/5

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

Schema coverage is 0%, so the description must compensate, and it documents all five parameters including examples ('KAN-123', 'In Progress', 'Done') and the priority rule for transition_id. It does not supply the actual allowed values/enums for transition_name or resolution, which remain undiscoverable from the schema.

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

Purpose4/5

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

States a specific verb+resource ('Transition an issue to a new status'), which is clear and actionable. It does not, however, differentiate itself from siblings like update_issue or bulk_transition, so the agent must infer the boundary from the name alone.

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 when-to-use or when-not-to-use guidance is given. It never says to call get_transitions first to discover valid names/IDs, nor when to prefer this over update_issue or bulk_transition. The only routing hint is the implicit 'transition_name auto-finds ID'.

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

update_issueA

Update an existing Jira issue. Only provided fields are changed.

Args: issue_key: Issue key (e.g., "KAN-123") summary: New summary description: New description (plain text, supports Jira wiki markup for rich text) assignee_id: New assignee account ID priority: New priority name labels: Replace all labels fix_versions: Replace all fix versions (list of version names) components: Replace all components start_date: New start date (YYYY-MM-DD) due_date: New due date (YYYY-MM-DD) parent: New parent issue key story_points: New story point estimate custom_fields: Dict of custom field IDs to values

ParametersJSON Schema
NameRequiredDescriptionDefault
labelsNo
parentNo
summaryNo
due_dateNo
priorityNo
issue_keyYes
componentsNo
start_dateNo
assignee_idNo
descriptionNo
fix_versionsNo
story_pointsNo
custom_fieldsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden and does disclose valuable behavior: partial-update semantics and which fields are replaced wholesale ('Replace all labels', 'Replace all fix versions', 'Replace all components'). However, it omits permissions/auth requirements, whether passing null clears a field, error behavior for invalid keys, and other operational traits.

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

Conciseness4/5

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

The core purpose and the key partial-update rule are front-loaded in two short sentences, followed by an organized per-parameter list. The Arg list largely mirrors parameter names but consistently adds value, so little is wasted.

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 13-parameter mutation tool with no annotations and an output schema that handles returns, the description covers purpose, per-parameter meaning, and replacement semantics well. Remaining gaps are null-handling behavior, permission requirements, and validation/error expectations.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate, and it does: all 13 parameters are documented with meaning beyond their types, including format hints (issue key example 'KAN-123', dates as YYYY-MM-DD), rich-text markup support for description, and explicit replace-vs-set semantics for list fields. Only custom_fields is left somewhat thin ('dict of custom field IDs to values').

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

Purpose4/5

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

States a specific verb and resource ('Update an existing Jira issue') and adds the key semantic that only provided fields are changed, which distinguishes it as a partial update. It does not differentiate from siblings like transition_issue or bulk_transition, which also modify issues, so it falls short of 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?

There is no when-to-use guidance, no exclusions, and no mention of alternatives such as transition_issue for status changes or create_issue for new items. The agent must infer everything from the tool name and the sibling list.

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

update_versionB

Update an existing version/release.

Args: version_id: Version ID (get from get_versions) name: New version name description: New description start_date: New start date (YYYY-MM-DD) release_date: New release date (YYYY-MM-DD) released: Mark as released archived: Mark as archived

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
archivedNo
releasedNo
start_dateNo
version_idYes
descriptionNo
release_dateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description bears the full behavioral burden. It conveys the field-level intent of each argument but omits auth requirements, whether nulls mean "leave unchanged" (partial vs full update semantics), and whether setting archived/released triggers side effects. For a 7-parameter mutation this is a meaningful gap.

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

Conciseness4/5

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

A one-line purpose followed by an args list – front-loaded and free of filler. The format is functional rather than elegant, but nothing is wasted.

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?

An output schema exists, so return values need no explanation, and the argument list is complete. However, for an unannotated mutation the description should at least signal partial-update behavior and permission expectations to be fully sufficient.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must carry the parameters, and it documents all seven, including the YYYY-MM-DD format for start_date and release_date and the source of version_id. It doesn't clarify the null-default semantics, which is the main remaining ambiguity.

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

Purpose4/5

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

States a specific verb and resource ("Update an existing version/release") that an agent can map cleanly against siblings create_version, delete_version, and get_versions. It does not explicitly contrast itself with those siblings, so it stops short of 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 only routing hint is "get from get_versions" for the version_id, which helps with one prerequisite but says nothing about when to update versus create or delete a version. No conditions, exclusions, or permissions are mentioned.

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 updatesv0.3.2
    • First observedadd_comment
    • First observedadd_worklog
    • First observedbulk_transition
    • First observedcreate_issue
    • First observedcreate_issues_bulk
    • First observedcreate_version
    • First observeddelete_issue
    • First observeddelete_issue_link
    • First observeddelete_version
    • First observedget_boards
    • First observedget_comments
    • First observedget_createmeta
    • First observedget_current_user
    • First observedget_issue
    • First observedget_issue_links
    • First observedget_project
    • First observedget_projects
    • First observedget_sprints
    • First observedget_transitions
    • First observedget_versions
    • First observedlink_issues
    • First observedmove_to_sprint
    • First observedsearch_issues
    • First observedsearch_users
    • First observedtransition_issue
    • First observedupdate_issue
    • First observedupdate_version

TDQS

B3.3/5.0

Scored across 27 tools

Disambiguation5/5

Each tool targets a distinct Jira resource or action; single vs. bulk variants (create_issue vs. create_issues_bulk, transition_issue vs. bulk_transition) are clearly distinguished by descriptions. No meaningful overlap would cause misselection.

Naming Consistency4/5

Names are consistently snake_case and mostly follow a verb_noun pattern. Minor deviations exist: bulk_transition uses a prefix while create_issues_bulk uses a suffix, and get_createmeta compresses a Jira term, but the set remains predictable.

Tool Count3/5

27 tools is heavy for an MCP server and exceeds the typical 3-15 range. However, the breadth is aligned with an 'extended' Jira surface covering issues, versions, sprints, comments, worklogs, projects, and boards, so it is over-scoped rather than redundant.

Completeness4/5

Core issue lifecycle is well covered (CRUD, search, transitions, bulk operations, links), and versions have full CRUD. Gaps remain in secondary areas: comments only support add/get, worklogs only support add, and sprints/boards lack full lifecycle management.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers