Skip to main content
Glama
kornbed

Jira MCP Server for Cursor

by kornbed

Сервер Jira MCP для курсора

значок кузнецаСервер MCP на базе TypeScript, который интегрируется с Jira, позволяя Cursor взаимодействовать с тикетами Jira.

Функции

  • Список тикетов Jira

  • Получить информацию о билете

  • Получить комментарии к билету

  • Создать новые тикеты

  • Добавить комментарии к тикетам

  • Обновить статус тикета

  • Полная поддержка протокола MCP для интеграции курсора

Related MCP server: JIRA MCP Server

Настраивать

Установка через Smithery

Чтобы автоматически установить Jira MCP Server для Cursor for Claude Desktop через Smithery :

npx -y @smithery/cli install @kornbed/jira-mcp-server --client claude
  1. Установить зависимости:

npm install
  1. Создайте файл .env на основе .env.example и заполните свои учетные данные Jira:

JIRA_HOST=https://your-domain.atlassian.net
JIRA_EMAIL=your-email@example.com
JIRA_API_TOKEN=your-api-token
PORT=3000

Чтобы получить токен Jira API:

  1. Авторизуйтесь на https://id.atlassian.com/manage/api-tokens

  2. Нажмите «Создать токен API».

  3. Скопируйте токен и вставьте его в файл .env

Разработка

Запустите сервер разработки:

npm run dev

Построить и запустить

Создайте проект:

npm run build

Запустите сервер:

npm start

Интеграция курсора

Чтобы использовать этот MCP-сервер с Cursor, у вас есть два варианта:

Вариант 1: Интеграция на основе команд (рекомендуется)

  1. Создайте проект:

npm run build
  1. Откройте настройки курсора:

    • Нажмите на меню курсора.

    • Выберите «Настройки» (или используйте сочетание клавиш)

    • Перейдите в раздел «Расширения» или «Интеграции».

  2. Добавьте конфигурацию MCP:

{
  "mcpServers": {
    "jira": {
      "command": "node",
      "args": ["/path/to/jira-mcp-cursor/dist/server.js"]
    }
  }
}

Замените /path/to/jira-mcp-cursor на абсолютный путь к вашему проекту.

Вариант 2: интеграция на основе HTTP (альтернативный)

  1. Запустите сервер MCP (если он еще не запущен):

npm start
  1. Откройте настройки курсора:

    • Нажмите на меню курсора.

    • Выберите «Настройки» (или используйте сочетание клавиш)

    • Перейдите в раздел «Расширения» или «Интеграции».

  2. Добавьте конфигурацию MCP:

{
  "mcpServers": {
    "jira": {
      "url": "http://localhost:3000",
      "capabilities": [
        "list_tickets",
        "get_ticket",
        "get_comments",
        "create_ticket",
        "update_status",
        "add_comment"
      ]
    }
  }
}
}

Использование Jira в курсоре

После настройки сервера MCP вы можете использовать команды Jira непосредственно в Cursor:

  • /jira list — список ваших тикетов

  • /jira view TICKET-123 - Просмотреть детали билета

  • /jira comments TICKET-123 - Получить комментарии к тикетам

  • /jira create — Создать новый тикет

  • /jira comment TICKET-123 — Добавить комментарий

  • /jira status TICKET-123 — Обновить статус тикета

Поддержка протокола MCP

Сервер реализует протокол Model-Client-Protocol (MCP), требуемый Cursor:

  • Stdio-коммуникация для интеграции на основе команд

  • Регистрация инструмента для операций Jira

Конечные точки API

Список билетов

Извлекает список тикетов Jira, при необходимости отфильтрованный с помощью запроса JQL.

Конечная точка: GET /api/tickets

Параметры запроса:

Параметр

Тип

Необходимый

Описание

jql

нить

Нет

Строка Jira Query Language (JQL) для фильтрации тикетов

Пример запроса:

GET /api/tickets?jql=project=TEST+AND+status=Open

