Skip to main content
Glama
apo100l

MCP Jira Server

by apo100l

MCP Jira Server

MCP-сервер для работы с self-hosted Jira через Model Context Protocol. Поддерживает два способа авторизации:

  • Personal Access Token (JIRA_PAT);

  • браузерная Jira/SSO-сессия (JIRA_COOKIE).

Авторизация через cookie полезна для корпоративных Jira, где создание PAT отключено, а доступ выполняется через SSO. Если одновременно заданы JIRA_COOKIE и JIRA_PAT, сервер использует cookie.

Возможности

  • просмотр задач, проектов, типов задач и комментариев;

  • поиск задач через JQL;

  • создание и обновление задач;

  • назначение исполнителей и смена статуса;

  • добавление комментариев;

  • удаление задач;

  • получение текущего пользователя.

Сервер обращается к Jira REST API v2: <JIRA_BASE_URL>/rest/api/2.

Related MCP server: Jira MCP Server

Требования

  • Node.js 18 или новее;

  • доступ к self-hosted Jira;

  • PAT либо активная браузерная Jira-сессия.

Установка

Из npm:

npm install --global @apo100l/mcp-jira-server

Либо запуск без глобальной установки:

npx --yes @apo100l/mcp-jira-server

Имя без области mcp-jira-server в npm принадлежит исходному проекту, поэтому эта версия публикуется как @apo100l/mcp-jira-server.

Из исходников:

git clone git@github.com:apo100l/mcp-jira-server.git
cd mcp-jira-server
npm install
npm run build

Собранная точка входа: build/index.js.

Переменные окружения

Переменная

Обязательность

Описание

JIRA_BASE_URL

Да

Базовый URL Jira без /rest/api/2, например https://jira.example.com

JIRA_COOKIE

Один из способов авторизации

Полное значение HTTP-заголовка Cookie из авторизованной браузерной сессии

JIRA_PAT

Один из способов авторизации

Personal Access Token; используется, только если JIRA_COOKIE не задан

JIRA_USER_AGENT

Нет

Пользовательский User-Agent, если reverse proxy или SSO фильтрует запросы

Для cookie-аутентификации сервер также отправляет X-Atlassian-Token: no-check, необходимый некоторым Jira-инсталляциям для изменяющих запросов.

Настройка Codex

Добавьте сервер в ~/.codex/config.toml:

При установке из npm:

[mcp_servers.jira]
enabled = true
command = "npx"
args = ["--yes", "@apo100l/mcp-jira-server"]

[mcp_servers.jira.env]
JIRA_BASE_URL = "https://jira.example.com"
JIRA_PAT = "your-personal-access-token"

При запуске из исходников:

[mcp_servers.jira]
enabled = true
command = "node"
args = ["/absolute/path/to/mcp-jira-server/build/index.js"]

[mcp_servers.jira.env]
JIRA_BASE_URL = "https://jira.example.com"
JIRA_COOKIE = 'JSESSIONID=...; another_cookie=...'
JIRA_USER_AGENT = "Mozilla/5.0"

Для PAT вместо JIRA_COOKIE укажите:

JIRA_PAT = "your-personal-access-token"

После изменения конфигурации полностью перезапустите Codex, чтобы MCP-процесс получил новые переменные окружения.

  1. Авторизуйтесь в Jira в браузере.

  2. Откройте Developer Tools → Network.

  3. Перезагрузите страницу Jira.

  4. Выберите запрос к Jira и откройте Request Headers.

  5. Скопируйте полное значение заголовка Cookie, включая все пары name=value, разделённые ;.

  6. Поместите значение в JIRA_COOKIE.

Cookie является полноценным секретом доступа. Не публикуйте его, не добавляйте в Git и не отправляйте в сообщения. После завершения браузерной/SSO-сессии значение потребуется обновить.

Настройка Claude Desktop

{
  "mcpServers": {
    "jira": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-jira-server/build/index.js"],
      "env": {
        "JIRA_BASE_URL": "https://jira.example.com",
        "JIRA_COOKIE": "JSESSIONID=...; another_cookie=...",
        "JIRA_USER_AGENT": "Mozilla/5.0"
      }
    }
  }
}

