Skip to main content
Glama

task360-mcp

A Model Context Protocol (MCP) server and CLI for Chat360 Task (task.chat360.io).

Allows AI assistants (Claude Desktop, Gemini Antigravity, Cursor, etc.) to query, create, update, comment on, and manage work items, sprints, and boards directly in Task360.


⚡ Quick Start

Installation

Install via uv or pip:

# Using uv (recommended)
uv tool install git+https://github.com/karangoel59/task360-mcp.git

# Or clone and install locally:
git clone https://github.com/karangoel59/task360-mcp.git
cd task360-mcp
uv tool install .

Related MCP server: Jira MCP OAuth gateway

🔐 Authentication

Task360 uses session-based authentication (sessionid). You can authenticate in three ways:

  1. Browser Session Cookie (Easiest): Copy the sessionid cookie from your browser (Open DevTools on task.chat360.io ➔ Application ➔ Cookies ➔ sessionid).

    task360 --sessionid "<your_sessionid_cookie>"

    (Caches the session to ~/.task360_session.json so you only need to do this once).

  2. Login Credentials:

    task360 -i  # Prompts for email & password securely
  3. Environment Variables:

    export TASK360_SESSIONID="<sessionid>"
    # OR
    export TASK360_EMAIL="<email>"
    export TASK360_PASSWORD="<password>"
    export TASK360_WORKSPACE="chat360"  # Optional default workspace

🤖 MCP Configuration

Add the server to your AI assistant's MCP configuration.

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "task360": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/karangoel59/task360-mcp.git", "task360-mcp"],
      "env": {
        "TASK360_WORKSPACE": "chat360"
      }
    }
  }
}

Or if installed locally:

{
  "mcpServers": {
    "task360": {
      "command": "/Users/karangoel59/.local/bin/task360-mcp",
      "args": [],
      "env": {}
    }
  }
}

Gemini Antigravity (~/.gemini/config/mcp_config.json)

{
  "mcpServers": {
    "task360": {
      "command": "/Users/karangoel59/.local/bin/task360-mcp",
      "args": [],
      "env": {}
    }
  }
}

🛠️ MCP Tools Reference

Tool

Description

list_workspaces()

List all workspaces accessible to the user.

get_user_profile()

Get current authenticated user details and ID.

get_my_tickets(workspace?, limit?)

Fetch tickets assigned to the signed-in user.

search_tickets(query?, assignee_id?, status_id?, project_id?, workspace?, limit?)

Search tickets with JQL-like queries (e.g. q="status = in_progress").

get_ticket(key, workspace?)

Retrieve full details of a specific ticket (e.g. CPD-123).

create_ticket(project_id, item_type_id, board_id, summary, description?, assignee_id?, extra_fields?, workspace?)

Create a new work item.

update_ticket(key, summary?, description?, assignee_id?, extra_fields?, workspace?)

Update fields on a ticket.

get_transitions(key, workspace?)

Inspect valid status transitions from the ticket's current status.

transition_ticket(key, transition_id, workspace?)

Move ticket status via workflow engine transition.

add_comment(key, body, workspace?)

Post a comment on a ticket.

delete_ticket(key, workspace?)

Permanently delete a ticket.


💻 CLI Usage

The package also includes the task360 CLI command:

# List your assigned tickets
task360

# Search with JQL query
task360 -q "status = in_progress"

# View specific ticket
task360 --key CPD-123

# Update ticket summary or description
task360 --key CPD-123 --summary "Updated title" --desc "New description"

# Assign ticket
task360 --key CPD-123 --assign me
task360 --key CPD-123 --unassign

# Check workflow transitions & transition status
task360 --key CPD-123 --transitions
task360 --key CPD-123 --transition "In Progress"

# Add a comment
task360 --key CPD-123 --comment "Deployed to stage server."

# Delete ticket
task360 --key CPD-123 --delete

# Export tickets
task360 --json > my_tickets.json
task360 --csv > my_tickets.csv

📄 License

MIT License. Copyright (c) 2026 Karan Goel.

Available Tools

11 tools
add_commentB

Add a comment to a ticket.

Args: key: The work item key (e.g. "CPD-123"). body: Comment markdown text. workspace: Workspace slug (optional).

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
bodyYes
workspaceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no auth/permission requirements, no indication of whether the comment is appended vs replacing anything, no notification/mention behavior, no mention of rate limits. It mentions markdown only indirectly in the Args list.

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

Conciseness4/5

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

