← jira-mcp

jira-mcp f31aefc38f79ca44959a92a476f580bb97e99429

source_git · tocharianou/jira-mcp · current release

9
Tools
0
Resources
0
Templates
0
Prompts

Observation

Observed 2026-08-25T19:36:30.626Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2025-06-18.

Server capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools 9

ToolCategoryAnnotationsRisk
add_commentAdd a comment to a Jira issue. Use to record investigation steps, evidence, findings, or remediation actions directly on the ticket. Preserves the full audit trail of the security response.
Input schema
{
  "type": "object",
  "properties": {
    "issue_key": {
      "type": "string",
      "description": "Jira issue key to comment on (e.g. SEC-123)."
    },
    "comment": {
      "type": "string",
      "description": "Comment text. Markdown-like formatting is supported (bold, lists, code blocks will render in Jira)."
    }
  },
  "required": [
    "issue_key",
    "comment"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
create_issueCreate a new Jira issue. Use to file security incidents, vulnerabilities, or remediation tasks. Returns the new issue key and URL. Common issue types: Task, Bug, Story, Incident, Security Incident (depends on project configuration).
Input schema
{
  "type": "object",
  "properties": {
    "project_key": {
      "type": "string",
      "description": "Jira project key where the issue will be created (e.g. SEC, INFRA, OPS)."
    },
    "summary": {
      "type": "string",
      "description": "Issue summary/title (one-line description of the incident or task)."
    },
    "issue_type": {
      "type": "string",
      "description": "Issue type name (default: Task). Examples: Task, Bug, Story, Incident. Must match a type available in the project."
    },
    "description": {
      "type": "string",
      "description": "Full description of the issue. Plain text; will be formatted for Jira API version automatically."
    },
    "priority": {
      "type": "string",
      "description": "Priority name. Examples: Critical, High, Medium, Low."
    },
    "assignee": {
      "type": "string",
      "description": "Assignee Jira accountId (use search_issues to find accountIds or check with jira_health_check for your own)."
    },
    "labels": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Labels to attach. Examples: [\"security-incident\", \"ransomware\", \"P1\"]."
    },
    "components": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Component names to associate. Must match existing components in the project."
    }
  },
  "required": [
    "project_key",
    "summary"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_issueGet full details of a single Jira issue by key (e.g. SEC-123). Returns description, all comments, status, priority, assignee, reporter, labels, and timestamps. Use after search_issues to inspect a specific issue in depth.
Input schema
{
  "type": "object",
  "properties": {
    "issue_key": {
      "type": "string",
      "description": "Jira issue key (e.g. SEC-123, INFRA-456, PROJ-789)."
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Specific fields to fetch. Default includes description and all comments."
    },
    "max_tokens": {
      "type": "number",
      "description": "Max output tokens. Default: 20000."
    },
    "break_token_rule": {
      "type": "boolean",
      "description": "Bypass token limit check."
    }
  },
  "required": [
    "issue_key"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
jira_health_checkTest the Jira connection. Returns authenticated account info (display name, email, account ID) and Jira server version/deployment type. Run first to verify credentials and connectivity.
Input schema
{
  "type": "object",
  "properties": {
    "max_tokens": {
      "type": "number",
      "description": "Max output tokens. Default: 20000."
    },
    "break_token_rule": {
      "type": "boolean",
      "description": "Bypass token limit check."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
list_projectsList all accessible Jira projects with their keys, names, and types. Use to find the correct project key before creating issues or running JQL queries scoped to a specific project.
Input schema
{
  "type": "object",
  "properties": {
    "max_results": {
      "type": "number",
      "description": "Maximum projects to return (default: 50, max: 100)."
    },
    "max_tokens": {
      "type": "number",
      "description": "Max output tokens. Default: 20000."
    },
    "break_token_rule": {
      "type": "boolean",
      "description": "Bypass token limit check."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
list_transitionsList all available status transitions for a Jira issue. Returns transition IDs and target status names. Use before transition_issue to find the correct transition ID (e.g. "In Progress", "Resolved", "Closed").
Input schema
{
  "type": "object",
  "properties": {
    "issue_key": {
      "type": "string",
      "description": "Jira issue key (e.g. SEC-123)."
    },
    "max_tokens": {
      "type": "number",
      "description": "Max output tokens. Default: 20000."
    },
    "break_token_rule": {
      "type": "boolean",
      "description": "Bypass token limit check."
    }
  },
  "required": [
    "issue_key"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
search_issuesSearch Jira issues using JQL (Jira Query Language). Returns key, summary, status, type, priority, assignee, reporter, created/updated dates and labels. Use for finding security incidents, open vulnerabilities, or tracking remediation tasks. Examples: `project = SEC AND status != Done`, `assignee = currentUser() AND priority = High`, `labels = security-incident ORDER BY created DESC`.
Input schema
{
  "type": "object",
  "properties": {
    "jql": {
      "type": "string",
      "description": "JQL query string. Examples: \"project=SEC AND status=Open\", \"priority=Critical AND labels=security-incident ORDER BY created DESC\""
    },
    "max_results": {
      "type": "number",
      "description": "Maximum issues to return (default: 50, max: 100). Reduce if token limit hit."
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Specific fields to return. Default: summary,status,issuetype,priority,assignee,reporter,created,updated,labels. Add \"description\" for full text."
    },
    "start_at": {
      "type": "number",
      "description": "Pagination offset (default: 0). Use with max_results to paginate large result sets."
    },
    "max_tokens": {
      "type": "number",
      "description": "Max output tokens. Default: 20000."
    },
    "break_token_rule": {
      "type": "boolean",
      "description": "Bypass token limit check."
    }
  },
  "required": [
    "jql"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
transition_issueMove a Jira issue to a new status using a transition ID. Use list_transitions first to discover available transition IDs. Optionally attach a comment explaining the status change (e.g. "Closed: investigation complete, no compromise confirmed").
Input schema
{
  "type": "object",
  "properties": {
    "issue_key": {
      "type": "string",
      "description": "Jira issue key to transition (e.g. SEC-123)."
    },
    "transition_id": {
      "type": "string",
      "description": "Transition ID from list_transitions (e.g. \"31\" for \"In Progress\", \"41\" for \"Done\")."
    },
    "comment": {
      "type": "string",
      "description": "Optional comment to attach when transitioning (e.g. rationale for closing or escalating)."
    }
  },
  "required": [
    "issue_key",
    "transition_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
update_issueUpdate fields of an existing Jira issue (summary, description, priority, labels). Use to enrich a security incident with investigation findings. To change status, use transition_issue instead.
Input schema
{
  "type": "object",
  "properties": {
    "issue_key": {
      "type": "string",
      "description": "Jira issue key to update (e.g. SEC-123)."
    },
    "summary": {
      "type": "string",
      "description": "New summary/title."
    },
    "description": {
      "type": "string",
      "description": "New description text. Overwrites existing description."
    },
    "priority": {
      "type": "string",
      "description": "New priority. Examples: Critical, High, Medium, Low."
    },
    "labels": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "New labels array. Replaces existing labels entirely."
    }
  },
  "required": [
    "issue_key"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —

Resources 0

Resource templates 0

Prompts 0

Let’s talk about MCP security.

Share your details and our security team will contact you.