Доступные MCP-инструменты

Инструмент

Назначение

jira_get_current_user

Текущий авторизованный пользователь

jira_get_issue

Получение задачи по ключу

jira_search_issues

Поиск задач через JQL

jira_create_issue

Создание задачи

jira_update_issue

Обновление полей и смена статуса

jira_add_comment

Добавление комментария

jira_get_comments

Получение комментариев

jira_get_projects

Список доступных проектов

jira_get_project

Информация о проекте

jira_get_issue_types

Типы задач проекта

jira_assign_issue

Назначение исполнителя

jira_delete_issue

Безвозвратное удаление задачи

Проверка

После подключения начните с безопасных операций чтения:

  1. вызовите jira_get_current_user;

  2. вызовите jira_get_projects;

  3. получите тестовую задачу через jira_get_issue.

Типичные ответы при ошибке авторизации:

  • 401 Unauthorized — cookie/PAT отсутствует, истёк или не принимается Jira;

  • 404 Not Found — обычно неверный JIRA_BASE_URL, старый MCP-процесс либо маршрут скрывается SSO/reverse proxy;

  • HTML вместо JSON или редирект на страницу входа — браузерная сессия не прошла через SSO-прокси.

Разработка

npm run build
npm run dev

Версионирование и публикация

Проект использует Semantic Versioning: patch для исправлений, minor для обратно совместимых возможностей и major для несовместимых изменений.

Обновите CHANGELOG.md, затем создайте новую версию и тег одной из команд:

npm run release:patch
# npm run release:minor
# npm run release:major
git push origin main --follow-tags

Тег vX.Y.Z запускает GitHub Actions, который проверяет проект и публикует пакет в npm. Для автоматического выпуска добавьте секрет репозитория NPM_TOKEN, ограниченный пакетом @apo100l/mcp-jira-server и правом публикации.

Не добавляйте секреты в исходники. Для локальной разработки передавайте их только через переменные окружения или конфигурацию MCP-клиента.

Происхождение и лицензия

Проект основан на edrich13/mcp-jira-server и расширен поддержкой Jira/SSO cookie-аутентификации.

Лицензия: MIT.

Available Tools

12 tools
jira_add_commentB

Add a comment to a Jira issue

ParametersJSON Schema
NameRequiredDescriptionDefault
commentYesThe comment text to add
issueKeyYesThe Jira issue key

TDQS

B3.3/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 the full burden. 'Add' implies mutation, but it does not disclose whether permissions are needed, whether comments are appended to existing ones, or what happens on invalid issue keys. It is not contradictory, but it is minimal.

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, tightly worded sentence with the action front-loaded. Every word contributes to meaning, with no redundant or filler content.

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?

The tool is simple with two self-explanatory parameters and full schema coverage, so the description plus schema are mostly adequate. However, the absence of any output schema or behavioral context leaves some uncertainty about return values and side effects, preventing a higher score.

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%, with issueKey and comment both described in the schema. The tool description adds no extra meaning beyond what the schema already states, so the baseline score of 3 applies.

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 uses a specific verb 'Add' and a clear resource 'a comment to a Jira issue,' making the tool's function unambiguous. It is easily distinguished from siblings like jira_create_issue (creates an issue) and jira_get_comments (retrieves 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?

The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It does not mention that the issue must exist, that comments are appended, or that jira_get_comments would be the read counterpart.

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

jira_assign_issueB

Assign a Jira issue to a user

ParametersJSON Schema
NameRequiredDescriptionDefault
assigneeYesUsername to assign the issue to
issueKeyYesThe Jira issue key

TDQS

B3.3/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 the full burden of behavioral disclosure. It states the core action but does not reveal whether the assignee is replaced, whether permissions are required, whether notifications fire, or whether the assignment is idempotent. For a mutating operation, this is minimal.

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, direct sentence with no filler. Every word contributes to identifying the operation, and it is immediately clear what the tool does.

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?