Пример ответа:

TEST-123: Example ticket (Open)
TEST-124: Another ticket (In Progress)

Получить билет

Получает подробную информацию о конкретном тикете.

Конечная точка: GET /api/tickets/:id

Параметры пути:

Параметр

Тип

Необходимый

Описание

идентификатор

нить

Да

Идентификатор тикета Jira (например, TEST-123)

Пример запроса:

GET /api/tickets/TEST-123

Пример ответа:

Key: TEST-123
Summary: Example ticket
Status: Open
Type: Task
Description:
Detailed ticket description

Получить комментарии по билетам

Извлекает все комментарии для определенного тикета.

Конечная точка: GET /api/tickets/:id/comments

Параметры пути:

Параметр

Тип

Необходимый

Описание

идентификатор

нить

Да

Идентификатор тикета Jira (например, TEST-123)

Пример запроса:

GET /api/tickets/TEST-123/comments

Пример ответа:

[3/20/2024, 10:00:00 AM] John Doe:
Comment text
---

[3/20/2024, 9:30:00 AM] Jane Smith:
Another comment
---

Создать тикет

Создает новый тикет Jira.

Конечная точка: POST /api/tickets

Текст запроса:

Параметр

Тип

Необходимый

Описание

краткое содержание

нить

Да

Краткое описание билета

описание

нить

Да

Описание билета

проектКлюч

нить

Да

Ключ проекта (например, ТЕСТ)

issueType

нить

Да

Тип проблемы (например, Задача, Ошибка)

Пример запроса:

POST /api/tickets
Content-Type: application/json

{
  "summary": "New feature request",
  "description": "Implement new functionality",
  "projectKey": "TEST",
  "issueType": "Task"
}

Пример ответа:

Created ticket: TEST-124

Добавить комментарий

Добавляет новый комментарий к существующему тикету.

Конечная точка: POST /api/tickets/:id/comments

Параметры пути:

Параметр

Тип

Необходимый

Описание

идентификатор

нить

Да

Идентификатор тикета Jira (например, TEST-123)

Текст запроса:

Параметр

Тип

Необходимый

Описание

тело

нить

Да

Текст комментария

Пример запроса:

POST /api/tickets/TEST-123/comments
Content-Type: application/json

{
  "body": "This is a new comment"
}

Пример ответа:

Added comment to TEST-123

Обновить статус

Обновляет статус существующего тикета.

Конечная точка: POST /api/tickets/:id/status

Параметры пути:

Параметр

Тип

Необходимый

Описание

идентификатор

нить

Да

Идентификатор тикета Jira (например, TEST-123)

Текст запроса:

Параметр

Тип

Необходимый

Описание

transitionId

нить

Да

Идентификатор перехода для выполнения

Пример запроса:

POST /api/tickets/TEST-123/status
Content-Type: application/json

{
  "transitionId": "21"
}

Пример ответа:

Updated status of TEST-123

Поиск билетов

Поиск билетов по указанным проектам с помощью текстового поиска.

Конечная точка: GET /api/tickets/search

Параметры запроса:

Параметр

Тип

Необходимый

Описание

поискТекст

нить

Да

Текст для поиска в билетах

проектKeys

нить

Да

Список ключей проекта, разделенных запятыми, для поиска

maxResults

число

Нет

Максимальное количество возвращаемых результатов (по умолчанию: 50)

Пример запроса:

GET /api/tickets/search?searchText=login+bug&projectKeys=TEST,PROD&maxResults=10

Пример ответа:

Found 2 tickets matching "login bug"

[TEST] TEST-123: Login page bug
Status: Open (Updated: 3/20/2024, 10:00:00 AM)
Description:
Users unable to login using SSO
----------------------------------------

[PROD] PROD-456: Fix login performance
Status: In Progress (Updated: 3/19/2024, 3:30:00 PM)
Description:
Login page taking too long to load
----------------------------------------

Available Tools

7 tools
add_commentC