The purpose is front-loaded in the first sentence, and the Args block is justified because the schema carries zero parameter descriptions. Slightly verbose in the minor redundancy between 'key: The work item key' and the parenthetical example, but nothing wasteful.

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

Completeness3/5

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

An output schema exists, so return values need not be explained. However, for a mutation tool with zero annotations, the description should say more about side effects and permissions; the argument documentation is complete but operational context is thin.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it does: it documents all three parameters, gives a concrete key format example ('CPD-123'), specifies body is markdown text, and flags workspace as optional. That is meaningful added value over the bare schema.

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

Purpose4/5

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

States a specific verb+resource ('Add a comment to a ticket') clearly and unambiguously. There is no sibling comment tool to differentiate from, though it doesn't distinguish itself from update_ticket or note that comments are a separate artifact.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance, no prerequisites, and no alternative routing (e.g., when to comment versus updating the ticket body via update_ticket). Usage is only implied by the tool name.

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

create_ticketC

Create a new ticket in Task360.

Args: project_id: Project ID. item_type_id: Item type ID (e.g. Task, Bug). board_id: Board ID to place the ticket on. summary: Title/summary of the ticket. description: Detailed description of the ticket. assignee_id: Optional user ID to assign. extra_fields: Optional dictionary of additional fields. workspace: Workspace slug (optional).

ParametersJSON Schema
NameRequiredDescriptionDefault
summaryYes
board_idYes
workspaceNo
project_idYes
assignee_idNo
descriptionNo
extra_fieldsNo
item_type_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It says nothing about side effects, whether the created ticket is returned, permission requirements, or what happens with duplicate summaries; only 'Create' implies a mutation. For a creation tool with zero annotation coverage this is a substantial gap.

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

Conciseness3/5

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

The purpose is front-loaded and the Args list is compact with no filler, but it is an unedited Python docstring rather than agent-optimized prose. It is neither wasteful nor notably well-structured.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, and the description does mark the optional parameters. Still, for a mutation tool with no annotations it omits required-vs-optional framing, failure modes, and any usage context, leaving the agent to infer how to invoke it correctly.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate, and it does name all eight parameters with brief glosses. But several are tautological ('Project ID.', 'Board ID to place the ticket on') and none explain ID formats, how to obtain IDs, or the structure of extra_fields, so it adds only modest meaning over the raw schema.

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

Purpose4/5

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

The first sentence gives a specific verb and resource ('Create a new ticket in Task360'), so the agent immediately knows what the tool does. However, it does nothing to distinguish it from sibling mutation tools like update_ticket or transition_ticket, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus update_ticket, transition_ticket, or add_comment, nor any stated prerequisites such as required permissions or valid project/board combinations. The description is purely a parameter dump with no routing information.

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

delete_ticketB

Permanently delete a ticket.

Args: key: The work item key (e.g. "CPD-123"). workspace: Workspace slug (optional).

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
workspaceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses that deletion is permanent and irreversible (not a soft-delete), but says nothing about required permissions, whether child items like comments are removed, or whether confirmation 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.

Conciseness4/5

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

Front-loaded with the destructive action in a single sentence, followed by a compact Args block. The Args block slightly restates schema field names, but the added descriptions and example earn their place.

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

Completeness3/5

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

An output schema exists, so return values need no explanation. However, for a destructive, unannotated mutation tool, the description omits the operational context an agent needs: permissions, cascade effects, and recoverability beyond the word 'Permanently'.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it largely does: it defines 'key' as the work item key with a concrete format example ('CPD-123') and clarifies that 'workspace' is optional. It does not explain what happens when workspace is omitted.

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

Purpose4/5

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

States a specific verb and resource ('Permanently delete a ticket'), which is unambiguous and clearly distinct from create_ticket/update_ticket by implication. It never explicitly names a sibling or scoping rule, so it stops short of the 5 tier.

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

Usage Guidelines2/5

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

There is no guidance on when to delete versus update or archive, no prerequisites, and no mention of an alternative tool. The only usage-relevant cue is the word 'Permanently', which is inferred rather than framed as advice.

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

get_my_ticketsA

Fetch tickets assigned to the authenticated user in the specified workspace.

Args: workspace: Workspace slug (optional, defaults to configured or primary workspace). limit: Maximum number of tickets to retrieve (default: 50).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
workspaceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the full behavioral burden. It does disclose that results are scoped to the authenticated user and that workspace falls back to a configured/primary default, but it never confirms read-only semantics, pagination, ordering, or rate behavior for what is presumably a bulk fetch.

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

