jira-mcp-server
Provides tools for interacting with Jira, enabling search, create/get issues, commenting, assigning, transitioning, and listing projects.
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-mcp-serverfind all open bugs assigned to me"
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
Stdio-based MCP server exposing Jira tools (search, get/create issue, comment, assign, transition, list projects).
Image: thisisrasel/jira-mcp-server (tags: latest, 1.0.0)
Environment variables
Var | Required | Notes |
| yes | e.g. |
| no | Bearer auth; if set, takes priority over username/password |
| only if no | basic auth |
| only if no | basic auth |
See .env.example.
Related MCP server: jira-cli-mcp
Run via MCP client
Add to your MCP client config (e.g. Claude Desktop claude_desktop_config.json), passing credentials as env vars on the docker run command rather than baking them into the image:
{
"mcpServers": {
"jira": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "JIRA_BASE_URL",
"-e", "JIRA_TOKEN",
"thisisrasel/jira-mcp-server:latest"
],
"env": {
"JIRA_BASE_URL": "https://your-jira-instance.com",
"JIRA_TOKEN": "your-token"
}
}
}
}For basic auth instead of a token, swap the -e/env entries for JIRA_USERNAME and JIRA_PASSWORD.
Build & push
docker build -t thisisrasel/jira-mcp-server:1.0.0 -t thisisrasel/jira-mcp-server:latest .
docker push thisisrasel/jira-mcp-server:1.0.0
docker push thisisrasel/jira-mcp-server:latestAvailable Tools
7 toolsjira_add_commentAdd Jira CommentC
Add comment to issue
| Name | Required | Description | Default |
|---|---|---|---|
| comment | Yes | ||
| issueKey | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing safety and side effects, but it only states the basic action. It does not mention whether authentication is required, whether the operation is reversible, or what the response contains, making the tool's behavior opaque.
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 a single sentence with no extraneous words, making it highly concise. However, the extreme brevity under-specifies the tool, leaving gaps that reduce its overall effectiveness despite the clean structure.
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 mutation tool with no annotations, no output schema, and undocumented parameters, the description is incomplete. It does not address when to use the tool, parameter semantics, or behavioral expectations, leaving the agent under-informed for correct invocation.
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 has two required string parameters with zero description coverage. The description does not elaborate on the meaning, format, or expected values of `issueKey` or `comment`, failing to compensate for the absence of schema-level documentation.
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 'Add comment to issue' clearly states the action (add) and the target (comment to issue), distinguishing it from sibling tools like search, create, and transition. This is a specific verb+resource combination that leaves no ambiguity about the tool's function.
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?
No guidance is provided about when to use this tool relative to alternatives such as jira_transition_issue or jira_create_issue. The description does not mention prerequisites, exclusions, or appropriate contexts, leaving the agent without selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_assign_issueAssign Jira IssueC
Assign issue to user
| Name | Required | Description | Default |
|---|---|---|---|
| issueKey | Yes | ||
| username | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing behavioral traits. It only says 'Assign issue to user' without mentioning effects like overwriting existing assignee, required permissions, or error behavior for invalid issue/user, so it fails to provide necessary transparency.
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 a clean, front-loaded single sentence with no filler. It is concise and easy to parse, though it could be slightly expanded with behavioral or usage context without harming conciseness.
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 mutation tool with no annotations and no output schema, the description is too sparse. It omits details about how the assignment behaves (e.g., whether prior assignee is replaced), permission requirements, error cases, and expected outcomes. This is insufficient for an agent to confidently use the tool correctly.
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 has 0% description coverage, and the description does not compensate. It merely paraphrases 'issue' and 'user' without explaining the issueKey format, username type (e.g., display name vs account ID), or any constraints. This leaves the agent without meaningful parameter semantics beyond the schema's bare type declarations.
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 'assign' with a clear resource ('issue') and recipient ('user'), which precisely identifies the tool's function. It also distinguishes this tool from sibling tools like jira_transition_issue (status change) and jira_add_comment, which handle different operations.
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?
No guidance is provided on when to use this tool versus alternatives. While the verb 'assign' implies its purpose, there is no explicit statement about appropriate contexts, prerequisites, or when to choose it over sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_create_issueCreate Jira IssueC
Create a Jira task
| Name | Required | Description | Default |
|---|---|---|---|
| summary | Yes | ||
| issueType | No | Task | |
| projectKey | Yes | ||
| description | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of disclosing behavioral traits. It only says 'Create a Jira task' without mentioning side effects, validation, permissions, or what happens on success/failure. For a mutation tool, this is a notable gap in transparency.
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 extremely short, but this is under-specification rather than conciseness. It provides no value beyond the title and does not earn its place. A single sentence can be concise and informative, but here it is merely a tautology.
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 has 4 parameters, no annotations, and no output schema, the description is grossly incomplete. It does not explain required fields, defaults, or the outcome of the operation. This is completely inadequate for an agent to invoke the tool correctly.
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 0%, and the description adds no information about the parameters (projectKey, summary, description, issueType). It does not compensate for the missing schema descriptions, leaving the agent without any guidance on parameter meanings or formats beyond the bare property names.
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 'Create a Jira task' clearly states the core action (create) and the resource (Jira task/issue). It is distinct from sibling tools like jira_search or jira_get_issue, though it does not explicitly differentiate itself or mention scope. It is clear but lacks the explicit sibling differentiation that would merit a 5.
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 no guidance on when to use this tool versus alternatives, no prerequisites, and no context about the creation workflow. It simply states the action without any usage context, so it fails to help the agent decide when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_get_issueGet Jira IssueC
Retrieve Jira issue details
| Name | Required | Description | Default |
|---|---|---|---|
| issueKey | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. While 'Retrieve' implies a read-only operation, it does not explain return values, error behavior, or any permissions needed. The description adds minimal context beyond the tool's name.
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 a single concise sentence with no extraneous words. It is front-loaded and effectively communicates the core action.
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 low complexity (one parameter, no output schema, no annotations), the description is minimally adequate but incomplete. It does not specify that the issue is retrieved by key or describe the return payload, leaving some gaps for a simple getter 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?
The schema has 0% description coverage, and the description does not compensate by explaining the issueKey parameter. Although the parameter name is self-explanatory, the description adds no additional meaning, leaving the param semantics entirely to the schema.
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 retrieves Jira issue details, using a specific verb and resource. However, it does not distinguish itself from the sibling tool jira_search, which also returns issue information, so it lacks explicit differentiation.
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 no guidance on when to use this tool versus alternatives like jira_search. It does not mention that this tool is for fetching a single issue by its key, nor does it direct users to jira_search for finding issues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_projectsList Jira ProjectsC
Get Jira projects
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavior. It only states 'Get Jira projects' with no information about return format, pagination, authentication, or side effects. This is completely insufficient for a tool that may have nuances in listing projects.
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 a single concise sentence with no unnecessary words, making it front-loaded and easy to read. It is appropriately sized for a zero-parameter tool, though it is minimal. It earns a 4 for efficiency, not a 5 because it offers no structural detail or helpful breakdown.
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 absence of an output schema and annotations, the description should explain what the response looks like or any important behavior. It does neither, leaving the agent uncertain about the return shape (e.g., array of project objects) or possible limits. The description is too sparse to be considered complete for a tool with no other documentation.
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 tool has zero parameters, and the schema is trivially complete with 100% coverage. The description adds no parameter-level detail because none is needed. With no parameters, the baseline of 4 applies, and the description does not detract from it.
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 'Get Jira projects' clearly states the action (get) and resource (Jira projects), matching the title 'List Jira Projects.' It is distinguishable from sibling tools like jira_search or jira_get_issue, which focus on issues rather than projects. However, it lacks any qualifiers like 'all' or 'summary,' so it is not fully specific.
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 no guidance on when to use this tool versus alternatives such as jira_search or jira_get_issue. There is no mention of prerequisites, typical use cases, or exclusions. The user is left to infer that this is for listing projects, but no explicit comparison to sibling tools is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_searchSearch Jira IssuesB
Search Jira issues using JQL
| Name | Required | Description | Default |
|---|---|---|---|
| jql | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It only states the basic function and does not mention result format, pagination, rate limits, or the read-only nature of the operation.
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 a single, focused sentence with no fluff. It is front-loaded and to the point, which is appropriate for a simple tool.
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 does not address what the search returns, how it differs from jira_get_issue, or any caveats. With no output schema, the lack of return value information is a significant gap, even for a simple search 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?
The description adds minimal meaning by specifying that the query is in JQL, but it does not explain what JQL is, how to construct it, or any format requirements. Schema coverage is 0%, so this minimal addition is insufficient.
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 ('Search'), the resource ('Jira issues'), and the method ('using JQL'). This distinguishes it from sibling tools like jira_get_issue (fetch a single issue) and other Jira actions.
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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of use cases, exclusions, or comparisons with jira_get_issue or other siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_transition_issueTransition Jira IssueC
Move issue to another workflow state
| Name | Required | Description | Default |
|---|---|---|---|
| issueKey | Yes | ||
| transitionId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description has the full burden of disclosing behavioral traits. It only states that the issue is moved to another workflow state, without mentioning side effects, permissions, or failure modes (e.g., invalid transitionId). This is insufficient for a state-changing 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 a single concise sentence with no unnecessary words, front-loading the core action. It is slightly too sparse, but this is more a completeness issue than a conciseness issue, so the structure itself earns a 4.
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 mutation tool with no annotations, no output schema, and minimal parameter info, the one-sentence description is inadequate. It does not explain how to discover valid transition IDs, what happens after the transition, or whether the change is reversible. The absence of response details leaves the agent with an incomplete picture.
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 0%, and the description does not compensate by explaining that issueKey identifies the issue and transitionId is a workflow transition identifier. While the parameter names hint at their meaning, the description adds no meaningful detail beyond the raw schema 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 a specific verb ('move') and resource ('issue') with a target ('another workflow state'), making the action clear. It implicitly distinguishes from siblings like jira_create_issue or jira_search, but does not explicitly name alternatives, so it falls short of a 5.
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?
There is no guidance on when to use this tool versus alternatives such as jira_assign_issue or jira_create_issue. It also does not explain how to obtain a valid transitionId or the context in which transitions apply, leaving the agent without usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
7 tool updates
v1.0.0- First observed
jira_add_comment - First observed
jira_assign_issue - First observed
jira_create_issue - First observed
jira_get_issue - First observed
jira_projects - First observed
jira_search - First observed
jira_transition_issue
TDQS
Each tool targets a distinct Jira operation: search, retrieve, create, comment, assign, transition, and list projects. There is no overlap or ambiguity between them.
All tools share the 'jira_' prefix and use snake_case, with most following a verb_noun pattern (e.g., jira_get_issue). The exception is jira_projects, which is a simple noun rather than 'list_projects', but this is a minor deviation.
With 7 tools, the server is well-scoped for common Jira operations. Each tool covers a core feature without unnecessary bloat or missing essentials.
The set covers create, read, search, comment, assign, and transition, but lacks an update operation (e.g., jira_update_issue), which is a core part of issue lifecycle management. This is a notable gap that agents may need to work around.
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
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
MCP server for mandates, delegation, policy-gated execution, credential grants, and audit.
111MCP server for siGit (sigit.si): browse repos, search code, manage PRs/issues, web search.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server for Jira integration with stdio transport. Enables reading, writing, and managing Jira issues and projects directly from Claude Desktop. Supports issue creation, updates, comments, JQL search, and project management.2358714MIT
- AlicenseNot gradedqualityCmaintenanceMCP server that wraps the jira-cli command-line tool to enable AI assistants to interact with Jira.299MIT
- AlicenseNot gradedqualityCmaintenanceA lightweight MCP server that exposes Jira issue operations (get, search, create) as tools for AI clients like Claude.98ISC
- FlicenseBqualityBmaintenanceSmall MCP server for connecting to enterprise Jira using a personal access token. It enables issue operations, project listing, JQL searches, and attachment handling.17-
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/thisIsRasel/jira-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server