Add a comment to a Jira ticket

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYesThe Jira ticket ID
commentYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states the tool 'Adds a comment,' implying a write/mutation operation, but doesn't disclose behavioral traits such as required permissions, whether the action is reversible, rate limits, or what happens on success/failure. This leaves significant gaps 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a mutation with nested parameters) and lack of annotations or output schema, the description is incomplete. It doesn't cover behavioral aspects like error handling, return values, or usage context, which are critical for effective tool invocation by an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, with 'ticketId' documented but 'comment' only partially described (its 'body' property is documented). The description adds no parameter semantics beyond the schema, such as format examples or constraints. With moderate schema coverage, this meets the baseline but doesn't compensate for gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Add a comment') and target resource ('to a Jira ticket'), providing a specific verb+resource combination. However, it doesn't distinguish this tool from potential sibling alternatives like 'get_comments' or 'update_status' that might also involve comments, leaving room for improvement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. With siblings like 'get_comments' (for reading) and 'create_ticket' (for creating), the description lacks context about prerequisites (e.g., needing an existing ticket) or exclusions, offering minimal usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_ticketC

Create a new Jira ticket

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'Create' which implies a write/mutation operation, but doesn't mention permissions required, whether the operation is idempotent, error handling, or what happens on success (e.g., returns ticket ID). This is inadequate for a mutation tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states the core function without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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 1 complex nested parameter (5 sub-properties), the description is incomplete. It doesn't cover behavioral aspects like authentication needs, error cases, or return values, nor does it explain parameter usage, making it inadequate for safe and effective tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter information beyond what's in the schema. With 0% schema description coverage (the schema has descriptions but they're not counted in coverage), the description fails to compensate by explaining the 'ticket' object structure, required fields like 'summary' and 'projectKey', or their purposes. This leaves parameters largely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create') and resource ('new Jira ticket'), making the purpose immediately understandable. It doesn't differentiate from siblings like 'add_comment' or 'update_status', but it's specific enough to understand the core function without being tautological.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 'update_status' or 'add_comment'. There's no mention of prerequisites, context, or exclusions, leaving the agent to infer usage solely from the tool name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_commentsB

Get comments for a specific Jira ticket

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYesThe Jira ticket ID (e.g., PROJECT-123)

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose any behavioral traits such as read-only nature, authentication requirements, rate limits, or pagination. The agent has no additional context beyond 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words. It is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with one parameter, the description is mostly complete. However, it lacks any mention of return format or potential limitations (e.g., pagination, ordering), but given the simplicity, a 4 is reasonable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 the ticketId parameter. The description does not add extra meaning beyond what the schema provides, which is acceptable for a simple parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'comments for a specific Jira ticket', which distinguishes it from sibling tools like add_comment or delete_comment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 (e.g., get_worklog for worklogs, or add_comment for adding). The description only states what it does, with no exclusions or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_ticketC

Get details of a specific Jira ticket

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYesThe Jira ticket ID (e.g., PROJECT-123)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behavioral traits. It only says 'get details' without specifying what data is returned (e.g., full issue object, including comments, attachments), authentication needs, or any side effects. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise, one sentence. No unnecessary words. However, the brevity sacrifices valuable context that could be added without bloating.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given one simple parameter and no output schema, the description is complete on a surface level but fails to provide necessary context such as expected output structure or how to handle errors. Lacks depth compared to complexity of Jira API.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter ticketId, which is well-described with format example. The description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description 'Get details of a specific Jira ticket' clearly states the action (get) and resource (ticket). It is specific enough to distinguish from create or update tools, but lacks differentiation from closely related siblings like get_ticket_fields or get_comments.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as list_tickets or search_tickets. The description does not mention scenarios where retrieving a single ticket's details is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_ticketsB

List Jira tickets assigned to you