Conciseness5/5

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

One summary sentence followed by a compact args block; the purpose is front-loaded and every line carries meaning. No filler or restated boilerplate.

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

Completeness4/5

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

An output schema exists, so return values need not be described, and both parameters are covered. The remaining gap is that pagination/ordering behavior for a limit-bounded list is unstated, which matters slightly for correct invocation but is not fatal.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it does: workspace is explained as an optional slug defaulting to the configured or primary workspace, and limit is described as a maximum count with default 50. That adds real fallback semantics beyond the bare property names, though it omits any pagination or offset interaction.

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

Purpose4/5

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

States a specific verb and resource with scope: tickets assigned to the authenticated user in a given workspace. That scope implicitly separates it from siblings like search_tickets or get_ticket, but the description never names an alternative, so differentiation is left to inference.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance, and no alternatives (search_tickets, get_ticket) are referenced. The scope phrase 'assigned to the authenticated user' implies when it applies, but an agent must infer the routing decision entirely.

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

get_ticketA

Retrieve full details of a specific ticket by key (e.g. CPD-123).

Args: key: The work item key (e.g. "CPD-123"). workspace: Workspace slug (optional).

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
workspaceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the behavioral burden. It discloses that the call returns 'full details' rather than a summary, and 'Retrieve' implies a non-destructive read, but there is nothing about auth requirements, behavior when the key does not exist, or cross-workspace access semantics.

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

Conciseness5/5

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

Two short elements: one sentence stating the operation and one arg block. The purpose is front-loaded before the arguments, and there is no filler.

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

Completeness4/5

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

A simple two-parameter read tool with an output schema, so return values need no explanation. The description covers both parameters and the core retrieval semantics; only edge-case behavior (missing key, workspace resolution) is absent, which is minor at this complexity.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it mostly does: it explains 'key' as the work item key with a concrete example, and explicitly marks 'workspace' as an optional workspace slug. It stops short of saying when workspace must be supplied or what omitting it defaults to.

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

Purpose4/5

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

States a specific verb ('Retrieve') and resource ('full details of a specific ticket') and pins down the identifier format with the CPD-123 example. It does not, however, distinguish itself from siblings like search_tickets or get_my_tickets, so an agent must infer the boundary itself.

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

Usage Guidelines3/5

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

The phrase 'by key' implicitly signals this is for direct lookup when the key is already known, as opposed to search_tickets or get_my_tickets. There is no explicit when-to-use statement, no exclusions, and no named alternative to route against.

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

get_transitionsB

Get available status workflow transitions for a ticket.

Args: key: The work item key (e.g. "CPD-123"). workspace: Workspace slug (optional).

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
workspaceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. 'Get available transitions' strongly implies a safe read with no side effects, which is the key behavioral fact, but it never states auth requirements, whether results are workspace-scoped, or what happens with an invalid key. Return format is covered by the output schema.

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

Conciseness4/5

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

The purpose sentence is front-loaded and the Args block is tight with no filler. The Args section partially duplicates the schema, but it is short enough that it does not hurt readability.

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

Completeness3/5

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

An output schema exists, so return values need not be described. Both parameters are addressed. What is missing is the workflow context: how this relates to transition_ticket and what the workspace parameter scopes. Adequate but with clear gaps for a workflow-lookup tool.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It documents both parameters and gives a concrete key format example ('CPD-123') and flags workspace as optional, which is more than the schema offers. However it never explains what workspace resolves or what happens if it is omitted, leaving real ambiguity.

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

Purpose4/5

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

States a specific verb+resource: 'Get available status workflow transitions for a ticket.' The scope (status workflow transitions for a given ticket) is clear and distinguishes it from get_ticket, though the sibling transition_ticket (the write counterpart) is never named or contrasted.

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

Usage Guidelines3/5

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

Usage is only implied: an agent infers this is the read-only lookup to call before transition_ticket, but the description never says when to use it, nor when to prefer transition_ticket. No exclusions or prerequisites are stated.

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

get_user_profileB

Get the current signed-in Task360 user profile and details.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. 'Get' implies a read-only operation and 'current signed-in' usefully signals that the result is scoped to the authenticated user with no way to look up arbitrary users, but permissions, error behavior on missing auth, and caching are unstated. An output schema exists, so return-value detail is not needed here.

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

Conciseness4/5

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

