Skip to main content
Glama
yuezheng2006

Personal JIRA MCP

by yuezheng2006

update_issue

Modify JIRA issue details including summary, description, type, priority, assignee, and labels to keep work items current and accurate.

Instructions

更新JIRA问题

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
issue_keyYes
summaryNo
descriptionNo
issue_typeNo
priorityNo
assigneeNo
labelsNo

Implementation Reference

  • The main handler function for the 'update_issue' tool. It updates the specified JIRA issue with optional fields like summary, description, issue_type, priority, assignee, and labels. Uses JIRA client to update and returns formatted issue details.
    def update_issue(
        issue_key: str,
        summary: Optional[str] = None,
        description: Optional[str] = None,
        issue_type: Optional[str] = None,
        priority: Optional[str] = None,
        assignee: Optional[str] = None,
        labels: Optional[List[str]] = None,
    ) -> Dict[str, Any]:
        """更新JIRA问题.
        
        Args:
            issue_key: 问题键
            summary: 问题概要
            description: 问题描述
            issue_type: 问题类型
            priority: 优先级
            assignee: 经办人
            labels: 标签列表
        
        Returns:
            Dict[str, Any]: 更新后的问题详情
        """
        logger.info(f"更新问题 {issue_key}")
        
        try:
            # 构建更新字段
            fields = {}
            
            if summary:
                fields["summary"] = summary
                
            if description:
                fields["description"] = description
                
            if issue_type:
                fields["issuetype"] = {"name": issue_type}
                
            if priority:
                fields["priority"] = {"name": priority}
                
            if assignee:
                fields["assignee"] = {"name": assignee}
                
            if labels:
                fields["labels"] = labels
            
            if not fields:
                return {"error": "未提供任何更新字段"}
            
            # 更新问题
            client = get_jira_client()
            issue = client.issue(issue_key)
            issue.update(fields=fields)
            
            # 获取更新后的问题
            updated_issue = client.issue(issue_key)
            return format_issue(updated_issue)
        except Exception as e:
            logger.error(f"更新问题 {issue_key} 失败: {str(e)}")
            return {"error": str(e)}
  • The @mcp.tool decorator registers the 'update_issue' function as an MCP tool with description '更新JIRA问题' (Update JIRA issue).
    @mcp.tool(
        description="更新JIRA问题",
    )
Behavior1/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. '更新JIRA问题' only indicates it's a mutation operation but reveals nothing about required permissions, whether updates are reversible, rate limits, error conditions, or what happens when partial updates are provided. For a mutation tool with 7 parameters and zero annotation coverage, this is completely inadequate.

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

Conciseness2/5

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

While technically concise (three Chinese characters), this is under-specification rather than effective conciseness. The single phrase doesn't provide enough information to be useful, and there's no structure or front-loading of critical information. Every sentence should earn its place, but here there's essentially no content to evaluate for structure.

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

Completeness1/5

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

For a mutation tool with 7 parameters, 0% schema description coverage, no annotations, and no output schema, the description is completely inadequate. It doesn't explain what the tool returns, what fields can be updated, required permissions, or any behavioral characteristics. The description fails to compensate for the lack of structured information across all dimensions.

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

Parameters1/5

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

Schema description coverage is 0% (no parameter descriptions in schema), and the tool description provides no information about any of the 7 parameters. The description doesn't mention that 'issue_key' is required or explain what any parameters represent, their formats, or how they interact. With 0% schema coverage and no parameter information in the description, this fails to provide basic parameter semantics.

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

Purpose2/5

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

The description '更新JIRA问题' (Update JIRA issue) is a tautology that restates the tool name in Chinese. While it indicates the verb ('update') and resource ('JIRA issue'), it doesn't specify what aspects can be updated or differentiate this from sibling tools like 'create_issue' or 'debug_issue_fields'. The purpose is vague beyond the basic action.

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

Usage Guidelines1/5

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

The description provides no guidance on when to use this tool versus alternatives. There are multiple sibling tools for JIRA issue operations (create_issue, get_issue, search_issues, etc.), but the description offers no context about prerequisites, when this tool is appropriate, or when other tools should be used instead.

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/yuezheng2006/mcp-server-jira'

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