Skip to main content
Glama
aavaz-ai

Jira Product Discovery MCP

by aavaz-ai

Jira PATCH Request

jira_patch

Partially update Jira resources via PATCH on any endpoint, changing only specified fields. Use jq to filter responses and reduce token costs.

Instructions

Partially update Jira resources. Returns TOON format by default.

IMPORTANT - Cost Optimization: Use jq param to filter response fields.

Output format: TOON (default) or JSON (outputFormat: "json")

Common operations:

  1. Update issue fields: /rest/api/3/issue/{issueIdOrKey} body: {"fields": {"summary": "Updated title"}} (only updates specified fields)

  2. Update comment: /rest/api/3/issue/{issueIdOrKey}/comment/{commentId} body: {"body": {"type": "doc", "version": 1, "content": [{"type": "paragraph", "content": [{"type": "text", "text": "Updated comment"}]}]}}

  3. Update worklog: /rest/api/3/issue/{issueIdOrKey}/worklog/{worklogId} body: {"timeSpentSeconds": 7200}

Note: PATCH only updates the fields you specify, leaving others unchanged.

API reference: https://developer.atlassian.com/cloud/jira/platform/rest/v3/

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
jqNoJMESPath expression to filter/transform the response. IMPORTANT: Always use this to extract only needed fields and reduce token costs. Examples: "issues[*].{key: key, summary: fields.summary}" (extract specific fields), "issues[0]" (first result), "issues[*].key" (keys only). See https://jmespath.org
bodyYesRequest body as a JSON object. Structure depends on the endpoint. Example for issue: {"fields": {"project": {"key": "PROJ"}, "summary": "Issue title", "issuetype": {"name": "Task"}}}
pathYesThe Jira API endpoint path (without base URL). Must start with "/". Examples: "/rest/api/3/project", "/rest/api/3/search/jql", "/rest/api/3/issue/{issueIdOrKey}"
queryParamsNoOptional query parameters as key-value pairs. Examples: {"maxResults": "50", "startAt": "0", "jql": "project=PROJ", "fields": "summary,status"}
outputFormatNoOutput format: "toon" (default, 30-60% fewer tokens) or "json". TOON is optimized for LLMs with tabular arrays and minimal syntax.
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It discloses the default output format (TOON), the option to switch to JSON, the cost-optimization with jq, and the partial-update semantics. It does not mention authentication, error handling, or rate limits, but the provided behavior is substantial for a generic REST client.

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

Conciseness5/5

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

The description is well-structured with clear sections for introduction, cost optimization, output format, common operations, and a note on PATCH semantics. Despite its length, each sentence provides valuable information, and key details like partial update behavior and output format are front-loaded.

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

Completeness4/5

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

The description is thorough for a tool with five parameters, nested objects, and no output schema. It covers common use cases, parameter examples, and output behavior. It lacks details on error responses and authorization, but the provided information is sufficient for typical invocation and is complemented by an API reference link.

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

Parameters5/5

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

Although the schema already has 100% coverage, the description adds significant meaning beyond parameter names by providing concrete body examples for different update operations (issue, comment, worklog), path patterns, and jq usage for response filtering. This enriches the schema descriptions with practical usage context.

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

Purpose5/5

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

The description clearly states the tool performs partial updates to Jira resources, using the specific verb 'PATCH' and identifying the resource scope. It distinguishes itself from siblings by emphasizing partial updates that leave other fields unchanged, contrasting with jira_put for full updates.

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

Usage Guidelines4/5

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

The description provides clear context for when to use the tool, such as updating issue fields, comments, and worklogs. It explicitly notes that PATCH only updates specified fields, implying it's for partial modifications. However, it does not explicitly name alternatives like jira_put or jira_post for full updates or creation, though the sibling names make this inferable.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aavaz-ai/jira-product-discovery-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server