MCP server intelligence profile

Jira MCP Server

A one-click Jira integration for AI coding tools like Claude Desktop, Cursor, and VS Code, enabling create, read, update, move, comment, and search operations on Jira tickets directly from the assistant

Local Onlysouthocean
Awaiting current scanSource Git · b5b4eb2b070a098e606e9e025d260c0d9857a4d9

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

1Distribution channel
13Independently observed tools
0Linked remote endpoints
AvailableVersion intelligence

Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.

Install and connect

Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.

No verified installation or connection method is available in the retained evidence yet.

Identity

Canonical slugjira-mcp-1e882a66DeploymentLocal Only
Canonical packageRepositorysouthocean/jira-mcp
First publishedLatest release
Last security verificationClassification confidence35%
PublicationDraftOfficial distributionNot verified

Distributions

ChannelIdentifierCurrent versionVersionsSource
source_gitsouthocean/jira-mcpb5b4eb2b070a098e606e9e025d260c0d9857a4d91Repository

Current release

PackageVersionPublished / observedInventorySecurity scan
source_gitsouthocean/jira-mcpb5b4eb2b070a098e606e9e025d260c0d9857a4d9CurrentAug 25, 202613 toolsSucceeded · 0 resources · 0 promptsEvidence restricted
Enterprise protection

Continuously monitor this MCP for security risk

Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.

  • Independent exact-version security scans
  • Continuous release and vulnerability monitoring
  • Risk-change alerts with capability context
  • Historical evidence and API exports
Custom pricingContact salesTailored to your organization, integrations, data needs, and support requirements.

Current version evidence

No public current-version evidence is available yet.

Current protocol inventory

2025-06-18Negotiated protocol
jiraServer-reported name
1Capability groups
Aug 25, 2026Observed

Tools 13