For a simple two-parameter assign operation, the description plus schema is arguably callable, but the lack of annotations, output schema, and usage or behavioral guidance leaves some practical uncertainty. It is minimally viable but not rich enough for an agent to fully anticipate side effects or result behavior.

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 both parameters. The description adds little beyond calling the assignee a 'user', which is a reasonable high-level gloss but does not enrich the schema's semantics meaningfully.

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 uses a specific verb ('Assign'), names the exact resource ('a Jira issue'), and identifies the target ('a user'). This cleanly distinguishes it from sibling tools like jira_create_issue, jira_update_issue, or jira_add_comment, even without explicitly naming them.

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 gives no guidance on when to use this tool versus alternatives such as jira_update_issue, which could conceivably also handle assignment. There is no mention of prerequisites, when assignment is appropriate, or why this tool should be preferred.

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

jira_create_issueB

Create a new Jira issue in a specified project

ParametersJSON Schema
NameRequiredDescriptionDefault
labelsNoArray of labels to add to the issue
summaryYesBrief summary/title of the issue
assigneeNoUsername of the person to assign the issue to
priorityNoPriority level (e.g., High, Medium, Low)
issueTypeYesType of issue (e.g., Bug, Task, Story, Epic)
componentsNoArray of component names
projectKeyYesThe project key where the issue will be created
descriptionNoDetailed description of the issue
customFieldsNoMap of additional Jira field IDs/keys (e.g., customfield_10211) to include in the fields payload

TDQS

B3.3/5.0
Behavior2/5

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 states the mutation (creates an issue) but does not mention prerequisites like valid projectKey or issueType, potential side effects, or what the response contains. This is minimal transparency for a mutating tool.

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?

The description is a single, front-loaded sentence with no filler. It communicates the core action and target efficiently, though it sacrifices useful context for brevity.

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 9-parameter creation tool with no annotations and no output schema, the description is incomplete. It does not mention required parameters, the return value such as issue key or ID, customFields behavior, or any validation expectations. The schema covers parameters, but the description alone is insufficient for correct invocation.

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 all parameters are already documented in the schema. The description adds little beyond implicitly tying 'specified project' to projectKey. Baseline 3 applies because the schema handles the parameter documentation burden.

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 uses a specific verb ('Create'), a concrete resource ('new Jira issue'), and a scoping constraint ('in a specified project'). This clearly distinguishes it from sibling tools like jira_update_issue and jira_delete_issue.

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

Usage Guidelines3/5

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

The intended use is implied by the verb 'Create'—use it to create issues rather than update or search them—but no explicit when-to-use, exclusions, or alternative guidance is provided. The description does not help an agent decide between this and related issue tools beyond the core action.

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

jira_delete_issueA

Delete a Jira issue permanently

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesThe Jira issue key to delete

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. The word 'permanently' reveals that the deletion is irreversible, which is valuable. However, it does not mention authorization requirements, cascading effects on comments or attachments, or any confirmation behavior.

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 short sentence that immediately states the action, target, and destructive nature. There is no wasted wording or redundant information.

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 single-parameter destructive tool with no annotations or output schema, the description conveys the essential fact that deletion is permanent. It is largely complete for calling the tool correctly, though it could add a caution about permissions or side effects.

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%: the only parameter, issueKey, is already documented as 'The Jira issue key to delete'. The description adds no additional meaning about the parameter 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.

Purpose5/5

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

The description states a specific verb ('Delete') and a specific resource ('a Jira issue'), and 'permanently' distinguishes it from any non-destructive issue operations. This clearly separates it from siblings like jira_update_issue or jira_search_issues.

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?

There is no explicit guidance about when to use this tool versus alternatives, no prerequisites, and no mention that deletion is different from changing an issue's status or otherwise modifying it. The intended usage is only implied by the tool's name and description.

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

jira_get_commentsB

Get all comments from a Jira issue

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesThe Jira issue key

TDQS

B3.2/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 the full burden of behavioral disclosure. It confirms a read operation but does not mention return format, ordering, pagination, error conditions, or authentication requirements, leaving key behavioral expectations unstated.

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 short sentence with no filler or redundant information. It front-loads the core action and resource clearly, making it easy to parse quickly.

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?

