Skip to main content
Glama

Create Issue Link

jira_create_issue_link

Create a typed link between two Jira issues by specifying the link type and both issue keys, with an optional comment for context.

Instructions

Create a link between two Jira issues.

Input Schema

NameRequiredDescriptionDefault
commentNo(Optional) Comment to add to the link. Rejected when either linked issue belongs to a project listed in JIRA_INTERNAL_ONLY_PROJECTS (a link comment may be customer-visible on JSM and cannot be forced internal): create the link without a comment, then post an internal note with jira_add_comment(public=false) on the relevant issue.
link_typeYesThe type of link to create (e.g., 'Duplicate', 'Blocks', 'Relates to')
inward_issue_keyYesThe key of the inward issue (e.g., 'PROJ-123', 'ACV2-642')
outward_issue_keyYesThe key of the outward issue (e.g., 'PROJ-456')
comment_visibilityNo(Optional) Visibility settings for the comment as JSON string (e.g. '{"type":"group","value":"jira-users"}')

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv1.4.1
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / properties / comment / description
      Previous value: -"(Optional) Comment to add to the link"New value: +"(Optional) Comment to add to the link. Rejected when either linked issue belongs to a project listed in JIRA_INTERNAL_ONLY_PROJECTS (a link comment may be customer-visible on JSM and cannot be forced internal): create the link without a comment, then post an internal note with jira_add_comment(public=false) on the relevant issue."
    • changedInput schema / properties / inward_issue_key / pattern
      Previous value: -"^[A-Z][A-Z0-9_]+-\\d+$"New value: +"^[A-Z][A-Z0-9_]+-\\d+(?:-\\d+)*$"
    • changedInput schema / properties / outward_issue_key / pattern
      Previous value: -"^[A-Z][A-Z0-9_]+-\\d+$"New value: +"^[A-Z][A-Z0-9_]+-\\d+(?:-\\d+)*$"
    • removedOutput schema / description
      Removed value: -"Generic wrapper for non-object return types."
  2. Addedv1.0.1

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that: it does not explain link direction semantics (inward vs outward), link-type validity, or that duplicate links may already exist. A single sentence that restates the title earns little credit.

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

Conciseness4/5

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

One sentence with zero waste, front-loaded with the verb and resource. It is efficiently written but borders on under-specification given the tool's real complexity around link direction and link types.

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 and the input schema is fully documented, so most structural context is present. Still, the description omits the two things an agent most needs to get right: which issue is inward vs outward, and where valid link types come from. For a 5-parameter mutation tool with several similar siblings, that is a real gap.

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 100%, including the important note that a link comment is rejected for projects in JIRA_INTERNAL_ONLY_PROJECTS with a workaround via jira_add_comment. That is excellent schema work, but the description itself contributes nothing to parameter meaning, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource: 'Create a link between two Jira issues.' An agent knows exactly what the tool does. However, it does nothing to distinguish it from close siblings such as jira_create_remote_issue_link, jira_link_to_epic, or jira_remove_issue_link, which is required for 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 versus the remote-issue-link or epic-link siblings, and no mention of the prerequisite of resolving a valid link type via jira_get_link_types. The only usage hints live in the parameter schemas, not the description.

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

Deploy Server

Other Tools