A single front-loaded sentence with no filler; the identity of the target user is stated up front. It is terse to the point of under-specification, but nothing in it is wasted.

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

Completeness4/5

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

For a zero-parameter read tool with an output schema, the description covers the essentials: what is returned (profile and details) and whose profile it is. Only the authentication precondition and failure behavior are left unaddressed.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4. Schema description coverage is 100% and there are no parameters to disambiguate, leaving nothing for the description to compensate for.

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

Purpose4/5

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

States a specific verb and resource: retrieve the profile of the currently signed-in Task360 user. It is clearly distinguishable from sibling tools like get_ticket or list_workspaces, though it does not explicitly name any sibling to contrast with.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, no preconditions, and no exclusions. The phrase 'signed-in' implies it requires an authenticated session but this is never stated as a requirement.

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

list_workspacesA

List all Task360 workspaces available to the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose that results are scoped to the authenticated user, implying an auth requirement, but says nothing about ordering, pagination, or whether the list can be empty.

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

Conciseness5/5

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

A single front-loaded sentence with the verb, resource, and scope; no filler or redundant restatement of the tool name.

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

Completeness4/5

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

An output schema exists, so return values need not be explained, and the zero-param surface is fully covered. The only gap is pagination/ordering behavior for potentially long workspace lists.

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

Parameters4/5

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

Zero input parameters, so the baseline of 4 applies. There is nothing for the description to clarify beyond the implicit user scoping, which it already mentions.

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

Purpose4/5

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

Names a specific verb (List) and resource (workspaces) with an explicit scope of 'available to the authenticated user'. No sibling differentiation is offered, but none is needed since all siblings operate on tickets, not workspaces.

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

Usage Guidelines3/5

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

The phrase 'available to the authenticated user' implies this is a discovery/enumeration call, but there is no explicit when-to-use guidance, no prerequisites, and no mention of alternatives since there are no other workspace tools to disambiguate against.

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

search_ticketsB

Search and list work items (tickets) in a workspace.

Args: query: JQL-like search query string, e.g. "status = in_progress" or "assignee = currentUser()". assignee_id: Filter by assignee user ID. status_id: Filter by status ID. project_id: Filter by project ID. workspace: Workspace slug (optional). limit: Maximum number of tickets (default: 50).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
status_idNo
workspaceNo
project_idNo
assignee_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, and it discloses little beyond the schema. The limit default (50) is already in the schema, and nothing is said about pagination, result caps, permission/scope requirements, or whether workspace is required to see results.

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

Conciseness4/5

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

The purpose sentence is front-loaded and the Args block is terse and scannable, with no wasted prose. The structured arg list is slightly redundant with the schema but earns its place given 0% schema description coverage.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and all parameters are named. However, the absence of annotations plus missing routing guidance and pagination/scope behavior leaves the agent under-informed for a 6-parameter search tool.

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

Parameters4/5

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

Schema coverage is 0%, so the description must compensate, and it documents all six parameters including a concrete JQL-like query example ('status = in_progress', 'assignee = currentUser()'). It leaves gaps such as the valid value space for status_id/project_id, which the schema does not supply either.

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

Purpose4/5

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

States a specific verb (search/list) and resource (work items/tickets) with a scope qualifier ('in a workspace'). It does not differentiate from the sibling get_my_tickets, which covers an overlapping retrieval case, so an agent must guess between them.

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

Usage Guidelines2/5

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

No when-to-use guidance and no alternatives named, despite siblings get_ticket, get_my_tickets, and list_workspaces covering adjacent retrieval needs. Usage is only implied by the word 'search'.

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

transition_ticketB

Change the workflow status of a ticket by executing a transition.

Args: key: The work item key (e.g. "CPD-123"). transition_id: The ID of the transition to execute (use get_transitions to list IDs). workspace: Workspace slug (optional).

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
workspaceNo
transition_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It states a mutation occurs but says nothing about required permissions, side effects such as notifications or comments, whether a transition can fail or be reversed, or what happens to the ticket's other fields.

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

Conciseness4/5

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

The purpose line is front-loaded and the Args block is compact with no redundant prose. Minor overhead from the docstring-style formatting, but every line carries information.

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

Completeness3/5

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

An output schema exists, so return values need no explanation and the three parameters are documented. Still missing behavioral essentials for an unannotated mutation tool: permission requirements, error behavior on an invalid transition_id, and any additional fields the transition may require.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it largely does: it explains key with a concrete example ('CPD-123'), explains transition_id and how to source it, and marks workspace as optional with its format (slug). It adds real meaning over the bare schema titles.

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