This is a simple retrieval tool with one well-documented parameter and no output schema, so the description covers the essential information needed to invoke it. It could be slightly stronger if it mentioned that the result is a list of comment objects, but the core usage is sufficiently clear.

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 input schema covers 100% of the parameter documentation, with 'issueKey' described as 'The Jira issue key'. The description adds no extra semantic detail beyond this baseline, so the schema handles the parameter documentation adequately.

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 uses a specific verb ('Get') and a specific resource ('all comments from a Jira issue'), making the tool's purpose clear. It does not explicitly distinguish itself from siblings like jira_get_issue, but the resource is unambiguous enough for an agent to identify the intended operation.

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 such as jira_add_comment or jira_get_issue. There is no mention of use cases, prerequisites, or exclusions, so the agent must rely on the tool name alone to decide.

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

jira_get_current_userA

Get information about the currently authenticated user

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. The verb 'Get' implies a read-only operation, which conveys the core behavioral nature, but the description discloses nothing about what happens when authentication is missing or invalid, what fields 'information' includes, or any permissions considerations.

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?

A single nine-word sentence with no filler. The action and target resource are front-loaded, and nothing is repeated from the schema or annotations.

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?

For a zero-parameter tool this is minimally adequate, but with no output schema the description doesn't clarify what 'information' will be returned (e.g., account ID, display name, email) nor how auth failures surface. An agent invoking this must guess the return shape.

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

Parameters4/5

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

The tool has zero parameters and an empty input schema (100% coverage), so there is nothing for the description to explain. This matches the baseline-4 case where parameter documentation is trivially satisfied.

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 uses a specific verb ('Get') tied to a specific resource ('information about the currently authenticated user'), making the tool's scope unambiguous. No sibling tool targets the current user, so an agent can distinguish this from jira_search_issues, jira_get_issue, and jira_get_projects without needing to open schemas.

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. There are no preconditions, contextual triggers, or exclusions stated, even though the tool is clearly distinct from siblings, leaving the agent to infer when it is appropriate.

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 details of a specific Jira issue by its key (e.g., PROJ-123)

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesThe Jira issue key (e.g., PROJ-123)

TDQS

A3.5/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. 'Get details' implies a read-only operation, but the description does not specify what set of details is returned, whether comments or subtasks are included, or any authentication/error behavior. The lack of an output schema makes this gap more significant.

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 entire description is a single front-loaded sentence that immediately names the operation and the argument. There is no redundant wording or extraneous detail. It earns its place efficiently.

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?

For a one-parameter getter with no output schema, the description covers the essential operation and parameter. However, it omits any indication of what the returned 'details' include or whether it is limited to core fields, which would be useful since no output schema supplies that information. This is a minimal viable description with clear gaps around return values.

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 sole parameter issueKey is already fully documented in the input schema with the same example format ('PROJ-123'), and the tool description merely restates that. With 100% schema description coverage, a baseline of 3 is appropriate; the description adds no additional parameter semantics beyond the schema.

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 uses a specific verb ('Get details') and a specific resource ('specific Jira issue') with a clear locator ('by its key, e.g., PROJ-123'). It distinguishes this from siblings like jira_search_issues (query-based search), jira_create_issue (creation), and jira_get_comments (which targets comments, not the issue itself). The purpose is unmistakable.

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

Usage Guidelines3/5

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

The description implies the use case: call this tool when you have an issue key and need that issue's details. However, it does not explicitly state when to prefer it over search or other alternatives, nor does it provide any exclusion conditions. This is adequate context but lacks the explicit routing found in top-tier definitions.

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

jira_get_issue_typesA

Get available issue types for a project

ParametersJSON Schema
NameRequiredDescriptionDefault
projectKeyYesThe project key

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description must carry the full behavioral burden. It only states the action and resource, leaving unstated whether the response is a list of names or objects, whether projectKey must be valid, or if authorization is required. The read-only nature of 'Get' is implicit but not elaborated.

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?

A one-sentence description with no filler; it is front-loaded and every word is informative. It earns its place without unnecessary detail.

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?

