← JIRA MCP Server

JIRA MCP Server 0.3.0

npm · @jl-0/jira-mcp-server · current release

14
Tools
0
Resources
0
Templates
0
Prompts

Observation

Observed 2026-08-22T22:08:27.729Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2024-11-05.

Server capabilities
{
  "tools": {}
}

Tools 14

ToolCategoryAnnotationsRisk
jira_get_current_userGet information about the currently authenticated JIRA user
Input schema
{
  "type": "object",
  "properties": {
    "expand": {
      "type": "string",
      "description": "Additional data to expand (groups, applicationRoles)"
    }
  },
  "required": []
}
— · —
jira_get_issueGet detailed information about a specific JIRA issue by its key (e.g., "IDS-10194"). Returns comprehensive issue details including summary, description, status, assignee, and custom fields. CRITICAL: Always use the fields parameter to request only specific fields needed - requesting all fields or omitting this parameter returns excessive data and may fail. For custom fields, use field discovery workflow first: (1) Get issue type with fields: ["issuetype", "project"], (2) Use jira_get_issue_type_fields to find field names/IDs, (3) Request only needed fields by name or customfield_XXXX ID. Example: fields: ["summary", "customfield_10001", "status"].
Input schema
{
  "type": "object",
  "properties": {
    "issueIdOrKey": {
      "type": "string",
      "description": "The JIRA issue ID or key to retrieve. Example: \"IDS-10194\" or \"PROJ-123\""
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional array of specific fields to return. Example: [\"summary\", \"status\", \"description\", \"assignee\", \"reporter\", \"priority\"]. If omitted, returns common fields: summary, status, priority, assignee, reporter, created, updated, description, issuetype, project, resolution, resolutiondate, duedate, labels, components, fixVersions, versions"
    },
    "expand": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional array of additional data to expand. Example: [\"changelog\", \"transitions\", \"renderedFields\"]. Warning: Some expand options may significantly increase response size"
    },
    "properties": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional array of issue properties to include. Example: [\"prop1\", \"prop2\"]. Use \"*all\" to include all properties"
    },
    "updateHistory": {
      "type": "boolean",
      "description": "Whether to update the issue's history of views"
    }
  },
  "required": [
    "issueIdOrKey"
  ]
}
— · —
jira_get_issue_commentsGet all comments for a specific JIRA issue by its key (e.g., "IDS-10194"). Returns a paginated list of comments with author and timestamp information.
Input schema
{
  "type": "object",
  "properties": {
    "issueIdOrKey": {
      "type": "string",
      "description": "The JIRA issue ID or key to get comments for. Example: \"IDS-10194\""
    },
    "maxResults": {
      "type": "number",
      "default": 50,
      "description": "Maximum number of comments to return as a number (default: 50). Must be a number, not a string."
    },
    "startAt": {
      "type": "number",
      "default": 0,
      "description": "Starting index for pagination as a number (default: 0). Must be a number, not a string."
    }
  },
  "required": [
    "issueIdOrKey"
  ]
}
— · —
jira_get_issue_field_namesGet all field IDs and their corresponding names for a specific JIRA issue. This tool retrieves the editmeta for an issue and returns a simplified list of field IDs (like "customfield_25931") mapped to their human-readable names (like "Target start"). Use this when you need to discover what fields are available for a specific issue.
Input schema
{
  "type": "object",
  "properties": {
    "issueIdOrKey": {
      "type": "string",
      "description": "The JIRA issue ID or key to get field names for. Example: \"IDS-10194\" or \"PROJ-123\""
    }
  },
  "required": [
    "issueIdOrKey"
  ]
}
— · —
jira_get_issue_transitionsGet available workflow transitions for a JIRA issue by its key (e.g., "IDS-10194"). Shows what status changes are possible for the issue (e.g., Open -> In Progress, In Progress -> Resolved).
Input schema
{
  "type": "object",
  "properties": {
    "issueIdOrKey": {
      "type": "string",
      "description": "The JIRA issue ID or key to get transitions for. Example: \"IDS-10194\""
    },
    "includeUnavailable": {
      "type": "boolean",
      "default": false,
      "description": "Whether to include transitions that are not available to the current user (default: false)"
    }
  },
  "required": [
    "issueIdOrKey"
  ]
}
— · —
jira_get_issue_type_fieldsGet all fields available for a specific issue type in a project. Returns detailed field metadata including which fields are required, their types, allowed values, and default values. Use this to understand what fields can be queried or set for a specific issue type.
Input schema
{
  "type": "object",
  "properties": {
    "projectIdOrKey": {
      "type": "string",
      "description": "The JIRA project ID or key. Example: \"IDS\" or \"10000\""
    },
    "issueTypeId": {
      "type": "string",
      "description": "The issue type ID to get fields for. Example: \"10001\""
    },
    "maxResults": {
      "type": "number",
      "default": 50,
      "description": "Maximum number of results to return as a number (default: 50). Must be a number, not a string."
    },
    "startAt": {
      "type": "number",
      "default": 0,
      "description": "Starting index for pagination as a number (default: 0). Must be a number, not a string."
    }
  },
  "required": [
    "projectIdOrKey",
    "issueTypeId"
  ]
}
— · —
jira_get_issue_typesGet all issue types available for a specific project. Returns issue type metadata including IDs and names. Use this to discover what issue types exist in a project before querying for their specific fields.
Input schema
{
  "type": "object",
  "properties": {
    "projectIdOrKey": {
      "type": "string",
      "description": "The JIRA project ID or key to get issue types for. Example: \"IDS\" or \"10000\""
    },
    "maxResults": {
      "type": "number",
      "default": 50,
      "description": "Maximum number of results to return as a number (default: 50). Must be a number, not a string."
    },
    "startAt": {
      "type": "number",
      "default": 0,
      "description": "Starting index for pagination as a number (default: 0). Must be a number, not a string."
    }
  },
  "required": [
    "projectIdOrKey"
  ]
}
— · —
jira_get_projectGet detailed information about a specific JIRA project
Input schema
{
  "type": "object",
  "properties": {
    "projectIdOrKey": {
      "type": "string",
      "description": "The JIRA project ID or key to retrieve. Example: \"IDS\" or \"10000\""
    },
    "expand": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional array of additional data to expand. Example: [\"description\", \"lead\", \"issueTypes\", \"components\", \"versions\"]"
    }
  },
  "required": [
    "projectIdOrKey"
  ]
}
— · —
jira_get_userGet information about a specific JIRA user by account ID
Input schema
{
  "type": "object",
  "properties": {
    "accountId": {
      "type": "string",
      "description": "The account ID of the user"
    },
    "expand": {
      "type": "string",
      "description": "Additional data to expand"
    }
  },
  "required": [
    "accountId"
  ]
}
— · —
jira_list_projectsList all JIRA projects accessible to the authenticated user
Input schema
{
  "type": "object",
  "properties": {
    "expand": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional array of additional data to expand. Example: [\"description\", \"lead\", \"url\", \"projectKeys\"]. Commonly used values: description, lead, url, projectKeys"
    },
    "recent": {
      "type": "number",
      "description": "Optional number to return only the N most recent projects. Must be a number, not a string. Example: 10 to get the 10 most recent projects"
    }
  },
  "required": []
}
— · —
jira_search_issue_fieldsSearch for specific fields by name in a JIRA issue. Provide an issue key and one or more search terms, and this tool will return matching field IDs and names. Supports partial/fuzzy matching - for example, searching for "test" will match "Task Test Procedure". Use this when you need to find the field ID for a specific field name.
Input schema
{
  "type": "object",
  "properties": {
    "issueIdOrKey": {
      "type": "string",
      "description": "The JIRA issue ID or key to search fields for. Example: \"IDS-10194\" or \"PROJ-123\""
    },
    "searchTerms": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array of search terms to match against field names. Example: [\"test\", \"story points\"]. Partial matches are supported."
    }
  },
  "required": [
    "issueIdOrKey",
    "searchTerms"
  ]
}
— · —
jira_search_issuesSearch for JIRA issues using JQL (JIRA Query Language). Use this to find issues based on various criteria like project, status, assignee, text content, etc. Returns a summary of matching issues.
Input schema
{
  "type": "object",
  "properties": {
    "jql": {
      "type": "string",
      "description": "JQL query string to search for issues. Examples: \"project = IDS\", \"assignee = currentUser() AND status = Open\", \"key = IDS-10314\". IMPORTANT: Use \"key = ISSUE-123\" to query a specific issue, NOT \"text ~ ISSUE-123\" which performs unnecessary full-text search."
    },
    "maxResults": {
      "type": "number",
      "default": 50,
      "description": "Maximum number of results to return as a number (default: 50, max: 100). Must be a number, not a string."
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional array of field names to include. Example: [\"summary\", \"status\", \"assignee\"]. Strongly recommended to specify only needed fields to reduce data transfer. If omitted, returns common fields: summary, status, priority, assignee, reporter, created, updated, issuetype, project, labels, components"
    },
    "expand": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional array of entities to expand. Example: [\"changelog\", \"transitions\"]. Common values: changelog, renderedFields, transitions"
    },
    "properties": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional array of issue properties to include. Example: [\"prop1\", \"prop2\"]. Use \"*all\" to include all properties"
    },
    "startAt": {
      "type": "number",
      "default": 0,
      "description": "Starting index for pagination as a number (default: 0). Use for fetching additional pages of results. Must be a number, not a string."
    }
  },
  "required": [
    "jql"
  ]
}
— · —
jira_search_projectsSearch for JIRA projects based on various criteria
Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query string"
    },
    "maxResults": {
      "type": "number",
      "default": 50,
      "description": "Maximum number of results as a number (default: 50). Must be a number, not a string."
    },
    "startAt": {
      "type": "number",
      "default": 0,
      "description": "Starting index for pagination as a number (default: 0). Must be a number, not a string."
    },
    "orderBy": {
      "type": "string",
      "enum": [
        "category",
        "-category",
        "+category",
        "key",
        "-key",
        "+key",
        "name",
        "-name",
        "+name",
        "owner",
        "-owner",
        "+owner"
      ],
      "default": "key",
      "description": "Order results by field"
    },
    "typeKey": {
      "type": "string",
      "description": "Project type key"
    },
    "categoryId": {
      "type": "number",
      "description": "Project category ID as a number. Must be a number, not a string."
    },
    "action": {
      "type": "string",
      "enum": [
        "view",
        "browse",
        "edit"
      ],
      "default": "browse",
      "description": "Filter by permission"
    }
  },
  "required": []
}
— · —
jira_search_usersSearch for JIRA users by query string
Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query matching display name and email"
    },
    "accountId": {
      "type": "string",
      "description": "Find user by account ID"
    },
    "maxResults": {
      "type": "number",
      "default": 50,
      "description": "Maximum number of results as a number (default: 50). Must be a number, not a string."
    },
    "startAt": {
      "type": "number",
      "default": 0,
      "description": "Starting index for pagination as a number (default: 0). Must be a number, not a string."
    }
  },
  "required": []
}
— · —

Resources 0

Resource templates 0

Prompts 0

Let’s talk about MCP security.

Share your details and our security team will contact you.