ToolCategoryAnnotationsRisk
add_commentAdd a comment to a Jira ticket.
Input schema
{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "Ticket key like ABC-341 or just 341"
    },
    "comment": {
      "type": "string"
    }
  },
  "required": [
    "key",
    "comment"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
add_labelAdd a label to a Jira ticket.
Input schema
{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "Ticket key like ABC-341 or just 341"
    },
    "label": {
      "type": "string",
      "description": "Label to add, e.g. 'ai-inprogress'"
    }
  },
  "required": [
    "key",
    "label"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
convert_to_subtaskConvert one or more EXISTING standard issues (Task/Story/Bug) into Sub-tasks nested under a parent, in the same project. This is the only way to nest an existing ticket — Jira's edit API refuses an issue-type change to subtask, so this uses the bulk-move API (the same operation as the UI 'Move'). Notifications are always sent (disabling them needs elevated permissions). Returns the per-issue result.
Input schema
{
  "type": "object",
  "properties": {
    "keys": {
      "type": "string",
      "description": "One or more ticket keys to convert, comma- or space-separated. E.g. 'ABC-371, ABC-373'"
    },
    "parent": {
      "type": "string",
      "description": "Parent ticket key the subtasks nest under (e.g. 'ABC-370'). Must be a standard-level issue (Task/Story/Feature/Bug) — not an Epic and not itself a subtask."
    }
  },
  "required": [
    "keys",
    "parent"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
create_ticketCreate a Jira ticket. Uses your configured default project unless `project` is given. If no default is set and `project` is omitted, this errors asking which project to use. Returns the ticket key (e.g. ABC-341).
Input schema
{
  "type": "object",
  "properties": {
    "summary": {
      "type": "string",
      "description": "Short title of the ticket"
    },
    "description": {
      "type": "string",
      "description": "Detailed description"
    },
    "type": {
      "type": "string",
      "enum": [
        "task",
        "bug",
        "feature",
        "subtask"
      ],
      "default": "task"
    },
    "project": {
      "type": "string",
      "description": "Project key to create in, e.g. 'ABC'. Omit to use the configured default project. Required (ask the user) when no default is configured."
    },
    "estimate": {
      "type": "string",
      "description": "Time estimate e.g. '2h', '1d'"
    },
    "assignee": {
      "type": "string",
      "description": "Who to assign — a full name, email, or 'me'/'unassigned'. Omit to leave unassigned. Resolved to a Jira account via the project's assignable-user search."
    },
    "parent": {
      "type": "string",
      "description": "Parent ticket key (e.g. 'ABC-370'). Required for type 'subtask' (parent must be a standard issue: Task/Story/Feature/Bug). For a Task/Story/Feature/Bug the parent must be an Epic — same-level parenting (e.g. Task under Feature) is rejected by Jira."
    },
    "move_to_in_progress": {
      "type": "boolean",
      "description": "Immediately move to In Progress after creation"
    }
  },
  "required": [
    "summary"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
download_attachmentDownload a Jira attachment by id to a local directory (created if missing). Returns the saved absolute path.
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Attachment id, e.g. '19014' — from list_attachments"
    },
    "outDir": {
      "type": "string",
      "description": "Directory to save into; created (recursively) if it doesn't exist"
    },
    "filename": {
      "type": "string",
      "description": "Override filename; defaults to the attachment's original filename"
    }
  },
  "required": [
    "id",
    "outDir"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
get_commentsGet comments on a Jira ticket: author, timestamp, and body flattened from ADF to plain text.
Input schema
{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "Ticket key like ABC-341 or just 341"
    },
    "max": {
      "type": "number",
      "default": 50,
      "description": "Max comments to return"
    }
  },
  "required": [
    "key"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
get_ticketGet details of a Jira ticket by key or number. E.g. 'ABC-341' or just '341'.
Input schema
{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "Ticket key like ABC-341 or just the number 341"
    }
  },
  "required": [
    "key"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
list_attachmentsList attachments on a Jira ticket: id, filename, mimeType, size, created, author.
Input schema
{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "Ticket key like ABC-341 or just 341"
    }
  },
  "required": [
    "key"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
move_ticketMove a Jira ticket to a new status.
Input schema
{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "Ticket key like ABC-341 or just 341"
    },
    "status": {
      "type": "string",
      "enum": [
        "todo",
        "in-progress",
        "qa",
        "vqa",
        "done"
      ]
    }
  },
  "required": [
    "key",
    "status"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
move_ticket_to_projectMove one or more Jira tickets to a DIFFERENT project (re-keys them, e.g. BUG-99 -> ABC-358). This is the cross-project 'Move' operation, not a status change — use move_ticket for status. Requires Move Issues permission on the source project. Statuses/fields the target workflow doesn't share are remapped to target defaults. Notifications are always sent (disabling them requires elevated permissions). Returns the old->new key mapping.
Input schema
{
  "type": "object",
  "properties": {
    "keys": {
      "type": "string",
      "description": "One or more ticket keys, comma- or space-separated. E.g. 'BUG-98, BUG-99'"
    },
    "target_project": {
      "type": "string",
      "description": "Target project key, e.g. 'ABC'. Defaults to your configured default project if one is set; required otherwise."
    }
  },
  "required": [
    "keys"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
remove_labelRemove a label from a Jira ticket.
Input schema
{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "Ticket key like ABC-341 or just 341"
    },
    "label": {
      "type": "string",
      "description": "Label to remove, e.g. 'ai-inprogress'"
    }
  },
  "required": [
    "key",
    "label"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
search_ticketsSearch Jira tickets using a plain-English query or JQL.
Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Plain text like 'my open bugs' or JQL like 'project=ABC AND status=QA'"
    },
    "max": {
      "type": "number",
      "default": 10
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
update_ticketUpdate fields on an existing Jira ticket.
Input schema
{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "Ticket key like ABC-341 or just 341"
    },
    "summary": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "estimate": {
      "type": "string",
      "description": "e.g. '2h', '1d'"
    },
    "assignee": {
      "type": "string",
      "description": "A full name, email, 'me', or 'unassigned'. Resolved to a Jira account via the project's assignable-user search."
    },
    "parent": {
      "type": "string",
      "description": "Parent ticket key (e.g. 'ABC-370'). Jira hierarchy applies: only an Epic can parent a Task/Story/Feature, and only a standard issue can parent a Subtask — same-level parenting is rejected."
    },
    "sprint": {
      "type": "number",
      "description": "Sprint id (integer) to place the ticket in, e.g. the current active sprint. Find it via JQL 'sprint in openSprints()'. Required after a cross-project move for the ticket to appear on the board."
    }
  },
  "required": [
    "key"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Resources 0

  • None observed.

Resource templates 0

  • None observed.

Prompts 0

  • None observed.

Remote endpoints

EndpointTransportAuthenticationHealthObserved
No verified remote endpoint is linked.

Jira MCP Server questions

How do I install Jira MCP Server?

No verified package installation command is available in the retained catalog evidence.

What tools does Jira MCP Server provide?

Jira MCP Server exposed 13 tools during independent protocol observation, including add_comment, add_label, convert_to_subtask, create_ticket, download_attachment, get_comments, get_ticket, list_attachments, and others.

Is Jira MCP Server secure?

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

Company and product intelligence

These internal links are derived from strong identity fields such as the implementation name, package, repository, vendor, and listing name—not generic description prose.

Associated company landscape

Atlassian intelligence →

Association is based on retained identity fields; it does not by itself prove first-party publication.

Explore related MCP server guides

Curated product and capability guides containing this catalog record.

Developer Tool MCP ServersOfficial vs Community MCP Servers

Let’s talk about MCP security.

Share your details and our security team will contact you.