jira-mcp
This server provides MCP tools to interact with Jira Server/Data Center and Tempo (Timesheets & Planner), authenticated via a personal access token.
What you can do
Issue Management
Retrieve issues by key, search with JQL, add comments, create issues (epic, task, story, sub-task) with custom fields, and list available issue types per project. Create/comment are write operations and require explicit user confirmation.Project & Role Discovery
List all visible projects, get a single project by key or ID, and view project roles with their members (users and groups).User & Group Lookup
List all Jira users, search users by name/username/email, and find groups by name substring.Worklog Reporting & Logging (Tempo Timesheets)
Retrieve logged hours for a single user, multiple users, or an entire Tempo team over a date range, with optional breakdowns by day, project, issue, or account—and the option to exclude absences.
Log time entries on issues using Jira duration syntax, with optional start time and comment. Write operations require explicit user request.Tempo Team Management
List all Tempo teams, find a team by name, and get team members along with their roles and membership periods.Tempo Planner
View planned allocations for a user or group of users over a period, showing which projects and how many hours per day, while respecting working calendars.
Allows interaction with Jira Server/Data Center, providing tools for managing issues (get, search, add comments) and retrieving worklog data from Tempo Timesheets.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@jira-mcpfind issue PROJ-123"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
jira-mcp
MCP-сервер для доступа к Jira Server / Data Center через
atlassian-python-api.
Аутентификация — Personal Access Token (Bearer). Транспорт — stdio.
Требования
Python ≥ 3.11 (в разработке используется 3.13)
Related MCP server: MCP Atlassian Node Server
Установка
Сервер ставится и запускается прямо из репозитория через uvx — клонировать
исходники и указывать путь до них не нужно. uvx скачает пакет, соберёт его в
изолированном окружении и запустит точку входа:
uvx --from git+https://github.com/nsleader/jira-mcp.git jira-mcpЧтобы зафиксировать версию, можно указать тег или коммит:
uvx --from git+https://github.com/nsleader/jira-mcp.git@v0.1.0 jira-mcpКонфигурация
Креды передаются как переменные окружения в конфигурации подключения MCP-сервера
(блок env), а не через .env файл.
Переменная | Обязательна | По умолчанию | Описание |
| да | — | Базовый URL Jira, напр. |
| да | — | Personal Access Token (Bearer) |
| нет |
| Проверка TLS-сертификата |
| нет |
| Таймаут запроса, сек |
PAT создаётся в Jira: Profile → Personal Access Tokens.
Запуск
Сервер общается по stdio и запускается MCP-клиентом. Для локальной проверки можно задать переменные вручную:
JIRA_URL=https://jira.example.com JIRA_PERSONAL_TOKEN=xxxx \
uvx --from git+https://github.com/nsleader/jira-mcp.git jira-mcpПодключение к Claude Code
claude mcp add jira \
-e JIRA_URL=https://jira.example.com \
-e JIRA_PERSONAL_TOKEN=your-personal-access-token \
-- uvx --from git+https://github.com/nsleader/jira-mcp.git jira-mcpПодключение к Claude Desktop
В claude_desktop_config.json:
{
"mcpServers": {
"jira": {
"command": "uvx",
"args": ["--from", "git+https://github.com/nsleader/jira-mcp.git", "jira-mcp"],
"env": {
"JIRA_URL": "https://jira.example.com",
"JIRA_PERSONAL_TOKEN": "your-personal-access-token"
}
}
}
}Доступные инструменты
Инструмент | Описание |
| Получить задачу по ключу ( |
| Поиск задач по JQL |
| Добавить комментарий к задаче |
| Типы задач инстанса или конкретного проекта (что можно передать в |
| Создать эпик / задачу / подзадачу — вызывается строго по явной просьбе пользователя |
| Залогировать время на задачу — вызывается строго по явной просьбе пользователя |
| Список всех проектов, видимых пользователю |
| Один проект по ключу или id |
| Роли проекта и их состав (пользователи и группы) — где искать реального РП |
| Часы одного пользователя за период (Tempo Timesheets) |
| Часы по списку пользователей за период, с разбивкой по каждому |
| Часы всех участников команды Tempo ( |
| Список всех команд Tempo (id, название, лид) |
| Найти команды Tempo по названию (подстрока) → получить |
| Все участники команды Tempo (ключ, имя, роль, период членства) |
| Планы Tempo Planner: на какие проекты и на сколько часов в день запланирован пользователь |
| Планы Tempo Planner по списку пользователей за один запрос, с разбивкой по каждому |
Структура
src/jira_mcp/
├── config.py # настройки из окружения (pydantic-settings)
├── client.py # фабрика Jira-клиента (кеш)
├── server.py # FastMCP + main()
└── tools/
├── issues.py # инструменты по задачам + create_issue
├── projects.py # проекты и роли проекта (get_project_roles)
├── worklogs.py # отчёты по времени (Tempo Timesheets) + add_worklog
└── tempo.py # Tempo Planner: планирование (get_user_plan)Создание задач
create_issue создаёт issue через rest/api/2/issue от имени владельца токена.
Иерархия Jira Server/DC не лежит в обычных полях, поэтому сервер сам разбирается
с agile-полями Greenhopper (их id различаются от инстанса к инстансу и находятся
по типу схемы в rest/api/2/field):
issue_type="Epic"→ в обязательное поле Epic Name пишетсяepic_name, а если он не задан —summaryобычный тип +
parent="PROJ-1"→ ключ эпика пишется в Epic Linkподзадача (
subtask: true) +parent="PROJ-2"→ полеparent; безparentвызов отклоняется до похода в Jira
Тип задачи резолвится по имени (регистронезависимо) или id заранее: если такого
типа нет, ошибка перечисляет доступные, а не возвращает голый HTTP 400. Имена
типов на инстансах переименовывают и локализуют — при сомнениях сначала
get_issue_types(project_key).
Остальные поля — description, assignee (логин Server/DC), priority,
labels, components, due_date; всё, что не покрыто сигнатурой (story points,
обязательные кастомные поля), передаётся через extra_fields, например
{"customfield_10004": 3}.
Как и add_worklog, инструмент пишущий и в описании помечен как вызываемый
строго по просьбе пользователя: удалить созданную задачу сервер не умеет.
Логирование времени
add_worklog пишет worklog через core-API Jira
(rest/api/2/issue/{key}/worklog) от имени владельца токена; Tempo на Server/DC
читает те же worklog'и, поэтому списанное время видно в отчётах выше.
time_spent— синтаксис Jira:2h,90m,2h 30m,1d 4hstarted—YYYY-MM-DD(привязывается к 09:00 локального времени, чтобы worklog не уехал на предыдущий день в восточных таймзонах),YYYY-MM-DDTHH:MMили метка времени со смещением; по умолчанию — сейчас
В описании инструмента явно указано, что он вызывается строго по просьбе пользователя: это единственный инструмент, пишущий время, и отменить запись из сервера нельзя.
Tempo Planner
get_user_plan читает раздел планирования через rest/tempo-planning/1/allocation
и рабочий календарь пользователя (rest/tempo-core/1/user/schedule), поэтому
разбивка по дням не учитывает выходные и праздники — так же, как сам Tempo.
На Server/DC это плагин Jira: работает тот же JIRA_URL и PAT, отдельный
Tempo-токен не нужен.
Разработка
uv run ruff check
uv run pytestMaintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceAn MCP server that enables interaction with Jira to fetch issues by key and perform JQL searches. It provides a foundation for integrating multiple work systems, with planned support for Slack and GitHub.616MIT
- Alicense-qualityDmaintenanceProduction-ready MCP server for Atlassian Jira and Confluence, providing tools for issue management, page retrieval, and content operations.361MIT
- FlicenseDqualityCmaintenanceMCP server for fetching Jira issue data via the Jira API.1
- Flicense-qualityDmaintenanceMCP server for JIRA Cloud REST API v3, enabling issue search, creation, updates, comments, and transitions.
Related MCP Connectors
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.
A basic MCP server to operate on the Postman API.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nsleader/jira-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server