For a one-parameter read tool, the description is fairly complete, but the absence of an output schema and any elaboration about the returned issue types leaves some ambiguity. Still, it is sufficient for basic invocation.

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 schema fully describes projectKey as 'The project key' (100% coverage). The tool description adds no parameter-specific detail beyond what the schema provides, so baseline 3 applies.

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 uses the specific verb 'Get' and the resource 'issue types' scoped to a project, which clearly distinguishes it from siblings like get_projects or search_issues. An agent can immediately understand what this tool does and which resource it targets.

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

Usage Guidelines3/5

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

The description implies its use when issue types are needed for a project, but it does not explicitly state when to prefer this over alternatives or mention any exclusions. Sibling tools are listed, but the description does not reference them or provide routing guidance.

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

jira_get_projectA

Get details of a specific Jira project

ParametersJSON Schema
NameRequiredDescriptionDefault
projectKeyYesThe project key

TDQS

A3.5/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 the full burden. It only restates that the tool gets details; it does not disclose what those details are, whether the operation is purely read-only, what errors may occur, or what the response format will be.

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 filler. It is appropriately sized for a simple one-parameter lookup and front-loads the core purpose effectively.

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 tool's simplicity and full schema coverage, the description is minimally viable. However, with no output schema and no annotation safety profile, the lack of any detail about return values or behavioral constraints leaves meaningful gaps for an 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?

The schema already fully documents the single 'projectKey' parameter with 100% coverage. The description adds no additional formatting, examples, or constraints beyond what the schema provides, so it meets the baseline without enriching parameter semantics.

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 identifies the verb ('Get'), the resource ('details of a specific Jira project'), and the singular scope, which distinguishes it from jira_get_projects. An agent can easily tell that this is for one project rather than a list.

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

Usage Guidelines3/5

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

The word 'specific' implies this is the tool to use when a particular project key is already known, but the description does not explicitly state when to prefer jira_get_projects for listing or provide exclusions. Usage context is only implied, not clearly documented.

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

jira_get_projectsA

List all available Jira projects

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral disclosure burden. 'List' strongly implies a read-only operation, and 'available' hints that results may depend on user permissions. However, it does not mention pagination, output shape, or authentication constraints, though these are less critical for a zero-parameter list 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 filler, front-loading the action and object. Every word contributes meaning, and it is appropriately concise for a tool with no parameters.

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 zero-parameter read-only list tool with no annotations and no output schema, the description states the essential operation and result kind. It could add detail about permission-dependent availability or returned project fields, but those are minor gaps given the tool's simplicity.

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

Parameters4/5

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

The input schema is empty with no properties, and schema description coverage is 100%, so there are no parameters that need additional explanation. This aligns with the baseline of 4 for tools with zero parameters.

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 uses the specific verb 'List' with the resource 'Jira projects' and clarifies scope with 'all available'. This clearly differentiates the tool from sibling jira_get_project, which targets a single project, and from issue-focused siblings such as jira_search_issues.

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 about when to use this tool versus alternatives like jira_get_project or jira_search_issues. It does not state exclusions, prerequisites, or a preferred selection criterion, leaving the agent to infer usage from the tool name and sibling list.

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

jira_search_issuesA

Search for Jira issues using JQL (Jira Query Language). Examples: "project = PROJ AND status = Open", "assignee = currentUser() AND status != Done"

ParametersJSON Schema
NameRequiredDescriptionDefault
jqlYesJQL query string to search for issues
maxResultsNoMaximum number of results to return (default: 50)

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It correctly indicates that the tool searches using JQL and provides syntax examples, which connotes a read-only operation. However, it does not disclose details such as pagination behavior, result structure, potential errors, or limits beyond the schema's maxResults default. The description is adequate but not deeply transparent.

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 two useful example queries. It is front-loaded with the core purpose and immediately gives actionable examples. No filler or repetition; every part earns its place.

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 search tool with two fully documented parameters and no output schema, the description covers the essential purpose and query language. It lacks explicit return-value details, but the tool name and usage context make the expected behavior inferrable. The absence of annotations is partially mitigated by the clarity of the search action. Overall, an agent has enough information to invoke the tool correctly.

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%, so both jql and maxResults are already documented in the schema. The description adds example JQL strings, which help illustrate valid input syntax for the jql parameter, but it does not elaborate on parameter format, constraints, or interactions beyond what the schema provides. Hence the baseline of 3 is appropriate.

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 tool's function: 'Search for Jira issues using JQL'. It names a specific verb ('Search'), a resource ('Jira issues'), and a distinctive mechanism (JQL). This differentiates it from siblings like jira_get_issue, which retrieves a single issue, and jira_get_projects, which lists projects.

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

