jira-mcp
Allows interaction with Jira, providing tools for issue search, creation, updates, comments, status transitions, and project listing. Purpose-built for security incident management and SOC workflows.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@jira-mcpsearch for all open critical security incidents"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Jira MCP Server
A Model Context Protocol (MCP) server for Jira — issue search, creation, updates, comments, status transitions, and project listing. Purpose-built for security incident management and SOC workflows.
Quick Start
Claude Desktop (stdio)
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["-y", "@tocharianou/jira-mcp"],
"env": {
"JIRA_HOST": "https://yourorg.atlassian.net",
"JIRA_EMAIL": "you@company.com",
"JIRA_TOKEN": "<your-api-token>"
}
}
}
}Get your Jira API token at id.atlassian.com/manage-profile/security/api-tokens.
HTTP / Streamable mode
MCP_TRANSPORT=http MCP_HTTP_PORT=3002 JIRA_HOST=https://yourorg.atlassian.net JIRA_EMAIL=you@company.com JIRA_TOKEN=<token> npx @tocharianou/jira-mcpThen point your MCP client at http://localhost:3002/mcp.
Related MCP server: Jira MCP Integration
Features
Issue search — JQL-powered queries for incidents, vulnerabilities, and tasks
Issue management — create, update, comment, and transition issues
Incident tracking — open security tickets directly from investigation findings
Project discovery — list all accessible Jira projects
Token limiting — built-in
MAX_TOKEN_CALLguard prevents context overflow
Configuration
Environment variable | Required | Description |
| ✓ | Jira Cloud: |
| ✓* | Atlassian account email (Cloud only; leave empty for Server/DC) |
| ✓ | API token (Cloud) or Personal Access Token (Server/Data Center) |
| – |
|
| – |
|
| – | Token limit per tool response (default: |
| – |
|
| – | HTTP server port (default: |
| – | HTTP server host (default: |
* JIRA_EMAIL is required for Jira Cloud. Leave empty for Jira Server / Data Center (use PAT only).
Available Tools
Tool | Description |
| Test connection, verify account info and server version |
| Search issues using JQL — find incidents, open vulnerabilities, remediation tasks |
| Get full details of a single issue including comments and history |
| Create a new issue (incident, task, bug, etc.) |
| Update summary, description, priority, or labels |
| Add a comment to record investigation findings |
| List available status transitions for an issue |
| Move an issue to a new status (e.g. In Progress, Resolved, Closed) |
| List all accessible Jira projects with keys and types |
Example Queries
"Search for all open critical security incidents in the SEC project"
"Create a Jira ticket for the suspicious login activity from 192.168.1.100"
"Get the full details of ticket SEC-1234 including all comments"
"Move SEC-1234 to Resolved and add a closing comment with my findings"
"List all Jira projects I have access to"
Debugging
Use the MCP Inspector to test and debug:
npm run inspectorServer logs are written to stderr so they do not interfere with the MCP JSON-RPC stream on stdout.
Troubleshooting
Symptom | Likely cause |
| Invalid |
| Insufficient permissions on the project |
| Issue key or project does not exist |
| Wrong |
SSL errors | Set |
Token limit exceeded | Reduce |
Development
git clone https://github.com/TocharianOU/jira-mcp.git
cd jira-mcp
npm install --ignore-scripts
npm run build
cp .env.example .env # fill in your credentials
npm startRelease
See RELEASE.md for the full release process.
License
Apache 2.0 — Copyright © 2024 TocharianOU Contributors
Available Tools
9 toolsadd_commentA
Add 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.
| Name | Required | Description | Default |
|---|---|---|---|
| comment | Yes | Comment text. Markdown-like formatting is supported (bold, lists, code blocks will render in Jira). | |
| issue_key | Yes | Jira issue key to comment on (e.g. SEC-123). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It explicitly states the mutating action (add a comment) and adds context about preserving the audit trail, which provides useful behavioral insight beyond the bare action. It doesn't cover permissions or reversibility, but for a simple tool this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences, each serving a distinct purpose: stating the action, providing usage context, and noting a behavioral trait. It is efficiently front-loaded with the purpose in the first sentence and contains no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (2 parameters, no nested structures, no output schema). The description covers purpose, usage scenarios, and a behavioral note, which is adequate. It doesn't explain return values, but for add_comment this is not necessary given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The schema already fully describes both parameters (comment and issue_key) with examples. The description does not add parameter-specific details beyond what the schema provides, so a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action with a specific verb and resource: 'Add a comment to a Jira issue.' It also provides specific use cases (investigation steps, evidence, findings, remediation actions) and naturally distinguishes itself from siblings like create_issue, update_issue, and transition_issue.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use the tool ('Use to record investigation steps, evidence, findings, or remediation actions directly on the ticket.'). However, it does not explicitly name alternatives or state when not to use it, which would merit a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_issueA
Create 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).
| Name | Required | Description | Default |
|---|---|---|---|
| labels | No | Labels to attach. Examples: ["security-incident", "ransomware", "P1"]. | |
| summary | Yes | Issue summary/title (one-line description of the incident or task). | |
| assignee | No | Assignee Jira accountId (use search_issues to find accountIds or check with jira_health_check for your own). | |
| priority | No | Priority name. Examples: Critical, High, Medium, Low. | |
| components | No | Component names to associate. Must match existing components in the project. | |
| issue_type | No | Issue type name (default: Task). Examples: Task, Bug, Story, Incident. Must match a type available in the project. | |
| description | No | Full description of the issue. Plain text; will be formatted for Jira API version automatically. | |
| project_key | Yes | Jira project key where the issue will be created (e.g. SEC, INFRA, OPS). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It adds useful context (returns key/URL, common issue types, project-dependency) but does not disclose potential side effects, permission requirements, or error behaviors. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the primary action, then usage context, return value, and common types. No redundant information or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter create tool with no output schema, the description covers purpose, when to use, and return value. The schema handles parameter details. It lacks discussion of error scenarios or prerequisites, but is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds minimal parameter-specific meaning beyond the schema's own descriptions, but it does mention common issue types and return behavior that indirectly reflect parameters. No major gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Create'), resource ('Jira issue'), and scope ('security incidents, vulnerabilities, or remediation tasks'), and it specifies the return value (issue key and URL). This distinguishes it from siblings like update_issue or search_issues.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit context for when to use the tool ('Use to file security incidents, vulnerabilities, or remediation tasks') and notes that issue types depend on project configuration. It does not explicitly name alternative tools for other actions, but the usage context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_issueA
Get 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.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Specific fields to fetch. Default includes description and all comments. | |
| issue_key | Yes | Jira issue key (e.g. SEC-123, INFRA-456, PROJ-789). | |
| max_tokens | No | Max output tokens. Default: 20000. | |
| break_token_rule | No | Bypass token limit check. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden and does disclose what data is returned. However, it does not explicitly state the read-only nature, error behavior, or token-limit handling, leaving some behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main purpose and key details. Every sentence contributes to understanding the tool's use and output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the tool's return values and usage context, which is important given no output schema. It lacks error handling or pagination details, but for a single-issue fetch the core information is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds context on return fields but does not add meaningful syntax or detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('single Jira issue by key'), and uniquely identifies the input format with an example (SEC-123). It lists the fields returned, clearly distinguishing it from the sibling search_issues tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs when to use this tool ('Use after search_issues') and provides the purpose ('inspect a specific issue in depth'). This gives clear context relative to the sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_health_checkA
Test 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.
| Name | Required | Description | Default |
|---|---|---|---|
| max_tokens | No | Max output tokens. Default: 20000. | |
| break_token_rule | No | Bypass token limit check. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the behavior (a read-only connection test), what it returns (authenticated account info, server version), and the purpose. It doesn't mention edge cases like network errors or permission requirements, but for a simple health check this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and every sentence adds value. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description sufficiently explains what the tool does and what it returns, covering the essentials despite having no output schema. It omits details like whether it makes a network call or how long it takes, but that's less critical for a health-check tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already fully documented. The description adds no additional meaning beyond the schema, and the parameters (max_tokens, break_token_rule) are generic MCP parameters not specific to this tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Test the Jira connection') and resource (Jira), and distinguishes it from sibling tools by focusing on health check/authentication rather than issue operations. It also specifies the exact output (account info, server version/deployment type).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance to 'Run first to verify credentials and connectivity,' which tells the agent when to use this tool before other Jira operations. It doesn't explicitly name alternatives or state when not to use it, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsA
List 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.
| Name | Required | Description | Default |
|---|---|---|---|
| max_tokens | No | Max output tokens. Default: 20000. | |
| max_results | No | Maximum projects to return (default: 50, max: 100). | |
| break_token_rule | No | Bypass token limit check. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It states the tool lists accessible projects and returns keys, names, and types, but does not disclose aspects like pagination, read-only status, or any side effects. The behavior disclosed is minimal but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences long and immediately states the main action. The second sentence provides practical guidance without any wasted words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation, this description adequately covers the core purpose and usage context. The output fields are named, and the tool's relationship to sibling operations is clear. It does not describe every edge case, but the schema handles parameter-level details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with all three parameters described in the input schema. The description does not add additional meaning beyond the schema, nor does it conflict with it. Thus, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool lists accessible Jira projects with their keys, names, and types, using a specific verb and resource. It also distinguishes itself from siblings by explicitly connecting to the workflow of finding project keys before creating issues or running JQL queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit context for when to use this tool: to find the correct project key before creating issues or running JQL queries. It does not mention alternatives by name, nor does it provide exclusionary conditions, but the use case is clearly defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_transitionsA
List 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").
| Name | Required | Description | Default |
|---|---|---|---|
| issue_key | Yes | Jira issue key (e.g. SEC-123). | |
| max_tokens | No | Max output tokens. Default: 20000. | |
| break_token_rule | No | Bypass token limit check. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the return content (transition IDs and target status names), and the verb 'List' implies a read-only operation. However, it does not explicitly state that no changes are made or mention any prerequisites or error behavior, though the core behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the main function, and includes a concrete usage example with status names. No filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with a fully documented schema, the description provides purpose, return format, and usage context. It is complete enough for an agent to select and invoke the tool correctly, even without an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with descriptions for all three parameters. The tool description does not add parameter-level detail, but since the schema fully documents them, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'List all available status transitions for a Jira issue' and specifies that it returns transition IDs and target status names. It also distinguishes itself from the sibling transition_issue tool by framing this as a preparatory step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use before transition_issue to find the correct transition ID', providing direct when-to-use guidance and naming the alternative tool. This is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_issuesA
Search 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.
| Name | Required | Description | Default |
|---|---|---|---|
| jql | Yes | JQL query string. Examples: "project=SEC AND status=Open", "priority=Critical AND labels=security-incident ORDER BY created DESC" | |
| fields | No | Specific fields to return. Default: summary,status,issuetype,priority,assignee,reporter,created,updated,labels. Add "description" for full text. | |
| start_at | No | Pagination offset (default: 0). Use with max_results to paginate large result sets. | |
| max_tokens | No | Max output tokens. Default: 20000. | |
| max_results | No | Maximum issues to return (default: 50, max: 100). Reduce if token limit hit. | |
| break_token_rule | No | Bypass token limit check. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the return fields, demonstrates query syntax, and implies a list result. However, it does not mention default ordering, pagination behavior, or error handling, which are minor gaps for a search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficient and well-structured: first sentence states the function, second lists return fields, third provides domain-specific use cases, and the remaining sentences give concrete examples. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate complexity (6 params, no output schema), the description covers purpose, return fields, and use cases, while the schema handles parameter details. It is complete enough for an agent to select and invoke the tool correctly without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds value via JQL examples but does not elaborate on parameter semantics beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Search Jira issues using JQL' with a specific verb and resource, and the JQL method distinguishes it from get_issue and other issue tools. It also lists the exact fields returned, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear use cases ('Use for finding security incidents, open vulnerabilities, or tracking remediation tasks') and includes example queries that show the intended usage. It does not explicitly contrast with sibling tools like get_issue, but the context is sufficient for an agent to decide when to use this search tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transition_issueA
Move 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").
| Name | Required | Description | Default |
|---|---|---|---|
| comment | No | Optional comment to attach when transitioning (e.g. rationale for closing or escalating). | |
| issue_key | Yes | Jira issue key to transition (e.g. SEC-123). | |
| transition_id | Yes | Transition ID from list_transitions (e.g. "31" for "In Progress", "41" for "Done"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the transparency burden. It discloses the core mutation (status change) and the optional comment attachment, including an example. However, it does not mention permissions, reversibility, or error behavior, which would be useful for a mutation tool. The disclosed behaviors are accurate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long and front-loaded: first the primary action, then the prerequisite, then optional behavior with an example. Every clause contributes meaningful guidance with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (three flat parameters, no output schema, no nested objects), the description covers the essential workflow: decide the transition, get the ID from list_transitions, and optionally add a comment. It lacks return value details, but that is acceptable given the absence of an output schema and the straightforward nature of the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
User-provided schema descriptions already cover 100% of parameters, so the baseline is 3. The tool description adds value by explicitly linking transition_id to list_transitions output and providing a sample comment rationale, which goes beyond the schema's basic parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'Move' and the resource 'Jira issue to a new status', and identifies the mechanism 'using a transition ID'. It distinguishes itself from sibling tools like update_issue by focusing on status transitions and pointing to list_transitions for ID discovery.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states 'Use list_transitions first to discover available transition IDs', providing a clear prerequisite and coordinating with a sibling tool. It does not explicitly exclude alternatives or list when not to use, but the context is clear enough for an agent to choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_issueA
Update 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.
| Name | Required | Description | Default |
|---|---|---|---|
| labels | No | New labels array. Replaces existing labels entirely. | |
| summary | No | New summary/title. | |
| priority | No | New priority. Examples: Critical, High, Medium, Low. | |
| issue_key | Yes | Jira issue key to update (e.g. SEC-123). | |
| description | No | New description text. Overwrites existing description. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description does not disclose mutation implications, partial update behavior, or reversibility. It only repeats the action and field list, offering no additional context beyond what the name implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler. Each sentence provides distinct value: what it does, when to use it, and the status-change alternative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, use case, and a key alternative. However, it does not mention whether unspecified fields remain unchanged or what the response contains, which would be useful for a mutation tool without an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage for all five parameters, so the baseline is 3. The description merely lists field names without adding any extra meaning, such as update semantics for omitted fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses 'Update fields of an existing Jira issue' with a specific verb and resource, and lists the affected fields. It also distinguishes itself from transition_issue by explicitly redirecting status changes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states 'Use to enrich a security incident with investigation findings' and explicitly says 'To change status, use transition_issue instead.' This provides both a suggested use case and a clear alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: health check, search, get, create, update, comment, list transitions, transition, and list projects. No two tools overlap; even list_transitions and transition_issue are sequential rather than ambiguous.
All tool names follow a consistent verb_noun pattern in snake_case: search_issues, get_issue, create_issue, update_issue, add_comment, list_transitions, transition_issue, list_projects. The only outlier is jira_health_check, but it also follows the pattern (verb + noun) and the prefix is acceptable.
Nine tools is well-scoped for a Jira server. Each covers a core operation (connectivity check, search, read, create, update, comment, status transition, project discovery) without being bloated or redundant.
The toolset covers the full lifecycle for Jira issues: search, get, create, update, comment, and transition. Minor gaps exist, such as no way to list available issue types or project metadata beyond names/keys, and no delete/archive capability, but these are not critical for the apparent security-workflow focus.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Connect to Atlassian Jira, Confluence, and Compass to search, create, and manage your work.
Enrich, search, assess, and manage threat intelligence through 80+ typed MCP tools.
Manage incident alerts, events, and workflows with custom automations
SOAR security playbooks for AI agents: fetch, full-text search, and count. Metered via Stripe.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Jira Cloud and Server/Data Center deployments for issue management, project tracking, and workflow automation. Supports multiple authentication methods including API tokens, OAuth 2.0, and personal access tokens.MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with Jira Cloud through the REST API, supporting project management, issue operations (create, read, update, delete), JQL search, task assignments, and status transitions.
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Jira issues, projects, and comments via API Key. Supports operations like creating, updating, searching, transitioning issues, and managing projects.640MIT
- AlicenseAqualityDmaintenanceEnables interaction with Jira issues via JQL search, epic management, comments, attachments, and issue CRUD, with support for both Cloud and Server/Data Center instances.918MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/TocharianOU/jira-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server