ParametersJSON Schema
NameRequiredDescriptionDefault
jqlNoOptional JQL query to filter tickets

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must bear the burden. It only mentions listing assigned tickets, omitting details such as pagination, sorting, or behavior when no tickets exist. The 'list' nature suggests read-only, but this is implicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single concise sentence with no extraneous information. Every word serves its purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple nature (one optional parameter, no output schema), the description is minimally adequate. However, it lacks completeness in terms of expected behavior and differentiation from similar tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter 'jql' is already fully described in the schema (coverage 100%). The description adds no additional meaning or context beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it lists tickets assigned to the user, implying a default filter. However, it does not distinguish from sibling tools like search_tickets or get_board_issues, which may have overlapping functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like search_tickets or get_project_issues. The description simply states what it does without context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_ticketsB

Search for tickets in specific projects using text search

ParametersJSON Schema
NameRequiredDescriptionDefault
searchTextYesThe text to search for in tickets
projectKeysYesComma-separated list of project keys
maxResultsNoMaximum number of results to return

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must fully disclose behavior. It lacks details on text matching (case sensitivity, wildcards), pagination beyond maxResults, and return format. The description is too brief 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the action and purpose. No redundant or extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description provides basic intent but lacks details on search behavior, result structure, and edge cases. It is adequate but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all parameters. The tool description adds no additional meaning beyond what the schema already provides, so it meets the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (search), resource (tickets), and scope (specific projects via projectKeys). It distinguishes from siblings like 'list_tickets' (no text search) and 'get_ticket' (single ticket).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as 'list_tickets' or 'get_project_issues'. Does not specify when not to use or provide criteria for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_statusB

Update the status of a Jira ticket

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYesThe Jira ticket ID
statusYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It only states 'update' but does not disclose side effects, required permissions, reversibility, or return value. For a write operation, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no extraneous words, conveying the core purpose efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, no annotations, and a nested parameter (status), the description lacks crucial details like how to obtain transitionId, what happens on success, and error conditions. It is insufficient for reliable tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%, and the description adds no additional context to parameters. It does not explain that status requires a valid transitionId from get_transitions, nor the meaning of ticketId beyond its schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Update the status of a Jira ticket' clearly states the verb (update) and the resource (status of a Jira ticket). It effectively distinguishes from sibling tools like assign_ticket or update_ticket_fields.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, such as that the status requires a valid transitionId obtained via get_transitions. Prerequisites and context for usage are absent.

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.

  1. 7 tool updatesv1.0.0
    • Addedadd_comment
    • Addedcreate_ticket
    • Addedget_comments
    • Addedget_ticket
    • Addedlist_tickets
    • Addedsearch_tickets
    • Addedupdate_status

TDQS

B3.4/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a clearly distinct purpose targeting specific Jira operations: list_tickets vs. search_tickets differentiate between personal assignment and project-wide text search, while get_ticket vs. get_comments separate ticket details from comment retrieval. No tools appear to overlap in functionality, making misselection unlikely.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern using snake_case (e.g., add_comment, create_ticket, get_comments). The verbs are appropriately chosen for each action (add, create, get, list, search, update), creating a predictable and readable naming convention throughout the set.

Tool Count5/5

With 7 tools, this server is well-scoped for Jira ticket management. Each tool earns its place by covering essential operations like creating, retrieving, listing, searching, updating status, and managing comments, without being overly sparse or bloated for the domain.

Completeness4/5

The tool set provides strong coverage for core Jira ticket workflows, including CRUD-like operations (create, get, list, update_status) and comment management. A minor gap exists in the lack of a tool to update ticket details beyond status (e.g., edit description or fields), but agents can work around this by creating new tickets or using comments.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    F
    maintenance
    A TypeScript-based server that enables interaction with Jira, providing tools to execute JQL queries, manage tickets, list projects and statuses through natural language.
    11
    26
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Model Context Protocol server that allows AI assistants to interact with Jira, supporting operations like creating tickets and fetching project information directly from the cursor.
    1
    -
  • F
    license
    A
    quality
    D
    maintenance
    A 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
    -