Usage Guidelines4/5

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

The examples ('project = PROJ AND status = Open', 'assignee = currentUser() AND status != Done') illustrate realistic usage and imply this tool is for filtering/querying issues, not for single-issue lookups or mutations. While it doesn't explicitly state 'use this instead of jira_get_issue when you need to filter or search', the context is clear enough for an agent to select it appropriately.

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

jira_update_issueC

Update an existing Jira issue

ParametersJSON Schema
NameRequiredDescriptionDefault
labelsNoNew array of labels
statusNoNew status/workflow state (e.g., "In Progress", "Done")
summaryNoNew summary/title for the issue
assigneeNoUsername to assign the issue to
issueKeyYesThe Jira issue key to update
priorityNoNew priority level
descriptionNoNew description for the issue
customFieldsNoMap of additional Jira field IDs/keys (e.g., customfield_10211) to include in the fields payload

TDQS

C2.8/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 and does not deliver. It does not state whether updates are partial (only provided fields change) or full replacement, what happens on invalid status/workflow transitions, or whether the issue must exist. The word 'existing' hints at a precondition but nothing more.

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

Conciseness3/5

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

Six words with zero fluff, and the single sentence states purpose directly. However, there is no structural layering or additional context to earn a higher score; this reads as brevity from under-specification rather than careful curation, similar to but better than the 'Process' anti-example.

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 8 parameters, a nested 'customFields' object, no annotations, and no output schema, one sentence is inadequate. Critical context that an agent needs to invoke correctly is missing: partial-update semantics, behavior on invalid workflow transitions, and what the call returns.

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 baseline of 3 applies. The description itself adds no parameter-level meaning, but the schema descriptions are informative ('New status/workflow state (e.g., "In Progress", "Done")', 'Username to assign the issue to'), making the 8 parameters self-explanatory without further elaboration.

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?

States a specific verb ('Update') and resource ('an existing Jira issue'), making the core operation immediately clear. The create/update distinction from jira_create_issue is obvious. However, no sibling differentiation is provided, notably for jira_assign_issue, which overlaps directly since this tool can reassign via the 'assignee' parameter.

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 offers zero guidance on when to use this tool versus alternatives. It does not clarify when an agent should update fields directly here versus calling the dedicated jira_assign_issue tool, nor does it state any prerequisites or exclusions.

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

TDQS

A3.7/5.0
Disambiguation5/5

Each tool targets a distinct resource and action: issues, projects, comments, users, and issue types are clearly separated. There is no overlap between search/get/create/update/delete operations, making misselection unlikely.

Naming Consistency5/5

All tool names follow the consistent pattern jira_<verb>_<noun> using snake_case. The verbs are standard and predictable, such as get, create, update, delete, search, add, and assign, with no mixed conventions.

Tool Count5/5

12 tools is a well-scoped count for a Jira integration, covering core issue, project, and comment workflows without unnecessary bloat. Each tool serves a clear purpose within the domain.

Completeness4/5

The surface covers issue CRUD, searching, comments, project lookup, assignment, and user info, which handles common workflows well. A notable gap is the absence of issue transition/status-change functionality, which is core to Jira usage, though agents can work around it with update_issue in some cases.

Maintenance

ActivityMaintained
ResponsivenessNo issues

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

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to interact with Jira Cloud instances for comprehensive issue management including creating, updating, searching issues, managing comments, workflow transitions, and project metadata discovery. Supports JQL queries, user search, and custom field operations with secure API token authentication.
    12
    2,519
    8
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to interact with Jira Cloud through the REST API, supporting project management, issue operations (create, read, update, delete), JQL search, task assignments, and status transitions.

Latest Blog Posts

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/apo100l/mcp-jira-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server