Jira Admin MCP Server
This server provides 78 tools for administering a Jira Cloud site, covering behind-the-scenes configuration and bulk operations with built-in safety mechanisms.
Issue Management: Search (JQL with pagination), create, update, delete, transition, assign, link, and bulk create issues (up to 50 at once); fetch changelogs and createmeta.
Comments: List comments on issues and add new ones (plain text auto-converted to Atlassian Document Format).
Users & Groups: Search users by email or display name, get user details including group memberships, list/create/delete groups, and add/remove group members.
Projects: List and get project details, manage roles (add/remove users and groups), versions/releases, features, notification schemes, and project categories.
Permission Schemes: List, inspect, and modify permission schemes by adding grants; assign schemes to projects.
Custom Fields: Search fields, manage contexts (create, update, delete, scope to projects/issue types), and manage select field options (add, update, reorder).
JQL Filters: Create, retrieve, update, and delete saved filters; change ownership and manage share permissions (including an admin owner-swap workaround for filters you don't own).
Workflows: Search workflows, manage workflow schemes, map issue types to workflows, and safely apply changes via draft and publish mechanisms.
Issue Types & Screens: List issue types, issue type schemes, screens, screen fields, and screen schemes.
Bulk Operations: Bulk edit fields and bulk transition multiple issues simultaneously.
Async Task Management: Poll status of and cancel long-running asynchronous Jira tasks.
Safety Features: Dry-run mode (
JIRA_DRY_RUN=true) simulates writes without touching live data; shared-scheme detection warns before editing schemes used by multiple projects; actionable error messages include suggested next steps.
Provides tools to administer a Jira Cloud site, including managing custom fields, permission schemes, workflows, screens, issue-type schemes, groups, project roles, saved filters, and bulk operations.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Jira Admin MCP ServerAdd alice@example.com to the jira-developers group."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Jira Admin MCP Server
A Model Context Protocol server that gives an AI assistant (Claude, Cursor, VS Code, or any MCP client) 78 purpose-built tools to administer a Jira Cloud site - not just read and create tickets, but the behind-the-scenes admin work: custom fields and where they appear, permission schemes, workflows, screens, issue-type schemes, groups, project roles, saved filters, and bulk operations.
Most Jira MCP servers cover everyday usage. This one covers administration, and adds safety rails (dry-run mode, shared-scheme detection, identity checks before group changes, actionable errors) so an agent can run real admin jobs end to end.
Built with FastMCP. Talks to the Jira Cloud REST API v3 with your own Atlassian email + API token.
Quick start
Two prerequisites, both one-time and quick:
An Atlassian API token (it inherits your Jira permissions, so use an account with the access you need): create one here.
uvinstalled (one line; it manages Python and dependencies for you, no virtualenv).
Then add the server with the one-click button or one-line command for your tool, and fill in your three JIRA_* values.
Cursor
Click the button, confirm in Cursor, then open ~/.cursor/mcp.json (or Cursor Settings -> MCP) and set JIRA_BASE_URL, JIRA_EMAIL, and JIRA_API_TOKEN on the jira-admin entry.
Claude Code
One command (swap in your own three values):
claude mcp add --scope user \
--env JIRA_BASE_URL=https://your-company.atlassian.net \
--env JIRA_EMAIL=you@your-company.com \
--env JIRA_API_TOKEN=your_api_token_here \
--transport stdio jira-admin \
-- uvx jira-admin-mcp--scope user makes it available in every project; drop it to add only to the current one. Check with claude mcp list.
VS Code
After installing, set your JIRA_* values on the jira-admin entry in .vscode/mcp.json (or your user mcp.json).
Any other MCP client (manual)
Add this block to the client's MCP config:
{
"mcpServers": {
"jira-admin": {
"command": "uvx",
"args": ["jira-admin-mcp"],
"env": {
"JIRA_BASE_URL": "https://your-company.atlassian.net",
"JIRA_EMAIL": "you@your-company.com",
"JIRA_API_TOKEN": "your_api_token_here"
}
}
}
}Want the unreleased
maininstead of the PyPI release? Replace"args": ["jira-admin-mcp"]with"args": ["--from", "git+https://github.com/its-qusai-nasr/jira-admin-mcp", "jira-mcp"].
Config file locations: Claude Desktop claude_desktop_config.json (macOS ~/Library/Application Support/Claude/, Windows %APPDATA%\Claude\); **Cursor** ~/.cursor/mcp.json; **VS Code** .vscode/mcp.json (note: VS Code uses a top-level "servers" key instead of "mcpServers"). Restart the client after editing; the server appears as jira-admin with all 78 tools.
Local clone (for development)
git clone https://github.com/its-qusai-nasr/jira-admin-mcp
cd jira-admin-mcp
uv sync # creates .venv and installs deps from uv.lock
cp .env.example .env # then edit .env with your Jira credentials
uv run jira-mcp # starts the server over stdioRelated MCP server: Jira Cloud MCP Server
Configuration
The server reads its settings from environment variables (passed via the env block above, or from a .env file in the project directory when you run a local clone).
Variable | Required | Description |
| yes | Your Jira Cloud base URL, e.g. |
| yes | The Atlassian account email that owns the API token |
| yes | API token from https://id.atlassian.com/manage-profile/security/api-tokens |
| no |
|
Tip: set
JIRA_DRY_RUN=truefor your first session. Every write tool will return a{"dry_run": true, "would_call": ...}preview so you can watch what the agent intends to do before letting it touch live data.
What you can ask for
Once connected, the assistant can do things like:
"Add
alice@example.comto thejira-developersgroup.""Scope the
Teamcustom field to projects ENG and OPS only, for the Story and Bug issue types.""Which projects share permission scheme 10789? I want to edit it without breaking the others."
"Move every
Internal Taskin project OPS to theTasktype, then transition the open ones to In Progress.""Create a saved filter for unresolved bugs assigned to me and share it with the developers group."
"Show me the change history for PROJ-123 and tell me who reopened it."
Tools (78 total)
Tool | Description |
| Search issues using JQL with pagination |
| Get single issue by key (summary or full detail) |
| Create issue with project, type, fields |
| Update fields on existing issue |
| Transition to new status (auto-resolves transition ID) |
| Assign/unassign issue |
| List available workflow transitions |
| Get required fields for creating issues |
| Delete an issue permanently |
| Create a link between two issues |
| Get audit history (who changed what) |
| Bulk create up to 50 issues |
Tool | Description |
| List comments on an issue |
| Add comment (plain text auto-converted to ADF) |
Tool | Description |
| Search by email or display name |
| Get user details + groups by account ID |
Tool | Description |
| List groups with member counts |
| Get members of a group |
| Add user to group |
| Remove user from group |
| Create a new group |
| Delete a group |
Tool | Description |
| List projects filtered by name/key |
| Get project details + issue types |
| All statuses grouped by issue type |
| Roles with actors (users/groups) |
| Add/remove actors from project roles |
| List versions/releases in a project |
| Create a new version/release |
| Get enabled/disabled features |
| Get notification scheme |
| List project categories |
Tool | Description |
| List all permission schemes |
| Get scheme with all grants |
| Add permission grant to scheme |
| Assign scheme to project |
Tool | Description |
| Search fields by name, find field IDs |
| Get contexts for a custom field |
| Get options for select/dropdown fields |
| Add, update, or reorder field options |
| Create a context, optionally scoped to projects/issue types |
| Rename or re-describe a context |
| Delete a context and its options |
| Scope a context to specific projects |
| Unscope projects from a context |
| Restrict a context to specific issue types |
| Remove issue types from a context |
| Audit which projects each context covers |
Tool | Description |
| Search saved JQL filters |
| Create a new saved JQL filter |
| Get a filter with owner + share permissions |
| Update name/JQL/description |
| Delete a filter permanently |
| Change a filter's owner |
| List a filter's share permissions |
| Add a share (requires you own the filter) |
| Remove a share permission |
| Add a share to a filter you don't own (owner-swap workaround) |
Tool | Description |
| List available link types (Blocks, Relates, etc.) |
| Search statuses across the instance |
Tool | Description |
| Search workflows by name |
| List workflow schemes |
| Issue type to workflow mappings |
| List projects using a scheme (shared-scheme safety check) |
| Map an issue type to a workflow |
| Remove an issue type's workflow mapping |
| Create an editable draft of a scheme |
| Publish a scheme draft, making it live |
Tool | Description |
| List issue types (optionally by project) |
| List issue type schemes |
| Issue types in a scheme |
| List screens |
| Get fields on screen tabs |
| List screen schemes |
Tool | Description |
| Bulk edit fields on multiple issues |
| Bulk transition issues to new status |
| Poll a generic task or bulk-queue task by ID |
| Request cancellation of a generic async task |
Design notes
Consolidate, don't wrap - 78 workflow-oriented tools rather than a 1:1 mirror of every REST endpoint.
Dry run -
JIRA_DRY_RUN=truemakes all write ops return simulated payloads.Response filtering - strips
self,_links,avatarUrls, and similar noise so the agent sees only useful fields.Detail levels - read tools take
detail="summary"(default) ordetail="full".ADF auto-wrap - plain text in comments/descriptions is auto-converted to Atlassian Document Format.
Transition resolution -
jira_issues_transitionresolves a status name to its transition ID automatically.Actionable errors - error messages say what went wrong and what to try next.
Token-auth scope - webhook endpoints (
/webhook) are intentionally not wrapped; Atlassian restricts them to Connect / OAuth 2.0 apps that token auth cannot satisfy.
Testing locally
Inspect and call tools interactively with the MCP Inspector:
npx @modelcontextprotocol/inspector uvx --from . jira-mcpRun the unit tests (no network calls):
uv sync --extra dev
uv run pytest
uv run ruff check .Security
Never commit credentials.
.envis gitignored; use theenvblock in your client config or your OS secret manager.Least privilege. The API token acts as your Jira user. Use an account scoped to only what you need, especially for write/admin tools.
Start in dry-run.
JIRA_DRY_RUN=truelets you review every intended write before going live.See the official MCP security best practices.
Contributing
Issues and PRs welcome. See CONTRIBUTING.md.
License
Available Tools
78 toolsjira_bulk_edit_issuesADestructive
Bulk edit fields on multiple Jira issues.
All issues get the same field values set. For batch operations like bulk-setting labels, priorities, or custom fields. Returns: {success, updated_count} or dry_run info.
| Name | Required | Description | Default |
|---|---|---|---|
| issue_keys | Yes | List of issue keys, e.g. ['PROJ-1', 'PROJ-2', 'PROJ-3'] | |
| fields | Yes | Fields to set on all issues. Same format as jira_issues_update. | |
| send_notification | No | Send email notifications. Default: False |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, and description confirms 'Bulk edit fields' as a write operation. Adds context about 'All issues get the same field values set' and mentions dry_run info. No contradiction, but lacks details on permissions or overwriting behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: two sentences plus return format. Front-loaded with purpose. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With output schema present, return values are documented. Description mentions dry_run. Covers core functionality amid many sibling tools. Sufficient for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and description adds value by referencing 'Same format as jira_issues_update' for fields parameter, aiding reuse. Issue_keys example is clear. send_notification default is stated. Provides meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Bulk edit fields on multiple Jira issues' with specific action and resource. It distinguishes from sibling tools like jira_issues_update (single) and jira_bulk_transition_issues (bulk transition) by focusing on field editing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides guidance on when to use: 'For batch operations like bulk-setting labels, priorities, or custom fields.' Implicitly contrasts with single issue update. Missing explicit when-not-to-use instructions, but context from siblings fills the gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_bulk_transition_issuesADestructive
Bulk transition multiple issues to a new status.
All issues must have an available transition to the target status. Automatically resolves transition IDs. Returns: {success, transitioned_count, target_status}
| Name | Required | Description | Default |
|---|---|---|---|
| issue_keys | Yes | List of issue keys to transition | |
| target_status | Yes | Target status name, e.g. 'Done', 'In Progress'. All issues must have this transition available. | |
| send_notification | No | Send email notifications. Default: False |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true (mutation). Description adds that it automates transition ID resolution, returns {success, transitioned_count, target_status}, and imposes a precondition. It doesn't cover partial failure behavior or the effect of send_notification, but overall provides additional useful context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is three short sentences, each conveying essential information: action, precondition, and behavior/return. No redundant words, front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description covers purpose, precondition, automation, and return structure. Output schema exists to further detail returns. Minor omission: no mention of send_notification behavior, but that is documented in the parameter schema. Overall sufficient for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. Description adds that 'All issues must have an available transition to the target status', clarifying the constraint on target_status, and explains automatic resolution of transition IDs, which is not obvious from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Bulk transition multiple issues to a new status', specifying verb (transition), resource (issues), and scope (multiple). It distinguishes from the sibling tool jira_issues_transition which handles single issues.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides a clear precondition (all issues must have available transition to target status) and states that transition IDs are resolved automatically. However, it does not explicitly advise when to use this tool versus alternatives or mention exclusion scenarios (e.g., mixed transitions).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_comments_addA
Add a comment to a Jira issue.
Accepts plain text (auto-converted) or raw ADF JSON. Returns: {id, issue_key, author, created}
| Name | Required | Description | Default |
|---|---|---|---|
| issue_key | Yes | Issue key, e.g. 'PROJ-123' | |
| body | Yes | Comment text. Plain text is auto-converted to ADF format. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, consistent with the write operation. Description adds behavioral details: auto-conversion of plain text to ADF JSON and return fields. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences and a return line, no fluff. Purpose is front-loaded, and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool, the description covers input formats, output fields, and purpose. Output schema is implied, and schema parameters are well-documented. No missing critical information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. Description reinforces the body parameter's auto-conversion but adds no new information beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Add a comment to a Jira issue' with a specific verb and resource, distinguishing it from siblings like jira_comments_list (list comments) and jira_issues_create (create issues). Also mentions accepted formats, adding clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for adding comments, but does not explicitly contrast with alternatives like jira_comments_list for reading. However, the verb 'add' and the context of writing make it clear when to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_comments_listARead-only
List comments on a Jira issue.
Returns comments with author, body, and timestamps. Sorted newest-first by default. Returns: {issue_key, total, comments: [{id, author, body, created, updated}]}
| Name | Required | Description | Default |
|---|---|---|---|
| issue_key | Yes | Issue key, e.g. 'PROJ-123' | |
| max_results | No | Maximum comments to return. Default: 25 | |
| order_by | No | 'created' (oldest first) or '-created' (newest first). Default: '-created' | -created |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already have readOnlyHint=true, indicating safe read. The description adds that results are sorted newest-first by default and specifies the return format, providing context beyond annotations. There is no contradictory or missing behavioral information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: two short sentences and a return format string. Every sentence adds value, no fluff, and the purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the presence of an output schema (as shown), and good annotations, the description covers purpose, return structure, and defaults. It is complete for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters with descriptions. The description only repeats the default sorting (order_by), adding no new meaning beyond the schema. Hence baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists comments on a Jira issue, specifies return fields (issue_key, total, comments with id, author, body, created, updated), and mentions default sorting. This distinguishes it from sibling tools like jira_comments_add (adds comments) and others.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing comments on a specific issue but does not explicitly provide when to use this tool vs alternatives, nor does it give exclusions or prerequisites. It lacks explicit usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_fields_add_context_issuetypesB
Restrict a custom field context to specific issue types.
Returns: {success, field_id, context_id, issue_type_ids}
| Name | Required | Description | Default |
|---|---|---|---|
| field_id | Yes | Custom field ID | |
| context_id | Yes | Context ID | |
| issue_type_ids | Yes | Issue type IDs to add to the context |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only indicate readOnlyHint=false, so the description carries the burden. It states the return format but does not clarify whether 'restrict' is additive or overwriting (the parameter description says 'add', creating slight ambiguity). No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no fluff. Every sentence is necessary and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of an output schema (mentioned), the description is fairly complete. It could benefit from mentioning prerequisites or effects, but overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions, which are basic. No additional constraints or examples are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Restrict a custom field context to specific issue types' uses a specific verb and resource, clearly indicating the action. It distinguishes from the sibling 'jira_fields_remove_context_issuetypes' which does the opposite, but does not explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance provided on when to use this tool versus alternatives (e.g., needing a context already created, or when to use other field context tools). The description lacks explicit when/when-not and prerequisite information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_fields_assign_context_projectsA
Scope a custom field context to specific projects.
Note: assigning projects converts a global context into a project-scoped one. Returns: {success, field_id, context_id, project_ids}
| Name | Required | Description | Default |
|---|---|---|---|
| field_id | Yes | Custom field ID | |
| context_id | Yes | Context ID | |
| project_ids | Yes | Project IDs to scope the context to |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that assigning projects converts a global context into a project-scoped one, adding value beyond the readOnlyHint=false annotation. However, it does not clarify whether assignments are additive or replace existing ones, leaving some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences plus a return format note. Every sentence adds value, and the main action is front-loaded. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 well-documented parameters and an output schema described, the description covers the core behavior and return values. It lacks information on error handling or idempotency but is sufficient for a simple assignment operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents each parameter (field_id, context_id, project_ids). The description does not add extra semantics or formatting details beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Scope a custom field context to specific projects.' It uses a specific verb ('scope') and resource ('custom field context to projects'), distinguishing it from siblings like jira_fields_remove_context_projects and jira_fields_add_context_issuetypes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for assigning projects to a context but does not explicitly state when to use it versus alternatives like jira_fields_remove_context_projects or jira_fields_create_context. It lacks prerequisites or exclusions, earning a mid-range score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_fields_create_contextA
Create a new context for a custom field, optionally scoped on creation.
A context determines which projects/issue types a field appears in, and owns its own set of options. projectIds/issueTypeIds are applied in the same create call. Returns: {success, field_id, context: {id, name, project_ids, issue_type_ids}}
| Name | Required | Description | Default |
|---|---|---|---|
| field_id | Yes | Custom field ID, e.g. 'customfield_10001' | |
| name | Yes | Context name | |
| description | No | Context description | |
| project_ids | No | Project IDs to scope the context to. Omit for a global context. | |
| issue_type_ids | No | Issue type IDs to restrict the context to. Omit for all issue types. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description correctly indicates a write operation (consistent with readOnlyHint=false) and explicitly describes the return structure {success, field_id, context: {id, name, project_ids, issue_type_ids}}, adding value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (3 sentences) and well-structured: it states the primary action, explains the concept, and lists the return value. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the parameter count (5) and the presence of an output schema (implied by the return description), the description sufficiently covers the tool's behavior. It could explicitly mention mutation, but annotations already cover that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters are documented in the schema (100% coverage), and the description adds meaningful context by explaining the role of project/issue type IDs in scoping, which enhances understanding beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and the resource ('context for a custom field'), and it distinguishes from sibling tools like jira_fields_update_context or jira_fields_delete_context by specifying it is for creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that contexts determine field visibility and can be scoped with project/issue type IDs in the same call. While it doesn't explicitly exclude alternatives, the context is clear enough for selection among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_fields_delete_contextADestructive
Delete a custom field context permanently.
Deletes the context and all of its options. Confirm first. Returns: {success, field_id, context_id}
| Name | Required | Description | Default |
|---|---|---|---|
| field_id | Yes | Custom field ID | |
| context_id | Yes | Context ID to delete |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds context beyond annotations: 'permanently', 'deletes the context and all of its options', and return object shape. Annotations already indicate destructiveness, but description gives specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: two sentences plus return format. Every word is necessary. Front-loaded with the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete tool with two params and output schema, description covers permanence, impact on options, warning, and return shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description does not add extra parameter details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Delete' and the resource 'custom field context', distinguishing it from sibling tools like create, get, and update contexts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides minimal guidance: 'Confirm first.' Implies cautious use but doesn't explicitly state when to use vs alternatives or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_fields_get_contextsARead-only
Get contexts for a custom field.
Contexts determine which projects/issue types the field appears in. Returns: {field_id, contexts: [{id, name, description, is_global_context, is_any_issue_type}]}
| Name | Required | Description | Default |
|---|---|---|---|
| field_id | Yes | Custom field ID, e.g. 'customfield_10001' |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true. The description adds behavioral context by explaining that contexts determine project/issue type appearance and provides the return format structure, which is helpful beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences plus a structured return format. Every sentence adds value without redundancy, achieving maximum efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, read-only, output schema included), the description fully covers purpose, behavior, and return structure. No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides a detailed description for field_id ('Custom field ID, e.g. 'customfield_10001''). The description adds no additional parameter meaning, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get contexts for a custom field.' It explains what contexts are and differentiates itself from sibling tools like jira_fields_create_context or jira_fields_delete_context by focusing on retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for reading contexts but does not explicitly state when to use this tool over alternatives or provide any exclusions. No guidance on prerequisites or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_fields_get_optionsARead-only
Get options for a custom field in a specific context.
For select/dropdown fields, returns the available option values. Returns: {field_id, context_id, options: [{id, value, disabled}]}
| Name | Required | Description | Default |
|---|---|---|---|
| field_id | Yes | Custom field ID, e.g. 'customfield_10001' | |
| context_id | Yes | Context ID from jira_fields_get_contexts |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description adds value by specifying the return structure (field_id, context_id, options with id/value/disabled) and limiting scope to select/dropdown fields. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences front-loaded with purpose and immediately followed by field-type specificity and return format. No wasted words; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with two well-documented parameters, annotations, and an explicit return structure, the description covers purpose, usage context, and output format adequately. No gaps identified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds useful context: for field_id, it gives an example ('customfield_10001'); for context_id, it explains it comes from jira_fields_get_contexts. This enriches understanding beyond bare schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Get options' for a specific resource 'custom field in a specific context'. It distinguishes from siblings like jira_fields_manage_options (modifies options) and jira_fields_get_contexts (gets contexts) by specifying that this tool retrieves option values for select/dropdown fields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description tells when to use ('For select/dropdown fields') and mentions a prerequisite (context_id from jira_fields_get_contexts). It does not explicitly list exclusions or alternative tools for modification, but the context is clear enough for an agent to infer appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_fields_get_project_mappingARead-only
Show which projects each context of a custom field is scoped to.
Use this to audit field scope, e.g. confirm a custom field's context is correctly scoped to the intended projects. Returns: {field_id, mappings: [{context_id, project_id, is_global_context}]}
| Name | Required | Description | Default |
|---|---|---|---|
| field_id | Yes | Custom field ID | |
| context_ids | No | Context IDs to inspect. Omit to inspect all contexts of the field. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description adds no new safety info. It does describe the return format, but the agent already knows the tool is read-only. No side effects or permissions are discussed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action, and every word serves a purpose. No redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the readOnlyHint annotation, output schema, and simple parameters, the description fully covers what the tool does, when to use it, and what it returns. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds extra meaning: it explains that omitting context_ids inspects all contexts. This is more than what the schema provides, enhancing understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool shows project-context mapping for a custom field, using a specific verb and resource. It distinguishes from siblings like jira_fields_get_contexts (which gets contexts themselves) and jira_fields_assign_context_projects (which modifies mappings).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states a use case: 'audit field scope' with an example. However, it does not explicitly mention when not to use it or provide alternative tools for different needs, leaving some guidance implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_fields_manage_optionsA
Add, update, or reorder options for a custom field.
Use jira_fields_get_options first to see existing options and their IDs. Returns: {success, field_id, context_id, action}
| Name | Required | Description | Default |
|---|---|---|---|
| field_id | Yes | Custom field ID | |
| context_id | Yes | Context ID | |
| action | Yes | 'add' to add new options, 'update' to modify existing, 'reorder' to change order | |
| options | Yes | For 'add': [{'value': 'New Option'}]. For 'update': [{'id': '10001', 'value': 'Updated'}]. For 'reorder': [{'id': '10001', 'position': 'First'}] |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the actions (add, update, reorder) and the return format {success, field_id, context_id, action}, which is consistent with the readOnlyHint annotation (false). It does not go into deeper side effects but is adequate for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, using two sentences plus a return format line. It is front-loaded with the main purpose and includes a prerequisite step, making it efficiently informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of a comprehensive input schema and an output schema, the description provides sufficient context for a straightforward custom field options management tool. The return format is summarized, and the prerequisite step is included.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, meaning each parameter is described in detail within the input schema. The tool description does not add additional meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool's purpose: to add, update, or reorder options for a custom field. It clearly distinguishes from sibling tools like jira_fields_get_options by suggesting its use first.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage guideline: use jira_fields_get_options first to see existing options. This helps the agent know when and how to use the tool. However, it does not explicitly state when NOT to use it (e.g., for deleting options), which prevents a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_fields_remove_context_issuetypesADestructive
Remove issue types from a custom field context.
Returns: {success, field_id, context_id, removed_issue_type_ids}
| Name | Required | Description | Default |
|---|---|---|---|
| field_id | Yes | Custom field ID | |
| context_id | Yes | Context ID | |
| issue_type_ids | Yes | Issue type IDs to remove from the context |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate destructiveHint=true, which the description supports but does not expand upon. The return structure clarifies success, field_id, context_id, removed_issue_type_ids, adding value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first for purpose, second for return structure. No extra words, front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With output schema present, the return structure is covered. However, missing details on permissions, side effects on existing issues, or error conditions slightly reduce completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions. The description does not add additional parameter meaning beyond the schema, staying at baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action and resource: 'Remove issue types from a custom field context.' This distinguishes it from sibling tools like add or create context operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., delete context, add issue types). No prerequisites or context about relation to other field management tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_fields_remove_context_projectsADestructive
Remove projects from a custom field context's scope.
Returns: {success, field_id, context_id, removed_project_ids}
| Name | Required | Description | Default |
|---|---|---|---|
| field_id | Yes | Custom field ID | |
| context_id | Yes | Context ID | |
| project_ids | Yes | Project IDs to unscope from the context |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already set destructiveHint=true, and the description confirms the destructive nature ('Remove projects'). It also specifies the return format. However, it does not elaborate on the consequences of removal (e.g., impact on field visibility in those projects) beyond what the annotation implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with only two sentences, no redundancy, and immediate clarity. The return object is listed for quick reference. Every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple removal tool with three parameters, the description covers the core operation and return format. It lacks mention of prerequisites (e.g., context must exist) or error conditions, but the presence of an output schema reduces the need for extensive detail. Overall, it is mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for all parameters. The description adds no additional meaning beyond the schema; it repeats the operation but does not explain parameter relationships or provide examples. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Remove projects') and the resource ('from a custom field context's scope'). It distinguishes the tool from siblings like jira_fields_assign_context_projects (which adds projects) and jira_fields_remove_context_issuetypes (which removes issue types).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates when to use the tool (to remove projects from a context), but it does not provide explicit guidance on when not to use it or recommend alternative tools (e.g., using jira_fields_assign_context_projects to add projects). No prerequisites or scenarios are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_fields_searchARead-only
Search for Jira fields (custom and system).
Use this to find field IDs (customfield_XXXXX) for custom fields by name before referencing them in other tools. Returns: {total, fields: [{id, name, custom, schema_type}]}
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Search by field name, e.g. 'Story Points', 'Team'. Leave empty to list all. | |
| field_type | No | 'custom' for custom fields only, 'system' for system fields, or None for all | |
| max_results | No | Max results. Default: 50 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description aligns by stating 'search'. It adds value beyond annotations by detailing the return structure ({total, fields: [...]}) and search options (by name, list all, filter by type). No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two efficient sentences plus a return format line. Each sentence earns its place: purpose, usage guidance, and output shape. No wasted words, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All three parameters are documented, and the return shape is described. The output schema exists, so the explanation is sufficient. Could mention pagination or result limit behavior, but overall complete for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter already described. The description partly repeats (e.g., 'Search by field name') but adds minimal extra meaning (e.g., 'Leave empty to list all' is implicit in optionality). Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search' and the resource 'Jira fields (custom and system)'. It explains the purpose: to find field IDs for future reference. This distinguishes it from sibling tools that mutate fields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this to find field IDs... before referencing them in other tools', providing clear context for when to use. It implies a discovery role before mutations, but doesn't explicitly list when not to use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_fields_update_contextA
Rename or re-describe a custom field context.
Returns: {success, field_id, context_id}
| Name | Required | Description | Default |
|---|---|---|---|
| field_id | Yes | Custom field ID | |
| context_id | Yes | Context ID from jira_fields_get_contexts | |
| name | No | New context name | |
| description | No | New context description |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false, meaning mutation. Description adds that it renames/re-describes and returns {success, field_id, context_id}, but does not disclose side effects (e.g., whether previous values are overwritten, validation of IDs). No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states action, second states return format. No extraneous information, front-loaded purpose, efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With output schema and full parameter coverage, the description is mostly complete. Could mention prerequisites for context_id, but overall sufficient for a simple update tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for each parameter. The description adds little beyond 'Rename or re-describe' which maps to name and description params. No extra semantic or constraints provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Rename or re-describe a custom field context', specifying the verb (update) and resource (field context). This distinguishes it from sibling tools like jira_fields_create_context (create) and jira_fields_delete_context (delete).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. While the purpose is clear, the description does not mention prerequisites (e.g., obtaining context_id from jira_fields_get_contexts) or indicate that it should be used instead of create or delete tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_filters_change_ownerB
Change the owner of a saved JQL filter.
Returns: {success, filter_id, new_owner_account_id}
| Name | Required | Description | Default |
|---|---|---|---|
| filter_id | Yes | Filter ID | |
| new_owner_account_id | Yes | Account ID of the new owner |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals that the tool is a write operation (consistent with readOnlyHint: false) and outlines the return shape. However, it does not disclose important behavioral traits such as side effects (e.g., impact on shares), error conditions, or authorization requirements. For a mutation tool with sparse annotations, more context is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with only two sentences, one stating the purpose and one listing the return fields. It is front-loaded and free of unnecessary words, though slightly terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple mutation tool with two required parameters and an output schema, the description provides the essential purpose and return format. However, it lacks contextual information such as error handling, permission requirements, or common use cases, leaving the agent with some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes both parameters (filter_id and new_owner_account_id) with 100% coverage. The description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool changes the owner of a saved JQL filter. It uses a specific verb ('Change') and resource ('saved JQL filter'), distinguishing it from sibling tools like jira_filters_create or jira_filters_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool vs alternatives. It does not mention prerequisites, required permissions, or scenarios where changing owner is appropriate. Sibling tools include jira_filters_update which might also change owner, but no differentiation is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_filters_createA
Create a new saved JQL filter.
The filter is owned by the authenticated user. Share permissions can be managed separately via the Jira UI. Returns: {id, name, jql}
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Filter name | |
| jql | Yes | JQL query string for the filter | |
| description | No | Filter description | |
| favourite | No | Add to favourites. Default: False |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a write operation (readOnlyHint: false). The description adds that the filter is owned by the authenticated user and that share permissions are managed separately, providing useful context beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences front-load the purpose, followed by ownership and return details. Every sentence adds value with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 4 well-documented parameters and listed return fields, the description is mostly complete. It could note potential conflicts (e.g., duplicate name) but that is not critical for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all parameters with descriptions (100% coverage). The description adds the return structure ({id, name, jql}), which helps the agent understand expected output, though not strictly parameter-related.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with 'Create a new saved JQL filter,' clearly stating the action (create) and resource (JQL filter). This effectively distinguishes it from sibling tools like jira_filters_search or jira_filters_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating a personal filter but does not explicitly state when to use this tool vs alternatives like jira_filters_search or jira_filters_update. No direct comparison or exclusion criteria provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_filters_deleteADestructive
Delete a saved JQL filter permanently.
Boards and dashboards backed by this filter will break. Confirm first. Returns: {success, filter_id}
| Name | Required | Description | Default |
|---|---|---|---|
| filter_id | Yes | Filter ID to delete |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true, but the description adds important context: boards/dashboards backed by the filter will break. This goes beyond the annotation by specifying consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus return format, no wasted words. Front-loaded with the action, very concise and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete with one parameter and an output schema, the description covers the essential purpose and consequences. Could mention authorization requirements, but not necessary for a clear tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameter is fully documented in the schema. The description does not add extra meaning beyond the schema's description of 'filter_id'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it deletes a saved JQL filter permanently. The verb 'delete' and resource 'saved JQL filter' are specific, distinguishing it from sibling tools like create, update, share, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description advises to 'Confirm first' and notes that boards/dashboards backed by the filter will break, providing context for careful use. However, it lacks explicit alternative tool comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_filters_getARead-only
Get a single saved JQL filter by ID.
Returns: {id, name, jql, description, owner, owner_account_id, favourite_count, share_permissions}
| Name | Required | Description | Default |
|---|---|---|---|
| filter_id | Yes | Filter ID, e.g. '10000' |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds specific return fields (id, name, jql, owner, etc.), providing useful context about what data is retrieved. No destructive or hidden behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states the purpose, second lists return fields. No unnecessary words, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get tool with one parameter, the description provides purpose and return fields. Context signals indicate an output schema exists, but the description still lists fields, adding value. Slight gap: no mention of error cases or pagination, but not critical for a single-get.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for filter_id ('Filter ID, e.g. '10000''). The description does not add additional meaning beyond the schema, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets a single saved JQL filter by ID, using a specific verb and resource. It distinguishes well from sibling tools like jira_filters_search which lists filters, and jira_filters_create which creates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you have a filter ID and need its details, but does not explicitly state when to use vs alternatives or provide exclusions. No guidance on when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_filters_searchARead-only
Search for saved JQL filters.
Returns: {total, filters: [{id, name, jql, owner, favourite_count}]}
| Name | Required | Description | Default |
|---|---|---|---|
| filter_name | No | Filter by name substring | |
| owner_account_id | No | Filter by owner's account ID | |
| max_results | No | Max results. Default: 25 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds no further behavioral traits. It is consistent with annotations but does not disclose additional details like pagination or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one line of purpose plus return format. Every sentence is informative with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema is described in the description, and the tool is simple with few parameters, the description is sufficiently complete. It covers the return structure and filtering capabilities.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description does not add meaning beyond what is in the schema, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search' and the resource 'saved JQL filters', and distinguishes from sibling tools like jira_filters_get (retrieve a specific filter) and jira_filters_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as jira_filters_get or jira_issues_search. The description does not specify context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_filters_updateA
Update an existing saved JQL filter's name, JQL, or description.
Jira requires name + jql on every update, so unspecified fields are pre-fetched and re-sent unchanged. Returns: {success, id, name, jql}
| Name | Required | Description | Default |
|---|---|---|---|
| filter_id | Yes | Filter ID | |
| name | No | New filter name | |
| jql | No | New JQL query string | |
| description | No | New description |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description reveals the pre-fetching and re-sending behavior for unspecified fields, which is beyond the annotations (readOnlyHint=false confirms mutation). Adds important context about the tool's internal handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise, well-structured sentences. First sentence states purpose, second adds critical behavioral detail. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has 4 parameters (1 required) and output schema exists. Description covers main behavior and pre-fetching. Could mention need for valid filter_id, but overall complete for an update tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but description adds value by explaining that name and jql are required by Jira even though they are optional in the schema, and that they are auto-filled. This clarifies the actual parameter behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Update' and the resource 'existing saved JQL filter', and lists the updatable attributes (name, JQL, description). Clearly distinguishes from sibling tools like jira_filters_create, jira_filters_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly explains that Jira requires name + jql on every update, and that unspecified fields are pre-fetched. This guides the agent on how to use partial updates. Does not explicitly mention alternatives but context from sibling names is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_groups_add_userA
Add a user to a Jira group.
Always verify user identity first with jira_users_search. Returns: {success, group_name, account_id}
| Name | Required | Description | Default |
|---|---|---|---|
| group_name | Yes | Exact group name, e.g. 'jira-developers', 'jira-administrators' | |
| account_id | Yes | User's account ID from jira_users_search |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description confirms a write operation (matching annotations) and specifies the return format. It does not disclose potential error conditions (e.g., duplicate membership, non-existent group) or side effects. The return object is described, adding some value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each serving a clear purpose: action, prerequisite, return format. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of both input schema and annotations, the description covers the essential action and return format. However, it lacks error handling notes or permission requirements, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100% with clear parameter descriptions. The description reinforces using account_id from jira_users_search, but adds little new semantic meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add a user to a Jira group') and resource. While it distinguishes from sibling group tools implicitly by its name and action, it does not explicitly compare with other group operations like creating or removing groups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a useful prerequisite: 'Always verify user identity first with jira_users_search.' However, it offers no guidance on when not to use this tool (e.g., if the group does not exist) or alternatives like jira_groups_create or jira_groups_remove_user.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_groups_createA
Create a new Jira group.
Group names should follow convention: lowercase with hyphens. Returns: {name, group_id}
| Name | Required | Description | Default |
|---|---|---|---|
| group_name | Yes | Name for the new group. Convention: lowercase with hyphens, e.g. 'jira-developers', 'new-team' |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already set readOnlyHint: false, so the description's 'Create' aligns. It adds naming convention and return format but does not disclose side effects, permissions, or other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—two sentences plus a return line—with no wasted words. It efficiently conveys purpose, convention, and output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple creation tool with one parameter and existing annotations/output schema, the description covers the essential aspects: action, naming convention, and return format. No critical gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description repeats the naming convention already in the schema. However, it adds the return structure {name, group_id}, which is not in the schema, providing valuable output semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new Jira group,' which is a specific verb+resource. It is distinct from sibling tools like jira_groups_add_user and jira_groups_delete, which focus on different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when creating a group but does not explicitly state when to use this tool versus alternatives. No guidance on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_groups_deleteADestructive
Delete a Jira group permanently.
This removes the group and all its membership associations. Users are NOT deleted: only the group itself. Returns: {success, group_name}
| Name | Required | Description | Default |
|---|---|---|---|
| group_name | Yes | Exact name of the group to delete |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond the annotations: it states that membership associations are removed, users are not deleted, and the return format is given. This is valuable as annotations only indicate destructiveHint=true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each adding value: purpose, effect on memberships, user impact, and return value. It is concise and front-loaded with the key action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter, an output schema, and annotations, the description covers the essential behavioral aspects: what is deleted, what is not, and the return. It is complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with the parameter 'group_name' described as 'Exact name of the group to delete.' The description does not add additional meaning beyond what the schema provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Delete a Jira group permanently.' It specifies the verb 'delete' and resource 'Jira group', and distinguishes from sibling tools like jira_groups_create and jira_groups_add_user.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that users are NOT deleted, only the group. This provides context for when to use the tool. However, it does not explicitly state when not to use it or list alternatives, which would make it a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_groups_get_membersARead-only
Get members of a Jira group.
Returns: {group_name, total, members: [{account_id, display_name, email, active}]}
| Name | Required | Description | Default |
|---|---|---|---|
| group_name | Yes | Exact group name, e.g. 'jira-developers', 'jira-administrators' | |
| max_results | No | Max members to return. Default: 50 | |
| start_at | No | Pagination offset. Default: 0 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint=true), the description adds the return format: group_name, total, members with fields. This discloses behavioral traits such as the structure of the response. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: two sentences, front-loaded with the purpose, and includes essential return details. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool, the description covers purpose and return format. It does not explicitly explain pagination parameters (max_results, start_at) but those are in the schema. Output schema exists, so the return structure description adds value. Lacks minor contextual details but is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add further meaning beyond what the schema already provides for parameters (group_name, max_results, start_at). It adequately covers parameter semantics through the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get members of a Jira group'. It specifies the resource (Jira group) and action (get members). It is easily distinguishable from sibling tools like jira_groups_list (list groups) and jira_groups_add_user (add user), and includes the return structure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for a read operation to get group members, but does not explicitly state when to use this tool versus alternatives like jira_groups_list. It lacks exclusion or contextual guidance, but the purpose is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_groups_listARead-only
List Jira groups, optionally filtered by name.
Common groups: jira-administrators, jira-developers, jira-project-leads. Returns: {total, groups: [{name, group_id, member_count}]}
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Filter groups by name substring. Leave empty to list all. | |
| max_results | No | Max results. Default: 50 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description aligns with the readOnlyHint annotation, indicating a read-only operation. It also provides the return format {total, groups: [{name, group_id, member_count}]}, giving full transparency on behavior without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three sentences: purpose, common groups example, and return format. Every sentence adds value, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fully covers the tool's functionality for its simplicity. It explains optional filtering and return structure, and the output schema is implied. No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value by explaining the return format and listing common groups, which aids in parameter usage beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List Jira groups, optionally filtered by name.' The verb 'list' and resource 'groups' are specific, and it distinguishes from sibling group tools that perform other actions (add, create, delete, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions optional name filtering and lists common group names, providing context for usage. However, it does not explicitly state when to choose this tool over other group-related siblings, though the action is distinct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_groups_remove_userADestructive
Remove a user from a Jira group.
Verify user identity first. Removing from permission-granting groups may lock the user out. Returns: {success, group_name, account_id}
| Name | Required | Description | Default |
|---|---|---|---|
| group_name | Yes | Exact group name | |
| account_id | Yes | User's account ID |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already set destructiveHint=true. The description adds specific consequences (user lockout) and specifies return format {success, group_name, account_id}, providing additional behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences plus a return specification. All information is essential and front-loaded (purpose first). No extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 2 required parameters and no nested objects, the description covers purpose, safety considerations, and return value. An output schema exists, but the description's return summary is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions. The description does not add further meaning to the parameters beyond what the schema provides, so baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource: 'Remove a user from a Jira group'. This clearly distinguishes it from siblings like jira_groups_add_user (add) and jira_groups_get_members (read).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit warnings: 'Verify user identity first' and 'Removing from permission-granting groups may lock the user out.' This guides safe usage, though it does not explicitly contrast with alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_issue_link_types_listARead-only
List all available issue link types.
Shows link types like Blocks, Cloners, Duplicate, Relates, etc. Each type has an inward and outward label. Use the 'name' field with jira_issues_link to create links. Returns: {total, link_types: [{id, name, inward, outward}]}
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true. The description adds context about the return structure ({total, link_types: [{id, name, inward, outward}]}), which is useful beyond the annotation. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using only three sentences with no wasted words. It is front-loaded with the main action, then examples, then usage guidance, and finally the return format. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and a simple output, the description fully covers what the tool does and what it returns. The inclusion of the return schema explicitly in the description ensures complete contextual understanding without needing to inspect the (non-existent) output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the description adds no parameter-specific information. Schema coverage is 100% (trivially), and baseline for zero-param tools is 4. No further detail needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'List all available issue link types.' and provides concrete examples (Blocks, Cloners, etc.), making the purpose immediately clear. It distinguishes itself from sibling jira_issues_link by mentioning that the name field is used to create links, so no confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises to use the 'name' field with jira_issues_link to create links, giving a clear practical use case. It lacks explicit when-not-to-use scenarios, but the guidance is strong enough for typical usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_issues_assignAIdempotent
Assign a Jira issue to a user, or unassign it.
Use jira_users_search first to look up the account ID. Returns: {success, issue_key, assignee_account_id}
| Name | Required | Description | Default |
|---|---|---|---|
| issue_key | Yes | Issue key, e.g. 'PROJ-123' | |
| assignee_account_id | No | Account ID from jira_users_search. Pass null to unassign. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotentHint=true and readOnlyHint=false, which align with assignment being a safe, write operation. Description adds that it returns {success, issue_key, assignee_account_id}, clarifying the output beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus a return line. Front-loaded with purpose, no wasted words. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With output schema present, description explains what's returned. It covers assignment and unassignment, mentions prerequisite tool, and provides sufficient context for an AI agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already documents both parameters fully (100% coverage). Description adds context for assignee_account_id: 'Account ID from jira_users_search. Pass null to unassign,' which aids proper usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool assigns or unassigns a Jira issue. The verb 'assign' combined with resource 'Jira issue' is specific and distinguishes it from siblings like update or transition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use jira_users_search first to get the account ID, which is a clear prerequisite. Also notes that passing null unassigns. Could mention when not to use but it's adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_issues_bulk_createA
Create multiple Jira issues in one call (up to 50).
Each issue in the list needs at minimum: project_key, issue_type, summary. Optional: description, assignee_account_id, priority, labels, custom_fields. Returns: {created: [{key, id}], errors: [...]}
| Name | Required | Description | Default |
|---|---|---|---|
| issues | Yes | List of issue payloads. Each: {'project_key': 'PROJ', 'issue_type': 'Task', 'summary': '...', 'description': '...', 'custom_fields': {...}}. Max 50. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description discloses creation action and return format with {created: [{key, id}], errors: [...]}. Annotations already indicate non-readOnly and non-idempotent, so description adds useful context about response structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences front-load purpose and limit, with no unnecessary words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (single parameter with nested object) and presence of an output schema, the description covers required fields, optional fields, limits, and return format comprehensively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% but description adds meaning by listing required and optional fields (project_key, issue_type, summary, etc.) within each issue, clarifying the structure of the issues array.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'create' and resource 'multiple Jira issues', with a limit of 50. It distinguishes from sibling tools like jira_issues_create (single issue) and bulk edit/transition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Specifies maximum count (up to 50) and required minimum fields (project_key, issue_type, summary). Implies use when creating multiple issues at once, but does not explicitly state when to avoid or list alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_issues_createA
Create a new Jira issue.
Use jira_issues_get_createmeta first to check required fields for the project/issue type. Custom fields must use their field ID (customfield_XXXXX). Returns: {key, id} of the created issue.
| Name | Required | Description | Default |
|---|---|---|---|
| project_key | Yes | Project key, e.g. 'PROJ', 'OPS' | |
| issue_type | Yes | Issue type name, e.g. 'Task', 'Bug', 'Story' | |
| summary | Yes | Issue summary/title | |
| description | No | Plain text or ADF JSON string. Plain text is auto-converted. | |
| assignee_account_id | No | Assignee's account ID from jira_users_search | |
| priority | No | Priority: 'Highest', 'High', 'Medium', 'Low', 'Lowest' | |
| labels | No | List of label strings | |
| custom_fields | No | Dict of custom field ID to value, e.g. {'customfield_10001': {'value': 'High'}} |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=false) are minimal; description adds that custom fields must use field IDs and returns {key, id}. Does not disclose potential side effects beyond creation (e.g., notifications). Adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five sentences, each essential: action, pre-requisite, custom field note, return value. No redundancy, front-loaded purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 parameters with 3 required and no nested objects, description covers purpose, parameter nuance, and return shape. Pre-requisite for createmeta is mentioned. Missing output schema details but return is described in text.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. Description adds value by clarifying custom fields must use field IDs ('customfield_XXXXX') and stating return returns {key, id}, which is not in schema. Exceeds baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new Jira issue.' It specifies verb (create) and resource (Jira issue), and distinguishes from siblings like jira_issues_bulk_create and jira_issues_update by focusing on single issue creation with pre-validation guidance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to use jira_issues_get_createmeta first to check required fields for the project/issue type. This provides clear when-to-use guidance. Lacks explicit when-not-to-use but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_issues_deleteADestructive
Delete a Jira issue permanently.
This is irreversible. Use with caution: confirm with an admin before deleting. Set delete_subtasks=True to also delete all subtasks. Returns: {success, issue_key}
| Name | Required | Description | Default |
|---|---|---|---|
| issue_key | Yes | Issue key, e.g. 'PROJ-123' | |
| delete_subtasks | No | Also delete subtasks. Default: False |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already include destructiveHint=true, but the description adds that deletion is irreversible and recommends admin confirmation. It also describes the return format ({success, issue_key}). This adds useful context beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each essential. Front-loaded with the core action. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description covers key behavioral traits (permanence, caution, subtask behavior, return format). Could mention that issue must exist or error handling, but sufficient for a destructive operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both parameters described). The description briefly adds context for delete_subtasks ('Also delete all subtasks') and mentions the default, but this largely mirrors the schema. Baseline 3 is appropriate as the description adds minimal extra semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Delete a Jira issue permanently'. The verb 'Delete' and resource 'Jira issue' are specific, and 'permanently' distinguishes it from soft-delete or other operations. It is distinct from sibling tools like update, transition, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes cautionary guidance: 'Use with caution: confirm with an admin before deleting.' However, it does not explicitly state when to use this tool versus alternatives (e.g., when a user might want to close rather than delete). No when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_issues_getARead-only
Get a single Jira issue by key.
Use this when you know the exact issue key. Not this for searching: use jira_issues_search with JQL instead. Returns: {key, summary, status, issue_type, assignee, reporter, priority, project, ...}
| Name | Required | Description | Default |
|---|---|---|---|
| issue_key | Yes | Issue key, e.g. 'PROJ-123', 'OPS-100' | |
| detail | No | 'summary' (key fields) or 'full' (all fields including custom fields and description) | summary |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description is consistent. It adds value by outlining the return format and the detail parameter's effect, but does not cover error behavior or auth specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise, front-loaded sentences: purpose, usage guideline, and return fields. No redundant or vague content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, output schema existence, and readOnlyHint, the description covers the essential details. Missing information about error handling is minor for this type.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage, so baseline is 3. The description does not add additional semantics beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Get a single Jira issue by key' with a specific verb and resource, and explicitly distinguishes itself from the search sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when to use ('when you know the exact issue key') and when not to use ('Not this for searching: use jira_issues_search with JQL instead'), offering a clear alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_issues_get_changelogARead-only
Get the changelog (audit history) of an issue.
Shows who changed what fields and when. Useful for auditing. Returns: {issue_key, total, changes: [{created, author, items: [{field, from, to}]}]}
| Name | Required | Description | Default |
|---|---|---|---|
| issue_key | Yes | Issue key, e.g. 'PROJ-123' | |
| max_results | No | Max changelog entries. Default: 25 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description reinforces this with 'Get the changelog'. It adds context by explaining what the changelog shows (who, what, when) and the return format. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences: first states purpose, second explains utility, third gives return format. No unnecessary words, front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for a read-only tool with an output schema. It covers what the tool does, when to use it, and what the response looks like. No gaps given the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with descriptions for both parameters (issue_key and max_results) already in the schema. The tool description does not add additional meaning beyond what the schema provides, so baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'changelog (audit history) of an issue'. It distinguishes from siblings like jira_issues_get, jira_issues_update, etc., as it specifically targets changelog/audit history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly mentions 'Useful for auditing', providing clear context for when to use. It does not mention alternatives or exclusions, but the tool is distinct among siblings so it's not necessary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_issues_get_createmetaARead-only
Get metadata for creating issues in a project.
Without issue_type_id: returns available issue types. With issue_type_id: returns required and optional fields for that type. Use this before jira_issues_create to understand required fields. Returns: {project_key, issue_types: [...]} or {project_key, issue_type, required_fields: [...], optional_fields: [...]}
| Name | Required | Description | Default |
|---|---|---|---|
| project_key | Yes | Project key, e.g. 'PROJ' | |
| issue_type_id | No | Issue type ID for field details. Omit to list available issue types. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool is a read-only metadata retrieval (consistent with readOnlyHint annotation). It outlines the different behaviors based on the optional parameter and gives a return format overview. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: six lines covering purpose, two modes, usage hint, and return format. Every sentence adds essential information, no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a metadata retrieval tool with an output schema, the description provides all necessary context: what it does, how to use it (with prerequisite guidance), and the shape of the response. It is complete and self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has full coverage (100%) with descriptions for both parameters. The description adds value by explaining the functional impact of including/omitting issue_type_id and the resulting return structure, going beyond the schema's property descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: getting metadata for creating issues. It distinguishes two modes based on whether issue_type_id is provided, and explicitly mentions using it before jira_issues_create. This is specific and differentiates from sibling tools like jira_issues_create or jira_issues_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: 'Use this before jira_issues_create to understand required fields.' It explains the two usage modes (with/without issue_type_id). While it doesn't explicitly state when not to use, the context is sufficient for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_issues_get_transitionsARead-only
Get available workflow transitions for an issue.
Use this before jira_issues_transition to see valid target statuses. Returns: {issue_key, transitions: [{id, name, to_status}]}
| Name | Required | Description | Default |
|---|---|---|---|
| issue_key | Yes | Issue key, e.g. 'PROJ-123' |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the agent knows it's a safe read. The description further discloses the return format, providing full transparency with no contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences: purpose, usage guidance, return format. Every sentence adds value with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter, the description fully covers purpose, usage context, and return structure. It is complete given the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with issue_key already well-described. Description does not add additional parameter semantics beyond what the schema provides, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets available workflow transitions for an issue, with specific verb 'Get' and resource 'workflow transitions for an issue'. It differentiates from sibling jira_issues_transition by indicating it should be used before that tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this before jira_issues_transition to see valid target statuses.' This provides clear when-to-use guidance and names the alternative sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_issues_linkA
Create a link between two Jira issues.
Example: link_issues('PROJ-1', 'PROJ-2', 'Blocks') means PROJ-2 blocks PROJ-1. Use jira_issue_link_types_list to see available link types with inward/outward labels. Returns: {success, inward_issue, outward_issue, link_type}
| Name | Required | Description | Default |
|---|---|---|---|
| inward_issue_key | Yes | The issue that is the target (inward side), e.g. 'PROJ-1' | |
| outward_issue_key | Yes | The issue that is the source (outward side), e.g. 'PROJ-2' | |
| link_type | Yes | Link type name: 'Blocks', 'Cloners', 'Duplicate', 'Relates', etc. Use jira_issue_link_types_list to see all. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=false. Description adds return format but omits details on permissions, idempotency, or behavior on duplicate links.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus return description, no unnecessary words, front-loaded with action and example.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, direction, link type selection, and return format. Does not address error handling or permissions, but sufficient for a simple mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters with descriptions (100% coverage). The example adds clarity on inward/outward direction, adding value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it creates a link between two Jira issues, with an example showing direction. Distinguishes from siblings as no other tool links issues.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly directs to jira_issue_link_types_list for available link types, aiding correct parameter selection. Does not specify when to avoid using it, but context is straightforward.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_issues_searchARead-only
Search Jira issues using JQL.
Use this to find issues matching criteria. Prefer targeted JQL over broad searches. Not this when you know the exact issue key: use jira_issues_get instead. Returns: {total, issues: [{key, summary, status, assignee, ...}], next_page_token}
| Name | Required | Description | Default |
|---|---|---|---|
| jql_query | Yes | JQL query string. Examples: 'project = PROJ AND status = "To Do"', 'assignee = currentUser() ORDER BY updated DESC' | |
| fields | No | Comma-separated field names to return. Default: key,summary,status,assignee,priority,issuetype,updated | key,summary,status,assignee,priority,issuetype,updated |
| max_results | No | Maximum results (1-100). Default: 50 | |
| next_page_token | No | Token for next page, from a previous search call | |
| detail | No | 'summary' (default) or 'full' (includes description, custom fields) | summary |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint: true, and the description adds behavioral context: the return structure ({total, issues, next_page_token}) and the detail parameter for summary vs full. No contradictions. Could mention pagination behavior explicitly, but sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose, then guidelines, then return info. No extraneous text. Highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (JQL search, pagination, parameter details), the description covers all necessary aspects: purpose, usage guidance, return format, and parameter details through schema. Complete for an effective search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed parameter descriptions. The description adds overall context and return structure, but doesn't add significant new meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Search Jira issues using JQL,' clearly stating the verb (search) and resource (Jira issues), and the use of JQL distinguishes it from other tools. Sibling tools like jira_issues_get (exact key) further differentiate it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises to 'Prefer targeted JQL over broad searches' and notes 'Not this when you know the exact issue key: use jira_issues_get instead,' providing clear when-to-use and when-not with an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_issues_transitionA
Transition a Jira issue to a new status.
Automatically resolves the transition ID from the target status name. Use jira_issues_get_transitions to see available transitions first. Returns: {success, issue_key, from_status, to_status}
| Name | Required | Description | Default |
|---|---|---|---|
| issue_key | Yes | Issue key, e.g. 'PROJ-123' | |
| target_status | Yes | Target status name, e.g. 'In Progress', 'Done'. Case-insensitive. | |
| comment | No | Optional comment to add with the transition | |
| resolution | No | Resolution name if transitioning to Done, e.g. 'Done', 'Won't Do' |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral traits: automatic resolution of transition ID from target status name and the return format. Annotations indicate a write operation, which the description confirms. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core purpose, followed by key behavioral detail and return format. No wasted words; efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the main aspects: purpose, prerequisite, automatic behavior, return format. Missing details on error handling or permissions but acceptable given the tool's straightforward nature and presence of output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description has limited additional per-parameter information. The description mentions case-insensitivity and optional comment/resolution, but these are already in the schema. The overall behavioral context adds value but doesn't significantly enhance parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Transition a Jira issue'), the resource ('Jira issue'), and the result ('new status'). It also highlights automatic resolution of the transition ID, distinguishing it from sibling tools like jira_bulk_transition_issues and jira_issues_get_transitions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises using jira_issues_get_transitions first to see available transitions, providing clear prerequisite context. While it doesn't explicitly state when not to use (e.g., for bulk transitions), the sibling names imply the distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_issues_updateAIdempotent
Update fields on an existing Jira issue.
For select/dropdown: {'value': 'Option'}. For users: {'accountId': '...'}. Use jira_issues_get first to check current values. Returns: {success, issue_key}
| Name | Required | Description | Default |
|---|---|---|---|
| issue_key | Yes | Issue key, e.g. 'PROJ-123' | |
| fields | Yes | Dict of field name/ID to new value. Examples: {'summary': 'New title'}, {'customfield_10001': {'value': 'High'}} | |
| notify_users | No | Send email notifications. Default: False |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate write capability (readOnlyHint=false) and idempotency (idempotentHint=true). The description adds return format but lacks details on error handling or other behavioral traits beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences: purpose, formatting hints, and usage guidance. Every sentence earns its place with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, return values are covered. However, the description could mention partial update support or failure modes for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds value by providing formatting examples for select/dropdown and user field parameters, which goes beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Update fields on an existing Jira issue', providing a specific verb and resource, and it distinguishes from siblings like delete or get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It advises using jira_issues_get first to check current values and provides format hints for select/dropdown and user fields. However, it does not explicitly state when not to use this tool or mention alternatives like jira_bulk_edit_issues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_issuetypes_get_scheme_mappingsARead-only
Get issue types in an issue type scheme.
Returns: {scheme_id, mappings: [{issue_type_id}]}
| Name | Required | Description | Default |
|---|---|---|---|
| scheme_id | Yes | Issue type scheme ID |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include readOnlyHint: true, indicating a safe read operation. The description adds the return format, which provides some behavioral insight beyond the annotation, but does not disclose any other traits like pagination or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: two short sentences plus a return format specification. Every part is relevant and adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one required parameter and a clear return format. The description is complete enough for an agent to understand the input and output, though it omits possible error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the single parameter 'scheme_id' described in the schema. The description does not add any additional meaning or context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Get issue types in an issue type scheme.' and shows the return structure, clearly specifying the verb (get) and resource (issue type mappings for a scheme). It distinguishes from siblings like jira_issuetypes_get_schemes and jira_issuetypes_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, limitations, or 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.
jira_issuetypes_get_schemesARead-only
List issue type schemes.
Returns: {total, schemes: [{id, name, description, default_issue_type_id}]}
| Name | Required | Description | Default |
|---|---|---|---|
| max_results | No | Max results. Default: 50 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description includes the return structure ({total, schemes: [...]}) which adds behavioral context beyond the readOnlyHint annotation. It does not contradict annotations. However, it could further mention any implicit constraints like pagination behavior or default result limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise with two sentences: one for purpose and one for output format. Every word is necessary, no filler or repetition. It is front-loaded and easily scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list operation with a single optional parameter, the description is nearly complete. The return format is specified, and annotations cover the safety profile. However, it does not mention potential errors or permissions, which, while often implicit, could enhance completeness for less experienced agents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'max_results' adequately described in the schema. The tool description adds no additional meaning or constraints beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List issue type schemes.' with a specific verb and resource, distinguishing it from sibling tools like jira_issuetypes_list (which lists issue types) and jira_issuetypes_get_scheme_mappings. It leaves no ambiguity about the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or scenarios where another tool would be more appropriate. This omission may lead to suboptimal tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_issuetypes_listARead-only
List issue types, optionally filtered by project.
Returns: {total, issue_types: [{id, name, description, subtask, hierarchy_level}]}
| Name | Required | Description | Default |
|---|---|---|---|
| project_key | No | Project key to filter by. Leave empty for all issue types. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true; the description adds value by detailing the return format (total, issue_types with fields), which helps agents understand the output without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, front-loading the action and providing essential return information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool (1 optional parameter, no enums, output schema present), the description fully covers what it does and returns, leaving no gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the project_key parameter is fully described). The description adds no new semantic detail beyond restating the filter, so it meets the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists issue types with an optional filter, and specifies the return structure, distinguishing it from sibling tools like jira_issuetypes_get_scheme_mappings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the optional filter but does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions or 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.
jira_permissions_add_grantA
Add a permission grant to a permission scheme.
Verify the scheme is not shared with other projects before modifying. Returns: {success, scheme_id, permission, holder_type}
| Name | Required | Description | Default |
|---|---|---|---|
| scheme_id | Yes | Permission scheme ID | |
| permission | Yes | Permission key, e.g. 'BROWSE_PROJECTS', 'EDIT_ISSUES', 'ADMINISTER_PROJECTS' | |
| holder_type | Yes | 'group', 'projectRole', 'reporter', 'assignee', 'projectLead', 'applicationRole', or 'anyone' | |
| holder_parameter | No | Group name for 'group', role name for 'projectRole'. Not needed for reporter/assignee/projectLead. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes the write operation clearly, which aligns with readOnlyHint=false. It also warns about potential side effects (shared scheme) and specifies the return format. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: three sentences with no filler. The purpose is front-loaded, and the pre-check and return are clearly separated. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with high schema coverage and an output schema implied by the return description, the description covers the essential action, a key behavioral constraint, and the return format. It is complete for the agent's needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters. The description adds value by explaining the return structure ({success, scheme_id, permission, holder_type}), which is not in the input schema. This provides context about expected output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Add a permission grant to a permission scheme' with a specific verb and resource. It distinguishes from siblings like jira_permissions_list_schemes or jira_permissions_assign_scheme by focusing on adding a grant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a specific prerequisite: 'Verify the scheme is not shared with other projects before modifying.' This is a useful when-to-use or when-not-to-use guideline. However, it does not explicitly compare to related sibling tools like jira_permissions_assign_scheme.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_permissions_assign_schemeADestructive
Assign a permission scheme to a project. Replaces the current scheme.
Verify the new scheme has all required permissions before assigning. Returns: {success, project_key, scheme_id}
| Name | Required | Description | Default |
|---|---|---|---|
| project_key | Yes | Project key to assign the scheme to | |
| scheme_id | Yes | Permission scheme ID to assign |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true. Description adds context that it replaces the current scheme and warns about verifying permissions, but does not disclose other behavioral traits like irreversibility or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences: first states purpose, second gives a critical warning, third specifies return format. No superfluous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simple tool with 2 parameters, full schema coverage, and output schema provided, the description is adequate. It could mention that it's destructive (but annotations cover this) or clarify scope of replacement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with descriptions for both parameters. The description does not add additional meaning beyond what the schema provides, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool assigns a permission scheme to a project and replaces the current scheme. It distinguishes from sibling tools like jira_permissions_add_grant which modify individual grants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides a prerequisite warning ('Verify the new scheme has all required permissions') but does not explicitly state when to use this tool versus alternatives (e.g., jira_permissions_add_grant). Guidance is implied but not comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_permissions_get_schemeARead-only
Get a permission scheme with all its permission grants.
Common permission keys: BROWSE_PROJECTS, EDIT_ISSUES, CREATE_ISSUES, ASSIGN_ISSUES, TRANSITION_ISSUES, ADD_COMMENTS, ADMINISTER_PROJECTS, DELETE_ISSUES. Returns: {id, name, description, permissions: [{permission, holder_type, holder_value}]}
| Name | Required | Description | Default |
|---|---|---|---|
| scheme_id | Yes | Permission scheme ID from jira_permissions_list_schemes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context beyond the readOnlyHint annotation by specifying the return structure ({id, name, description, permissions}) and listing common permission keys. No contradictions with annotations. It does not detail rate limits or auth requirements, but for this simple read tool, the added value is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise: two sentences plus a bullet list of keys and return structure. Front-loaded with the purpose. No unnecessary words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter, high schema coverage, and an output schema description, it is largely complete. It lacks mention of error cases (e.g., invalid scheme ID) or pagination, but these are minor given the simplicity. The description adequately prepares the agent for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, scheme_id, is documented in the schema as 'Permission scheme ID from jira_permissions_list_schemes.' The description complements this by listing common permission keys and the return format, giving the agent a clear understanding of the input and output. Schema coverage is 100%, so baseline is 3; the extra context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get a permission scheme with all its permission grants,' using a specific verb and resource. It differentiates from siblings like jira_permissions_list_schemes (which lists schemes) and jira_permissions_add_grant by focusing on retrieval of a single scheme.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. However, the description implies it is for retrieving a specific scheme by ID, and the sibling list tool is for listing all schemes. Lack of explicit when-not or prerequisites keeps it from a higher score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_permissions_list_schemesARead-only
List all permission schemes in the Jira instance.
Use jira_permissions_get_scheme to see grants in a specific scheme. Returns: {total, schemes: [{id, name, description}]}
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds behavioral context by stating the return format ({total, schemes: [{id, name, description}]}), which helps the agent understand what to expect. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The first sentence conveys the main purpose, the second provides a cross-reference and return format. Well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, parameterless list tool with annotations and output schema implied by the return format, the description is fully complete. No gaps or missing information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist (input schema is empty). Baseline score of 4 for zero parameters is appropriate; the description adds nothing extra, but nothing is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists all permission schemes, with a specific verb 'List' and resource 'permission schemes'. It distinguishes from the sibling tool jira_permissions_get_scheme by noting that the latter shows grants in a specific scheme.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells the agent to use this tool to list all schemes and directs to jira_permissions_get_scheme for seeing grants in a specific scheme, providing clear when-to-use and alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_projects_create_versionA
Create a new version (release) in a project.
Returns: {id, name, project_key}
| Name | Required | Description | Default |
|---|---|---|---|
| project_key | Yes | Project key | |
| name | Yes | Version name, e.g. 'v1.0', '2026-Q1' | |
| description | No | Version description | |
| release_date | No | Release date in YYYY-MM-DD format | |
| released | No | Mark as released. Default: False |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, which aligns with the creation purpose. The description adds no additional behavioral context beyond stating it creates a version. With annotations covering the write nature, a score of 3 is appropriate as no extra traits are revealed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences: one for purpose and one for return structure. No wasted words, and the key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (create a version with optional fields), the description combined with the rich schema and annotations covers the essential aspects. The return shape is specified. It could mention potential errors or permissions, but overall it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters have descriptions in the input schema. The description only mentions return values, adding no new meaning beyond what the schema provides. Baseline 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create' and the resource 'a new version (release) in a project.' It is specific and distinguishable from sibling tools like jira_projects_get_versions or jira_projects_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Among siblings, there are tools for listing versions (jira_projects_get_versions) and other project operations, but the description does not provide any context for selection or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_projects_getARead-only
Get full project details including lead, issue types, and description.
Returns: {id, key, name, project_type, lead, description, issue_types, category}
| Name | Required | Description | Default |
|---|---|---|---|
| project_key | Yes | Project key, e.g. 'PROJ' |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, indicating this is a safe read operation. The description adds the return fields but doesn't disclose any additional behavioral traits such as permissions needed, rate limits, or potential side effects. It adequately complements the annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences: one stating purpose and one listing return fields. Every sentence adds value with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple single-parameter tool and the presence of an output schema (implied by the listed return fields), the description is complete. It tells the agent exactly what will be returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter 'project_key' with a clear example. The description adds no further meaning beyond the schema, so baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves full project details including specific fields like lead, issue types, and description. It lists the expected return fields, distinguishing it from sibling tools like jira_projects_list which likely returns a summary list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description does not mention when not to use it or indicate that jira_projects_list might be preferred for listing all projects.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_projects_get_categoriesARead-only
List all project categories.
Categories group projects for organization (e.g. 'Engineering', 'Marketing'). Returns: {total, categories: [{id, name, description}]}
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. Description adds return format and examples, enhancing understanding for a read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences: action, example, return structure. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and a described output schema, the description fully covers the tool's purpose and behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, so schema coverage is 100%. Baseline 4 applies; no additional info needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states 'List all project categories', provides examples, and distinguishes from sibling tools like jira_projects_list and jira_projects_get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear context for use (listing categories) but no explicit guidance on when not to use or alternatives. Given simplicity, it's adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_projects_get_featuresARead-only
Get features and their states for a project.
Shows which project features are enabled/disabled (e.g. backlog, board, calendar, security). Returns: {project_key, features: [{feature, state, toggle_locked}]}
| Name | Required | Description | Default |
|---|---|---|---|
| project_key | Yes | Project key |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and description reinforces read-only nature. Additionally, it details the return structure {project_key, features: [{feature, state, toggle_locked}]}, which adds clarity beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is short and direct, with a clear sentence followed by a bullet listing examples. No wasted words, though could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of output schema and annotations, the description adequately covers the tool's purpose, return format, and safety profile. It lacks error handling or edge case info, but for a simple read tool it is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter (project_key). Description merely restates 'Project key' from schema, adding no extra semantic meaning. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it 'Get features and their states for a project' and provides examples (backlog, board, etc.), distinguishing it from sibling project tools like jira_projects_get and jira_projects_get_categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Siblings include many project-related getters, but description does not help agent choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_projects_get_notification_schemeARead-only
Get the notification scheme assigned to a project.
Returns: {project_key, scheme_id, scheme_name, description}
| Name | Required | Description | Default |
|---|---|---|---|
| project_key | Yes | Project key |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true. The description adds the return structure (project_key, scheme_id, scheme_name, description), giving additional context about what the tool outputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no unnecessary words. Purpose is stated first, then return format. Perfectly concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and an output schema implied. The description fully covers what it does and what it returns, with no gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add extra meaning beyond 'Project key' already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Get the notification scheme assigned to a project' with specific verb and resource. It distinguishes from sibling tools like jira_projects_get and jira_projects_get_roles by targeting notification schemes only.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage: if you need the notification scheme of a project, use this tool. However, it does not explicitly mention when to use it over alternatives or 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.
jira_projects_get_rolesARead-only
Get project roles and their actors (users/groups).
Returns: {project_key, roles: [{name, id, actors: [{display_name, type, name}]}]}
| Name | Required | Description | Default |
|---|---|---|---|
| project_key | Yes | Project key |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=true, and the description does not contradict. The description adds the return format, which provides some behavioral context beyond the schema, but no details on authorization, pagination, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences. It front-loads the purpose and then shows the return structure. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter, the description is sufficient. It includes the return structure, compensating for the lack of an output schema. Could mention that it's read-only, but annotations already cover that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (project_key) with 100% schema coverage. The description does not add any additional meaning beyond the schema description. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', the resource 'project roles', and includes the output structure. It distinguishes from siblings like jira_projects_update_role (update) and jira_projects_get (general info).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. No mention of prerequisites, conditions, or exclusions. The agent has to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_projects_get_statusesARead-only
Get all statuses available in a project, grouped by issue type.
Returns: {project_key, issue_types: [{name, statuses: [{id, name, category}]}]}
| Name | Required | Description | Default |
|---|---|---|---|
| project_key | Yes | Project key |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds transparency about the return structure (grouped by issue type), which is useful beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundant information. First sentence specifies action, second provides return structure. Every sentence is valuable and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a single required parameter, clear purpose, and an output structure provided, the description is complete. The agent can understand input and expected output without gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema fully describes the parameter. The description does not add extra meaning beyond 'Project key'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves all statuses for a project, grouped by issue type. This is specific (verb 'Get' + resource 'statuses') and distinct from sibling tools like jira_projects_get or jira_statuses_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating 'Get all statuses available in a project'. While it does not explicitly exclude cases or name alternatives, the context with sibling tools makes the use case clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_projects_get_versionsARead-only
Get versions (releases) for a project.
Returns: {project_key, total, versions: [{id, name, description, released, release_date, archived}]}
| Name | Required | Description | Default |
|---|---|---|---|
| project_key | Yes | Project key | |
| max_results | No | Max results. Default: 50 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true. Description adds the return shape but no additional behavioral context (e.g., auth, errors, pagination behavior). No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: purpose and return format. Efficient, front-loaded, no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, required parameter, and output schema. Lacks details on potential errors or pagination limits, but max_results parameter handles pagination. Adequate for a simple listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both project_key and max_results are described in schema). Tool description adds no extra meaning beyond the schema, so baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Get versions (releases) for a project' with specific verb and resource. Distinguishes from siblings like jira_projects_create_version and jira_projects_get by focusing on versions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage: when you need project versions. No explicit when/when-not or alternatives mentioned, but the purpose is clear enough for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_projects_listARead-only
List Jira projects, optionally filtered by name or key.
Returns: {total, projects: [{id, key, name, project_type, lead}]}
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Filter by project name or key substring | |
| max_results | No | Max results. Default: 50 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, which is consistent with the listing behavior. The description adds value by specifying the exact return shape ({total, projects: [{id, key, name, project_type, lead}]}), providing transparency beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences plus a clear return format. Every word is informative with no redundancy. Front-loaded with purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the output schema being present, the description provides the return structure explicitly, which is helpful. For a simple list tool with two optional parameters, the description is complete and requires no elaboration.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'query' and 'max_results' have descriptions). The description's mention of filtering by name or key aligns with the 'query' parameter but adds no new information beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool lists Jira projects with optional filtering by name or key. The verb 'List' and resource 'Jira projects' are specific, and the tool is distinct from sibling tools like jira_projects_get or jira_projects_create_version.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. The purpose is self-explanatory, but there is no mention of when to avoid it or what alternatives exist (e.g., jira_issues_search for issues).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_projects_update_roleA
Add or remove an actor (user or group) from a project role.
Use jira_projects_get_roles first to find the role_id. Returns: {success, project_key, role_id, action, actor_value}
| Name | Required | Description | Default |
|---|---|---|---|
| project_key | Yes | Project key | |
| role_id | Yes | Role ID from jira_projects_get_roles | |
| action | Yes | 'add' or 'remove' | |
| actor_type | Yes | 'user' or 'group' | |
| actor_value | Yes | Account ID for users, group name for groups |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false, and the description's 'add or remove' confirms mutation. The description adds the return format but no further behavioral details like permissions or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with a clear action, prerequisite, and return format. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is mostly complete given full schema, output schema, and annotations. It mentions a prerequisite tool and return shape. Missing potential context like permissions but acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description does not need to add parameter detail. The return format is mentioned but does not enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it adds or removes an actor from a project role, using specific verbs and resource. It distinguishes itself from sibling tools like jira_projects_get_roles by mentioning it as a prerequisite.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to use jira_projects_get_roles first to find role_id, providing a clear prerequisite. However, it does not provide when-not-to-use or alternative tools for similar operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_screens_get_fieldsARead-only
Get fields on a screen, optionally for a specific tab.
Returns: {screen_id, tabs: [{id, name, fields: [{id, name}]}]}
| Name | Required | Description | Default |
|---|---|---|---|
| screen_id | Yes | Screen ID from jira_screens_list | |
| tab_id | No | Specific tab ID. Omit to get all tabs with fields. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true; description adds output shape but no additional behavioral traits like auth needs or rate limits. Does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded purpose, no fluff. Return format provided concisely. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple read-only tool with full schema coverage and output schema; description is sufficient to understand input and output without missing context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters with descriptions (100% coverage). Tool description does not add extra meaning beyond restating 'optionally for a specific tab'. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'Get' and resource 'fields on a screen', with optional tab. Distinguished from siblings like jira_screens_list (list screens) and jira_screens_get_schemes (get schemes). Includes sample return structure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for retrieving screen fields, but no explicit guidance on when to use vs alternatives (e.g., jira_screens_get_schemes) or when to include tab_id. Lacks exclusions or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_screens_get_schemesARead-only
List screen schemes.
Returns: {total, schemes: [{id, name, description}]}
| Name | Required | Description | Default |
|---|---|---|---|
| max_results | No | Max results. Default: 50 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint: true, and the description confirms a read operation by saying 'List'. It adds value by specifying the return format (total and schemes with id, name, description), which is beyond annotations. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: one sentence plus a structured return format. No unnecessary words. Front-loaded with the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list endpoint with one optional parameter and a clearly described return structure, the description is fully complete. The output schema details are provided in the description itself, so no additional info is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter max_results, which has a clear description and default. The tool description does not add further meaning to the parameter, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List screen schemes' with a specific verb and resource. The tool name and return format further clarify its purpose, distinguishing it from sibling tools like jira_screens_list (which lists screens) and jira_screens_get_fields (which gets fields for a screen).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description does not mention context or exclusions. However, the name and return structure imply it is for listing screen schemes, which is adequate but lacks differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_screens_listARead-only
List Jira screens, optionally filtered by name.
Returns: {total, screens: [{id, name, description}]}
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Filter by screen name substring | |
| max_results | No | Max results. Default: 50 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, so the description adds value by specifying the return structure ({total, screens: [...]}). However, it does not disclose additional behavioral traits like pagination 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the verb and resource. No extraneous information; every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with an output schema, the description covers the essentials. It could mention that max_results controls pagination, but overall it is adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description merely echoes 'optionally filtered by name' without adding new semantic meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists Jira screens, with optional name filtering. It distinguishes itself from sibling tools like jira_screens_get_fields and jira_screens_get_schemes by being the primary list tool for screens.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool over alternatives (e.g., jira_projects_list, jira_issues_search). The description only states what it does without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_statuses_searchARead-only
Search for statuses across the Jira instance.
Returns statuses with their category (TO_DO, IN_PROGRESS, DONE). Use jira_projects_get_statuses for statuses grouped by issue type in a project. Returns: {total, statuses: [{id, name, category, project_key}]}
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Search by status name substring, e.g. 'Done', 'Progress' | |
| project_key | No | Filter statuses by project | |
| max_results | No | Max results. Default: 50 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate read-only. Description adds return shape {total, statuses: [{id, name, category, project_key}]} beyond annotation. Does not cover pagination or error conditions, but adequate for a read-only search.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences: purpose, return info, sibling distinction. Every sentence adds value with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has 3 optional parameters and an output schema. Description gives return shape. Missing details on max_results default behavior but sufficient for a simple search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema fully describes 3 parameters with descriptions (100% coverage). Tool description adds no additional parameter details but ties them to output fields indirectly. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Search for statuses across the Jira instance' and distinguishes from sibling jira_projects_get_statuses by specifying it returns statuses grouped by issue type in a project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly directs when to use the sibling tool for statuses grouped by issue type, providing clear context. No explicit when-not-to-use, but the sibling guidance is effective.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_tasks_cancelA
Request cancellation of a running generic async task.
Only applies to /task/{id} tasks that are cancellable; bulk-queue tasks cannot be cancelled this way. Returns: {success, task_id, note}
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | Generic task ID to cancel (/task/{id}) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only include readOnlyHint=false; description adds behavioral context: that the tool requests cancellation (mutation), and returns a specific structure. It also notes the limitation on bulk-queue tasks, which is beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise lines: purpose, applicability, and return format. No unnecessary words; front-loaded with essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple cancel tool, the description covers purpose, usage constraints, parameter context, and return format. Given the availability of output schema and clear schema, it is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with a single parameter (task_id) already described. Description does not add additional parameter semantics but reinforces the parameter's role by noting the '/task/{id}' path.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool cancels a running generic async task, with specific verb and resource. It also adds the nuance that only /task/{id} tasks that are cancellable are applicable, distinguishing it from potential other cancel mechanisms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (cancellable /task/{id} tasks) and when not to use (bulk-queue tasks cannot be cancelled this way). Provides clear context and limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_tasks_get_statusARead-only
Poll the status of a long-running async Jira task.
Returns: {task_id, kind, status, progress_percent, result, message, submitted, started, finished, elapsed_ms}
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | Task ID returned by an async operation | |
| kind | No | 'generic' for /task/{id} (reindex, migrations) or 'bulk_queue' for /bulk/queue/{id} (bulk transition/edit/move/delete) | generic |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true; description adds detail on return fields (task_id, kind, status, etc.), which goes beyond annotation. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence plus explicit return fields. No filler, front-loaded with purpose. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple polling tool, covers purpose, parameters, and return format. Siblings don't overlap, and output schema provides completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions; description adds no new parameter meaning beyond 'task_id' and 'kind' differentiation. Baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Poll the status of a long-running async Jira task,' providing a specific verb and resource. It distinguishes from siblings like jira_tasks_cancel which is for cancellation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage: after async operation. No explicit when-to-use or when-not-to-use. Lacks guidance compared to alternatives like cancel.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_users_getARead-only
Get details for a specific Jira user by account ID.
Use jira_users_search to find the account_id first. Returns: {account_id, display_name, email, active, groups}
| Name | Required | Description | Default |
|---|---|---|---|
| account_id | Yes | Jira account ID, e.g. '712020:3d64f12e-90ed-4591-ad64-6ea6768bd9ff' |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, so no need to repeat safety. The description adds the expected return fields (account_id, display_name, email, active, groups), which informs the agent about the output beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences only, no filler. The first sentence states purpose and input, the second gives usage guidance and return structure. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one required parameter, annotations, and a clear return description, the description is complete. It covers all necessary information for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a detailed description of account_id. The tool description adds no additional semantic info beyond referencing the sibling for finding the ID. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('get details') and the resource ('specific Jira user'), and distinguishes from the sibling tool 'jira_users_search' by mentioning its use for finding the account ID.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use jira_users_search first to obtain the account_id, providing clear guidance on when to use this tool and how to prepare the input.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_users_searchARead-only
Search for Jira users by email or display name.
Always use this to look up a user's account_id before adding them to groups or assigning issues. Not this when you already have the account_id: use jira_users_get instead. Returns: {total, users: [{account_id, display_name, email, active}]}
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search by email or display name. Examples: 'jane.doe@example.com', 'Jane', 'jdoe' | |
| max_results | No | Max results. Default: 10 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true. The description adds the return structure '{total, users: [{account_id, display_name, email, active}]}' which helps the agent understand output. No mention of edge cases or pagination, but adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose, then usage, then return format. No unnecessary words. Very efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple (2 params, no nested objects) and description covers purpose, usage, and return structure. With output schema helping, this is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%. For the query parameter, description adds examples ('jane.doe@example.com', 'Jane', 'jdoe'), adding meaningful context beyond schema. For max_results, it confirms defaults but doesn't add new info; still helpful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Search for Jira users by email or display name' with a specific verb and resource. It also distinguishes from the sibling tool jira_users_get by specifying a different input (already having account_id).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use ('Always use this to look up a user's account_id before adding them to groups or assigning issues') and when not to use with a named alternative ('Not this when you already have the account_id: use jira_users_get instead').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_workflows_create_scheme_draftA
Create a draft of a workflow scheme so it can be edited safely.
Use a draft when a scheme is in active use; edit the draft, then publish it with jira_workflows_publish_scheme_draft. Returns: {success, scheme_id, draft: {id, name}}
| Name | Required | Description | Default |
|---|---|---|---|
| scheme_id | Yes | Workflow scheme ID to draft from |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint false, so mutation is expected. Description adds safety context ('edit safely') and the publish step, though it does not detail side effects or lack thereof. With annotation covering mutation, the additional context justifies a 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences: purpose, usage guidance, and return format. Front-loaded and no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter, output schema, and annotations, the description adequately covers purpose, safety, usage, and return. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a description for scheme_id. The description does not add new meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Create a draft of a workflow scheme' with a specific verb and resource. It distinguishes from sibling tools like jira_workflows_publish_scheme_draft and others by focusing on drafting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use a draft when a scheme is in active use' and instructs to edit the draft then publish with jira_workflows_publish_scheme_draft, providing clear when-to-use and next steps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_workflows_delete_scheme_issuetypeADestructive
Remove an issue type's workflow mapping from a workflow scheme.
The issue type falls back to the scheme's default workflow. Returns: {success, scheme_id, issue_type_id, edited_draft}
| Name | Required | Description | Default |
|---|---|---|---|
| scheme_id | Yes | Workflow scheme ID | |
| issue_type_id | Yes | Issue type ID to unmap | |
| edit_draft | No | True edits the scheme's existing DRAFT. False (default) edits the live scheme; in-use schemes auto-create a draft. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations mark the tool as destructive (`destructiveHint: true`). The description adds value by explaining the fallback behavior and the return format (`{success, scheme_id, issue_type_id, edited_draft}`), which goes beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with the core action in the first sentence and additional context in two brief follow-up lines. No unnecessary words or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 parameters, no nested objects) and the presence of an output schema (implied by return format), the description adequately covers the tool's behavior. It lacks potential warnings or error conditions but is otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the baseline is 3. The description does not add any additional semantic meaning beyond what the schema already provides for each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Remove'), the resource ('issue type's workflow mapping from a workflow scheme'), and distinguishes from siblings like `jira_workflows_set_scheme_issuetype` and `jira_workflows_get_scheme_mappings`.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the fallback behavior ('The issue type falls back to the scheme's default workflow'), providing context for when to use this tool. However, it does not explicitly mention when not to use it or compare it to alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_workflows_get_scheme_mappingsARead-only
Get issue type to workflow mappings in a workflow scheme.
Shows which workflow is used for each issue type. Returns: {scheme_id, default_workflow, mappings: [{issue_type, workflow}]}
| Name | Required | Description | Default |
|---|---|---|---|
| scheme_id | Yes | Workflow scheme ID |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, consistent with the 'Get' action. The description adds value by explicitly detailing the return structure (scheme_id, default_workflow, mappings), providing behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences plus a one-line return format example. No unnecessary information, perfectly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with a single parameter and an output schema, the description fully covers the purpose, input, and return format. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single required parameter (scheme_id). The description does not add additional semantics beyond the schema's 'Workflow scheme ID', so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get issue type to workflow mappings in a workflow scheme' with specific verb and resource, and differentiates well from sibling tools like jira_workflows_get_schemes and jira_workflows_set_scheme_issuetype.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for viewing mappings but does not explicitly state when to use this tool versus alternatives like jira_workflows_set_scheme_issuetype for modifications or jira_workflows_get_schemes for listing schemes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_workflows_get_scheme_project_usagesARead-only
List the projects that use a given workflow scheme.
SAFETY: run this before editing a scheme. If more than one project uses it, edits affect all of them: create a dedicated scheme or work on a draft instead. Returns: {scheme_id, project_count, project_ids, shared}
| Name | Required | Description | Default |
|---|---|---|---|
| scheme_id | Yes | Workflow scheme ID |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true; description adds safety context and return format, with no contradictions. Provides behavioral traits beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: three sentences with front-loaded purpose. No wasted words, each sentence serves a clear purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, description includes return values and safety guidance. Output schema is described. Complete for agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter (scheme_id). The description doesn't add parameter-specific semantics but describes the return structure, which indirectly aids understanding. Slightly above baseline due to contextual completeness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool lists projects for a given workflow scheme with a specific verb-resource combination. It distinguishes itself from sibling tools like jira_workflows_get_schemes and jira_workflows_get_scheme_mappings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to run this before editing a scheme and explains the implications of multiple projects using the same scheme, including guidance on creating a dedicated scheme or working on a draft.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_workflows_get_schemesARead-only
List workflow schemes.
Returns: {total, schemes: [{id, name, description, default_workflow}]}
| Name | Required | Description | Default |
|---|---|---|---|
| max_results | No | Max results. Default: 50 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds value by specifying the return format, including fields like id, name, description, default_workflow. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with two short sentences, front-loading the core purpose immediately without any superfluous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature of this listing tool, the description is complete: it explains what it returns and includes the optional parameter. The output schema is effectively described in the return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single optional max_results parameter, and the description does not add additional meaning beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List workflow schemes' with a verb and resource, and it distinguishes from sibling tools like jira_workflows_search or jira_workflows_create_scheme_draft which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor any exclusions or context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_workflows_publish_scheme_draftA
Publish a workflow scheme draft, making its changes live.
If the draft removes statuses that issues currently sit on, Jira requires status_mappings to relocate those issues. Returns: {success, scheme_id, validated_only} or validation result
| Name | Required | Description | Default |
|---|---|---|---|
| scheme_id | Yes | Workflow scheme ID whose draft to publish | |
| status_mappings | No | Status remappings for issues on removed statuses: [{'issueTypeId': '10001', 'statusId': '3', 'newStatusId': '1'}]. Omit if no statuses were removed. | |
| validate_only | No | True returns validation results without publishing |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only set readOnlyHint=false, so description adds that publishing makes changes live. Also discloses that removing statuses requires mappings. No contradictions, but could mention more about permissions or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences: main action, condition, return format. No wasted words. Front-loaded with verb.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the essential: action, conditional param, validation mode, and return structure. Output schema exists, so return field details not needed. Complete for agent decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 3 parameters are documented in schema (100% coverage). Description adds context: explains why status_mappings is needed (relocate issues) and that validate_only returns validation. Example in schema is helpful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb+resource: 'Publish a workflow scheme draft, making its changes live.' Distinguishes from sibling tools like jira_workflows_create_scheme_draft. Also mentions return shape.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States when to use (publish a draft) and condition requiring status_mappings. Implicitly distinguishes from other workflow tools, but lacks explicit when-not-to-use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_workflows_searchARead-only
Search for workflows in the Jira instance.
Returns: {total, workflows: [{id, name, description, statuses}]}
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Search by workflow name substring | |
| max_results | No | Max results. Default: 50 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true, and the description adds the return structure ({total, workflows: [...]}), which goes beyond annotations. No contradictions, and the description appropriately supplements the safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: a single sentence for purpose and a clear return format. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with 2 optional parameters and an output schema, the description covers the purpose, return format, and is sufficiently complete. No missing information for correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described in the schema. The description does not add additional meaning beyond what the schema already provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Search for workflows in the Jira instance' with a specific verb and resource. It also includes the return shape, distinguishing it from sibling workflow tools that deal with schemes, not direct workflow search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (search workflows) but provides no explicit guidance on when to use versus alternatives or when not to use. Among siblings, it's the only workflow search tool, so context is clear but lacks exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_workflows_set_scheme_issuetypeA
Map an issue type to a workflow within a workflow scheme.
For in-use (shared) schemes the live edit auto-creates a draft that must then be published with jira_workflows_publish_scheme_draft. Returns: {success, scheme_id, issue_type_id, workflow, edited_draft}
| Name | Required | Description | Default |
|---|---|---|---|
| scheme_id | Yes | Workflow scheme ID | |
| issue_type_id | Yes | Issue type ID, e.g. '10001' | |
| workflow_name | Yes | Name of the workflow to assign | |
| edit_draft | No | True edits the scheme's existing DRAFT directly. False (default) edits the live scheme; in-use schemes auto-create a draft. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, confirming mutation. Description adds draft behavior and return format, which is valuable beyond annotations. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose, then usage notes and return info. Efficient but could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, draft behavior, return format, and parameters. With 4 parameters and annotations, it is adequately complete for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage 100% with descriptions for all 4 parameters. Description adds context for edit_draft parameter and return structure, providing extra meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Map an issue type to a workflow within a workflow scheme,' providing a specific verb and resource. It distinguishes from sibling tools like delete_issuetype by naming the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly mentions that for in-use schemes, a draft is auto-created and must be published with jira_workflows_publish_scheme_draft, guiding follow-up steps. Does not explicitly state when not to use, but the context is clear.
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.
78 tool updates
v0.1.0- First observed
jira_bulk_edit_issues - First observed
jira_bulk_transition_issues - First observed
jira_comments_add - First observed
jira_comments_list - First observed
jira_fields_add_context_issuetypes - First observed
jira_fields_assign_context_projects - First observed
jira_fields_create_context - First observed
jira_fields_delete_context - First observed
jira_fields_get_contexts - First observed
jira_fields_get_options - First observed
jira_fields_get_project_mapping - First observed
jira_fields_manage_options - First observed
jira_fields_remove_context_issuetypes - First observed
jira_fields_remove_context_projects - First observed
jira_fields_search - First observed
jira_fields_update_context - First observed
jira_filters_add_share - First observed
jira_filters_change_owner - First observed
jira_filters_create - First observed
jira_filters_delete - First observed
jira_filters_force_add_share - First observed
jira_filters_get - First observed
jira_filters_get_shares - First observed
jira_filters_remove_share - First observed
jira_filters_search - First observed
jira_filters_update - First observed
jira_groups_add_user - First observed
jira_groups_create - First observed
jira_groups_delete - First observed
jira_groups_get_members - First observed
jira_groups_list - First observed
jira_groups_remove_user - First observed
jira_issue_link_types_list - First observed
jira_issues_assign - First observed
jira_issues_bulk_create - First observed
jira_issues_create - First observed
jira_issues_delete - First observed
jira_issues_get - First observed
jira_issues_get_changelog - First observed
jira_issues_get_createmeta - First observed
jira_issues_get_transitions - First observed
jira_issues_link - First observed
jira_issues_search - First observed
jira_issues_transition - First observed
jira_issues_update - First observed
jira_issuetypes_get_scheme_mappings - First observed
jira_issuetypes_get_schemes - First observed
jira_issuetypes_list - First observed
jira_permissions_add_grant - First observed
jira_permissions_assign_scheme - First observed
jira_permissions_get_scheme - First observed
jira_permissions_list_schemes - First observed
jira_projects_create_version - First observed
jira_projects_get - First observed
jira_projects_get_categories - First observed
jira_projects_get_features - First observed
jira_projects_get_notification_scheme - First observed
jira_projects_get_roles - First observed
jira_projects_get_statuses - First observed
jira_projects_get_versions - First observed
jira_projects_list - First observed
jira_projects_update_role - First observed
jira_screens_get_fields - First observed
jira_screens_get_schemes - First observed
jira_screens_list - First observed
jira_statuses_search - First observed
jira_tasks_cancel - First observed
jira_tasks_get_status - First observed
jira_users_get - First observed
jira_users_search - First observed
jira_workflows_create_scheme_draft - First observed
jira_workflows_delete_scheme_issuetype - First observed
jira_workflows_get_scheme_mappings - First observed
jira_workflows_get_scheme_project_usages - First observed
jira_workflows_get_schemes - First observed
jira_workflows_publish_scheme_draft - First observed
jira_workflows_search - First observed
jira_workflows_set_scheme_issuetype
TDQS
Scored across 78 tools
Each tool targets a distinct resource and action, with clear prefixes (e.g., jira_issues_, jira_fields_) that group related operations. Descriptions further clarify the purpose, making it easy for an agent to select the correct tool.
All tools follow a consistent jira_{plural_noun}_{verb} pattern in snake_case, which is predictable and aids agent understanding. There are no deviations or mixed conventions.
With 78 tools, the count far exceeds the 25+ threshold for 'too many' and is over 50, which is considered an extreme mismatch. While comprehensive, the sheer number is likely to overwhelm agents and incur token costs.
The tool set covers a wide range of Jira administration tasks including issues, comments, fields, filters, groups, permissions, projects, screens, statuses, users, and workflows. However, notable gaps exist such as project creation/deletion and custom field creation, leaving some core admin workflows incomplete.
Maintenance
Related MCP Connectors
Connect to Atlassian Jira, Confluence, Loom, and more to search, create, and manage your work.
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Task manager your agent can fully operate: boards, tasks, sprints, roles, worklogs, day planner.
Read and edit GA4, Search Console and Google Tag Manager from any MCP client. 29 tools.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI assistants to interact with Jira and Confluence via natural language, supporting 37 Jira tools and 16 Confluence tools.53MIT
- AlicenseCqualityDmaintenanceEnables AI assistants to manage Jira Cloud projects, issues, sprints, and more through a curated set of 62 tools covering the full lifecycle of stories, epics, bugs, and sprints.62GPL 3.0
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Jira Cloud issues, supporting create, read, update, delete, search, and transition operations via natural language.9 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to deeply introspect Jira Data Center configurations — including workflows, schemes, automation, and Assets — through 76 read-only tools, without any modification capability.5MIT