Purpose4/5

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

Specific verb and resource: 'Change the workflow status of a ticket by executing a transition' tells the agent exactly what happens and how. It is clearly differentiated from generic mutations like update_ticket by naming the transition mechanism, though it never explicitly contrasts with that sibling.

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

Usage Guidelines3/5

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

It helpfully points to get_transitions as the way to obtain a transition_id, which is genuine routing guidance for a required parameter. However, it gives no guidance on when to use this versus update_ticket, nor any preconditions for a valid transition.

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

update_ticketB

Update fields of an existing ticket.

Args: key: The work item key (e.g. "CPD-123"). summary: New ticket title/summary. description: New ticket description. assignee_id: User ID to assign to (or None). extra_fields: Additional fields dict (e.g. {"board": 1, "sprint": 2}). workspace: Workspace slug (optional).

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
summaryNo
workspaceNo
assignee_idNo
descriptionNo
extra_fieldsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it never says whether omitted/null fields are left unchanged or cleared, whether the operation is partial or full-replace, or what permissions are required. The only hint is '(or None)' on assignee_id, which is ambiguous between unassign and no-op.

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

Conciseness4/5

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

The core purpose is front-loaded in one line, followed by a compact Args list. The list partially restates schema field names, but the examples make it earn its place, so there is little waste.

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

Completeness3/5

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

An output schema exists, so return values need not be described. However, for a six-parameter mutation tool with zero annotations, the description is thin on the update semantics and side effects an agent needs before invoking it.

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

Parameters4/5

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

With 0% schema description coverage, the description does the compensating work: it names each field, gives a key format example ('CPD-123'), and shows an extra_fields example ({"board": 1, "sprint": 2}). It falls short of explaining null/unset semantics for assignee_id and whether summary/description overwrite or append.

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

Purpose4/5

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

States a specific verb and resource ('Update fields of an existing ticket'), so an agent knows this mutates an existing work item rather than creating one. It does not, however, distinguish itself from siblings like transition_ticket, which can also change ticket state, leaving some selection ambiguity.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no alternatives named, despite a crowded sibling set (create_ticket, transition_ticket, add_comment, delete_ticket). An agent must infer from the name alone whether status changes belong here or in transition_ticket.

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

Tool Schema Changelog

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

  1. 11 tool updatesv0.1.0
    • First observedadd_comment
    • First observedcreate_ticket
    • First observeddelete_ticket
    • First observedget_my_tickets
    • First observedget_ticket
    • First observedget_transitions
    • First observedget_user_profile
    • First observedlist_workspaces
    • First observedsearch_tickets
    • First observedtransition_ticket
    • First observedupdate_ticket

TDQS

A3.5/5.0

Scored across 11 tools

Disambiguation4/5

Most tools have clearly distinct purposes tied to specific resources and actions. The only mild overlap is between get_ticket, get_my_tickets, and search_tickets, but descriptions clarify that one fetches by key while the others filter by assignee/query. get_transitions vs transition_ticket are also well differentiated (read vs execute).

Naming Consistency4/5

The set follows a mostly predictable verb_noun pattern (get_ticket, update_ticket, delete_ticket, create_ticket, search_tickets). Minor deviations like transition_ticket (noun-as-verb) and the mix of get_/add_ verbs are readable but slightly inconsistent.

Tool Count5/5

11 tools is well-scoped for a ticket management server, with each tool earning its place across read, write, search, workflow, and comment operations. No redundant or filler tools.

Completeness4/5

Ticket lifecycle is well covered with create, get, update, delete, plus workflow transitions and comments. Minor gaps exist on the comment side (no edit/delete comment) and workspace-level operations, but agents can work around these.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Provides tools for AI assistants to interact with JIRA APIs, enabling them to read, create, update, and manage JIRA issues through standardized MCP tools.
    6
    10 npm
    3
    MIT
  • F
    license
    B
    quality
    B
    maintenance
    MCP server that connects AI assistants to your Jira site, supporting PAT or SSO authentication for search, read, create, update, and delete operations on issues.
    17
    110 npm
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables natural language interaction with JIRA through MCP, providing 35 tools for issues, comments, transitions, projects, boards, sprints, epics, links, worklogs, versions, attachments, users, and fields.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables natural language interaction with Jira Cloud tickets, including listing, searching, creating, and updating issues through a set of MCP tools.
    -