jira-sisoog-mcp
Provides tools for interacting with Jira, enabling management of issues, worklogs, comments, transitions, and JQL searches on a Jira instance.
Click on "Deploy 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-sisoog-mcpLog 2 hours on APP-1851"
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-sisoog-mcp
MCP سرور برای Jira خودمیزبان (jira.sisoog.com) تا از داخل Cursor تسکها را مدیریت و worklog ثبت کنید.
پیشنیاز
Node.js 18+
دسترسی به Jira (یوزرنیم + پسورد یا Personal Access Token)
Related MCP server: JIRA MCP Server
نصب
cd E:/jira-mcp
npm install
npm run buildتنظیمات
این متغیرهای محیطی لازم است:
متغیر | توضیح |
| آدرس Jira (پیشفرض: |
| نام کاربری Jira |
| پسورد یا PAT |
|
|
نمونه: فایل .env.example را ببینید. برای Cursor، مقادیر را در کانفیگ MCP بگذارید (نه در گیت).
اگر Jira Data Center از Personal Access Token پشتیبانی میکند، همان را در JIRA_API_TOKEN بگذارید. برای PATهای Bearer مقدار JIRA_AUTH_TYPE=bearer را ست کنید؛ در غیر این صورت basic کافی است.
اتصال به Cursor
در %USERPROFILE%\.cursor\mcp.json:
{
"mcpServers": {
"jira-sisoog": {
"command": "node",
"args": ["E:/jira-mcp/dist/index.js"],
"env": {
"JIRA_BASE_URL": "https://jira.sisoog.com",
"JIRA_USERNAME": "YOUR_USER",
"JIRA_API_TOKEN": "YOUR_PASSWORD_OR_PAT",
"JIRA_AUTH_TYPE": "basic"
}
}
}
}بعد Cursor را ریاستارت کنید یا MCP را Reload کنید. نمونه کامل: mcp.cursor.example.json.
استفاده
در چت Cursor میتوانید بگویید:
تسکهای In Progress من را بیاور
جزئیات APP-1851 را نشان بده
۲ ساعت لاگ کار برای دیروز روی APP-1851 بزن
ورکلاگ ۲۱۸۰۷ را به ۱ دقیقه تغییر بده
APP-1851 را Done کن
روی APP-1851 کامنت بگذار: ...
نمونه پرامپت کوتاه:
تسکهای باز من رو لیست کن
روی APP-1851 برای سه روز پیش 2h لاگ بزن
همین لاگ رو ویرایش کن بکن 1m
APP-1851 رو Done کنابزارهای MCP
Tool | کار |
| تست لاگین و پروفایل کاربر |
| تسکهای بازِ assignشده به من |
| جستجو با JQL |
| جزئیات یک ایشو |
| آپدیت summary / description / labels / assignee |
| افزودن کامنت |
| لیست انتقال وضعیت |
| تغییر وضعیت |
| ثبت زمان |
| لیست ورکلاگها |
| ویرایش ورکلاگ |
| حذف ورکلاگ |
نمونه JQL
assignee = currentUser() AND status = "In Progress"
assignee = currentUser() AND resolution = Unresolved ORDER BY updated DESC
project = APP AND updated >= -7dفرمت زمان worklog
مثل Jira: 1h, 30m, 2h 15m, 1m
تاریخ شروع (اختیاری): ISO مثل 2026-08-08T10:00:00
توسعه
npm run dev # اجرای مستقیم با tsx
npm run build # کامپایل به dist/
npm start # اجرای distنکته امنیتی
رمز یا توکن را در گیت commit نکنید. فقط در mcp.json محلی یا متغیر محیطی سیستم بگذارید.
عیبیابی
مشکل | کار پیشنهادی |
MCP در Cursor دیده نمیشود | مسیر |
| یوزرنیم/پسورد یا PAT و |
| دسترسی Log Work در Jira را چک کنید |
ابزار جدید نیست | بعد از |
Available Tools
12 toolsjira_add_commentA
Add a comment to an issue.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Comment text (Jira wiki markup / plain text) | |
| issueKey | Yes | Issue key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It states 'Add' which indicates mutation, but does not mention permissions, side effects, or whether comments are appended. This is a significant gap for a write 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 succinct sentence with no wasted words. It is appropriately sized 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 tool has two well-described parameters and no output schema. The one-line description covers the core action but lacks behavioral details such as permission requirements or return behavior. Given its simplicity, it is minimally adequate but not rich.
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 documents both parameters with clear descriptions (issueKey and body), achieving 100% coverage. The tool description adds no additional meaning beyond what the schema provides, so the baseline of 3 applies.
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 ('add') and resource ('comment to an issue'), clearly distinguishing it from sibling tools like jira_add_worklog and jira_update_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 implies usage (when you need to comment on an issue) but does not explicitly mention alternatives or exclusions. No context is given for when to prefer this over related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_add_worklogC
Log work on an issue. timeSpent uses Jira format like 1h, 30m, 2h 15m.
| Name | Required | Description | Default |
|---|---|---|---|
| comment | No | Worklog comment | |
| started | No | When work started (ISO datetime or YYYY-MM-DD). Defaults to now. | |
| issueKey | Yes | Issue key, e.g. APP-1851 | |
| reduceBy | No | Required when adjustEstimate=manual, e.g. 30m | |
| timeSpent | Yes | Time spent, e.g. 1h, 30m, 2h 15m | |
| newEstimate | No | Required when adjustEstimate=new, e.g. 1h | |
| adjustEstimate | No | How to adjust remaining estimate (default auto) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure burden. It only mentions the timeSpent format. It does not disclose side effects such as adjusting the remaining estimate (adjustEstimate parameter), permission requirements, or that it creates a permanent worklog record. This is a significant transparency gap.
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 short sentences, front-loaded with the main purpose and a concrete format hint. Every word earns its place, with no filler or repetition of obvious details.
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 7-parameter create tool with no output schema and no annotations, the description is too sparse. It omits critical context such as how adjustEstimate affects the issue, what the response contains (e.g., the new worklog ID), and whether any side effects occur. The schema covers parameters but not tool behavior or workflow 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 all parameters are already documented. The description adds no new parameter meaning; it merely restates the timeSpent format example that already exists in the schema. Baseline 3 is appropriate since the schema carries the semantic load.
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 states 'Log work on an issue,' which is a clear verb+resource combination. It distinguishes from siblings like jira_get_worklogs and jira_update_worklog by implying a create operation, though it does not explicitly say 'add.' The format example for timeSpent adds clarity to the tool's primary input.
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 like jira_update_worklog or jira_delete_worklog. The description does not mention exclusions, prerequisites, or typical scenarios. It simply states what the tool does without contextual placement among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_delete_worklogB
Delete a worklog from an issue.
| Name | Required | Description | Default |
|---|---|---|---|
| issueKey | Yes | Issue key, e.g. APP-1851 | |
| worklogId | Yes | Worklog id to delete |
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 fails to state that deletion is permanent, irreversible, or may have cascading effects. The word 'delete' implies destruction but adds no explicit safety or side-effect information.
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, clear, front-loaded sentence with no unnecessary words. It is concise and efficient.
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 that this is a destructive operation with no annotations and no output schema, the description is under-specified. It does not warn about permanence, potential authentication requirements, or what happens to the worklog data. The sibling context (e.g., jira_get_worklogs) is helpful but does not substitute for important safety-related 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 description coverage is 100%, with both 'issueKey' and 'worklogId' having clear descriptions. The tool description adds no additional parameter semantics beyond what the schema already provides, so 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 uses a specific verb ('Delete') and resource ('worklog from an issue'), clearly distinguishing it from sibling tools like jira_add_worklog, jira_update_worklog, and jira_get_worklogs. It is immediately obvious what action this tool performs.
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 over alternatives, no prerequisites, and no exclusions. It merely states the action without any context about use cases or decision-making relative to sibling tools like jira_update_worklog.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_get_issueA
Get full details for a Jira issue by key (e.g. APP-1851).
| Name | Required | Description | Default |
|---|---|---|---|
| issueKey | Yes | Issue key, e.g. APP-1851 |
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 for behavioral disclosure. It only says 'Get full details', which implies a read operation but does not disclose error handling, return fields, potential side effects, or any requirements. This is a significant gap for a tool with no annotation support.
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 that clearly conveys the tool's purpose without unnecessary words. It is front-loaded and easy to parse.
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?
This is a simple tool with one parameter and no output schema. The description adequately explains what the tool does and what input is expected. While 'full details' is broad and does not enumerate specific fields, it is sufficient for a straightforward getter 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?
The schema fully describes the 'issueKey' parameter with type and example, achieving 100% coverage. The description adds no new parameter details beyond what the schema already provides, so 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 action ('Get'), the resource ('full details for a Jira issue'), and the identifier ('by key'), making it distinct from sibling tools like jira_search or jira_get_worklogs. The example 'APP-1851' reinforces the expected input format.
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 implies usage when a specific issue key is known and full details are needed, which provides clear context. However, it does not explicitly mention alternatives or when not to use this tool, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_get_transitionsA
List available status transitions for an issue.
| Name | Required | Description | Default |
|---|---|---|---|
| issueKey | Yes | Issue key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden. It accurately states the action (list transitions) but does not disclose whether the list is filtered by user permissions, the output format, or error handling. The description is minimal but not misleading, and 'List' implies a read-only 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 sentence, front-loaded with the action, and contains zero wasteful words. It is appropriately sized for the tool's simplicity.
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 low complexity with one well-documented parameter. The description conveys the core purpose but could be enhanced by noting it returns only allowed transitions or that it is typically used before jira_transition_issue. Given no output schema, some return detail is missing, but the description is largely sufficient.
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 issueKey described as 'Issue key'. The description adds no parameter-specific meaning beyond the schema, so it relies on the schema to define the parameter. 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 uses a specific verb 'List' with a clear resource 'available status transitions' and scope 'for an issue'. It effectively distinguishes this from sibling tool jira_transition_issue, which performs a transition, and other issue-related tools.
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 implies the tool is used to retrieve transition options for a single issue, which is clear context. However, it does not explicitly state when to use it relative to jira_transition_issue or mention when not to use it, so it lacks explicit alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_get_worklogsB
List worklogs for an issue.
| Name | Required | Description | Default |
|---|---|---|---|
| issueKey | Yes | Issue key, e.g. APP-1851 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries full burden for behavioral disclosure. It only says 'List worklogs for an issue,' which implies a read operation but doesn't mention permissions, pagination, or what exactly is returned. No additional behavioral traits are disclosed.
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, front-loaded sentence with no wasted words. It efficiently conveys the core purpose without any unnecessary details.
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 (one parameter) but the description is extremely minimal. There is no output schema or annotations, so the agent must infer return values, ordering, and potential limitations. The description doesn't explain what a worklog contains or whether multiple worklogs are returned. It is not complete enough for full understanding.
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 only parameter issueKey is fully documented in the input schema with an example ('APP-1851'). Schema coverage is 100%, so the description adds no new meaning beyond the schema. The phrase 'for an issue' aligns with the parameter but doesn't enhance 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 clearly states the action: 'List worklogs for an issue.' It specifies the verb (List), the resource (worklogs), and the scope (for an issue), making it distinct from sibling tools like jira_get_issue or jira_add_worklog.
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. It doesn't mention that worklogs might be available through jira_get_issue or that jira_add_worklog is for creating worklogs. The single sentence implies usage only by naming the action, with no explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_my_open_issuesB
Shortcut: list unresolved issues assigned to the current user.
| Name | Required | Description | Default |
|---|---|---|---|
| maxResults | No |
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 core filtering behavior (unresolved, assigned to current user) but omits details such as default result limits, pagination behavior, or return format. For a simple read operation, this is adequate but not comprehensive.
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, succinct sentence that front-loads the essential information. Every word earns its place, and there is no redundancy or 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 (one optional param, no annotations, no output schema), the description provides the basic purpose but lacks surrounding context such as how results are returned or how this relates to sibling tools like jira_search. It is minimally viable but has gaps that could lead to misuse.
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 mention the maxResults parameter at all. The agent receives no guidance on the parameter's meaning or default behavior beyond the schema's min/max constraints, failing to compensate for the lack of structured 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 states the tool's purpose: 'list unresolved issues assigned to the current user.' The verb 'list' and resource 'issues' are specific, and the qualifiers 'unresolved' and 'assigned to the current user' distinguish this from sibling tools like jira_search or jira_get_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 word 'Shortcut' implies convenience over a more general search, but the description does not explicitly mention alternatives like jira_search or specify when not to use this tool. The context is clear for the intended use case, but no exclusions or alternative guidance are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_myselfA
Verify Jira authentication and return the current user profile.
| 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. It discloses that this is a read-only verification returning a user profile, but it does not describe error behavior, rate limits, or side effects. The risk is low, so the minimal disclosure 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?
The description is a single, front-loaded sentence with no filler. Every word contributes to the meaning.
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 trivial complexity (no params, no output schema), the description fully covers its purpose and result. The agent knows exactly what the tool does and what it returns. No additional context is necessary.
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, making schema coverage trivially 100%. Since there are no parameters to document, the baseline for 0 params is 4. The description doesn't need to add parameter information.
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 verifies Jira authentication and returns the current user profile. This specific verb+resource pairing distinguishes it from sibling tools focused on issues, worklogs, or comments.
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 implies usage for checking authentication status before other Jira operations, but it does not explicitly state when to use this tool versus alternatives or mention any exclusions. It's an implied use case rather than explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_searchA
Search Jira issues with JQL. Example: assignee = currentUser() AND resolution = Unresolved ORDER BY updated DESC
| Name | Required | Description | Default |
|---|---|---|---|
| jql | Yes | Jira Query Language (JQL) string | |
| maxResults | No | Max issues to return (default 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior, but it omits details about result format, pagination, error behavior, or side effects. The example demonstrates a query but does not guarantee sorting or limit behavior. The read-only nature is implied but not stated.
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 a practical example. It is front-loaded with the core purpose and contains no fluff, earning a top score for 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?
The tool has no output schema or annotations, so the description bears full responsibility for explaining behavior. It fails to mention the return shape (list of issues, fields included), pagination, or limits beyond the schema's maxResults. The lack of distinction from jira_my_open_issues further reduces completeness.
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 already defines both parameters with descriptions, achieving 100% coverage. The description adds value for the 'jql' parameter by providing a concrete JQL example, demonstrating syntax, operators, and ordering — something the schema's 'JQL string' description lacks. The maxResults parameter is adequately covered by 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 'Search Jira issues with JQL', giving a specific verb-resource-method combination. The example further clarifies the tool's scope, distinguishing it from sibling tools like jira_get_issue (which retrieves a single issue) by indicating broad JQL-based searching.
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 does not explicitly state when to use this tool over alternatives. The JQL example implies arbitrary search use cases, but there is no mention of 'use for complex queries' or 'instead of jira_my_open_issues for pre-filtered views'. This leaves the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_transition_issueA
Transition an issue to another status using a transition id from jira_get_transitions.
| Name | Required | Description | Default |
|---|---|---|---|
| issueKey | Yes | Issue key | |
| transitionId | Yes | Transition id from jira_get_transitions |
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. It discloses only the basic action and the required id, but omits permissions, error cases, reversibility, or side effects. For a mutation tool, this is insufficient behavioral disclosure.
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, efficient sentence. It front-loads the action and provides the key detail about the transition id source without any unnecessary 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?
For a simple two-parameter tool with no annotations and no output schema, the description covers the core action and prerequisite. However, it lacks any mention of expected response or error behavior, leaving some gaps in fuller contextual understanding.
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 covers 100% of parameters with clear descriptions, so the description adds minimal semantic value. It does reinforce the connection between transitionId and jira_get_transitions, but this is already present in the schema. 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 the action (transition an issue) and the resource (issue), with a specific mechanism (transition id from jira_get_transitions). It distinguishes itself from sibling tools like jira_get_transitions and jira_update_issue by focusing on the workflow status change.
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 implies a prerequisite workflow: first call jira_get_transitions to obtain the transition id. This gives clear context for when to use the tool. However, it does not explicitly mention alternatives or exclusions, so it doesn't fully reach a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_update_issueB
Update common issue fields (summary, description, labels, assignee username).
| Name | Required | Description | Default |
|---|---|---|---|
| labels | No | ||
| summary | No | ||
| assignee | No | Jira username to assign, or null to unassign | |
| issueKey | Yes | Issue key | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It only says 'Update', implying mutation, but does not disclose partial-update semantics (whether omitted fields are preserved), permission requirements, or potential side effects. This is a significant gap for a mutation 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 that front-loads the primary action and scope. Every word earns its place, with no filler 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?
Given the tool has 5 parameters, no output schema, and no annotations, the description is too sparse. It lacks essential context such as whether updates are partial or full, expected response, error conditions, or any prerequisite (e.g., issue must exist, permission to edit). The description is not complete enough for an agent to safely invoke the 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 coverage is only 40% (only issueKey and assignee have descriptions). The description lists parameter names but adds minimal meaning beyond the schema. 'Assignee username' slightly clarifies the assignee field, but there is no added semantics for summary, description, or labels arrays.
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 ('Update') with a clear resource ('common issue fields') and enumerates the exact fields: summary, description, labels, assignee username. This distinguishes it from sibling tools like jira_transition_issue (status updates) and jira_update_worklog (worklog updates).
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 no explicit guidance on when to use this tool versus alternatives. It does not mention that jira_transition_issue handles status changes or that this tool is for field edits only. No exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jira_update_worklogA
Update an existing worklog (timeSpent, started, comment). Prefer this over UpdateWorklog.jspa.
| Name | Required | Description | Default |
|---|---|---|---|
| comment | No | Worklog comment | |
| started | No | When work started (ISO datetime or YYYY-MM-DD) | |
| issueKey | Yes | Issue key, e.g. APP-1851 | |
| reduceBy | No | ||
| timeSpent | No | New time spent, e.g. 1m, 1h | |
| worklogId | Yes | Worklog id, e.g. 21807 | |
| newEstimate | No | ||
| adjustEstimate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden of behavioral disclosure. It only says 'update' without mentioning side effects such as remaining estimate adjustments, permission requirements, or consequences of the adjustEstimate/newEstimate/reduceBy parameters. This leaves significant behavioral uncertainty.
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 one short, front-loaded sentence with no filler. Every word conveys meaning, making it highly efficient.
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 8 parameters, no annotations, and no output schema, the description is too sparse. It omits critical behaviors around estimate adjustments and return values, leaving the agent under-informed for a potentially impactful 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?
Schema description coverage is 63%, so the description adds limited value. It lists timeSpent, started, and comment but does not explain how they interact with adjustEstimate, newEstimate, or reduceBy, which are undocumented in the schema. It reinforces key fields but does not fully compensate for 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?
Clearly states the action (update), the resource (existing worklog), and the main mutable fields (timeSpent, started, comment). The phrase 'existing worklog' distinguishes it from adding or deleting worklogs, and the preference note over UpdateWorklog.jspa adds further clarity.
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 tells the agent to prefer this tool over UpdateWorklog.jspa, which is a direct usage guideline. The term 'existing' implies it is not for creating new worklogs, but it does not explicitly contrast with sibling tools like jira_add_worklog or jira_delete_worklog.
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.
12 tool updates
v1.0.0- First observed
jira_add_comment - First observed
jira_add_worklog - First observed
jira_delete_worklog - First observed
jira_get_issue - First observed
jira_get_transitions - First observed
jira_get_worklogs - First observed
jira_my_open_issues - First observed
jira_myself - First observed
jira_search - First observed
jira_transition_issue - First observed
jira_update_issue - First observed
jira_update_worklog
TDQS
Scored across 12 tools
Each tool has a distinct resource and action: search vs. get issue vs. worklog operations vs. transitions vs. comments. The only potential overlap is jira_search and jira_my_open_issues, but the latter is clearly a shortcut for a specific filtered search, so ambiguity is minimal.
Most tools follow a consistent verb_noun pattern (jira_get_issue, jira_add_worklog, jira_update_issue). Two exceptions jira_myself and jira_my_open_issues break the pattern, but they are easy to understand and do not cause confusion.
With 12 tools covering issue retrieval, updates, worklogs, transitions, comments, and user info, the scope is well-sized for a Jira integration without being overwhelming.
The set covers read, update, transition, comment, and worklog operations, but notably lacks any way to create a new Jira issue. This is a significant gap for a Jira server, as issue creation is a core workflow that agents would likely need.
Maintenance
Related MCP Connectors
A MCP server built for developers enabling Git based project management with project and personal…
MCP Server for JFrog, providing tools for development and artifact management.
MCP server for Linear project management and issue tracking
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables seamless integration between Cursor IDE and JIRA, allowing users to retrieve issues, execute JQL searches, and log work through natural language interactions.-
- AlicenseBqualityDmaintenanceA Model Context Protocol server that integrates JIRA directly into Cursor IDE, allowing users to view assigned issues, get detailed information on specific tickets, and convert JIRA issues into local tasks without leaving their editor.146 npm6TypeScriptMIT
- AlicenseNot gradedqualityFmaintenanceA simple MCP server that provides access to Jira issues from Cursor AI, allowing users to reference and query Jira tickets directly in the chat panel.17MIT
- FlicenseAqualityDmaintenanceA Model Context Protocol (MCP) server that provides tools for interacting with Jira. Enables Cursor and other MCP clients to fetch tickets, manage linked tickets, and update ticket status.3-