jira-mcp
jira-mcp
Ein Model Context Protocol-Server für Jira Cloud. Erstellt Issues und Subtasks, liest Issues, sucht mit JQL, durchläuft agile Boards und ihre Swimlanes, gewegt Issues durch ihren Workflow, kommetiert und hängt Dateien an.
Die Authentifizierung erfolt mit eig der E-Mail-Adresse eines Athenan-Kontos und einem API-Token, so läuft er headls — kein OAuth, kein Brøser-Roundtrip, keine interaktive Zustimmung.
Installation
Nichts zu installieren. Richten Sie Ihren MCP-Client auf das Pakto aus and
lassen Sie npx es abrufen:
{
"mcpServers": {
"jira": {
"type": "stdio",
"command": "npx",
"args": ["-y", "github:skurekjakub/jira-mcp#v1.0.0"],
"env": {
"NPM_CONFIG_ALLOW_GIT": "root",
"JIRA_SITE": "your-team.atlassian.net",
"JIRA_CLOUD_ID": "00000000-0000-0000-0000-000000000000",
"JIRA_PROJECT_KEY": "ABC",
"JIRA_EMAIL": "${JIRA_EMAIL}",
"JIRA_API_TOKEN": "${JIRA_API_TOKEN}"
}
}
}
}Da das Build-Artefakt eingecheckt haben und die Laufzeitabhängigkeiten darin eingebetthat sind, besteht die Installation nur aus Klonen und Verlinken — kein Build-Schritt, keine abgerufenen Pakete und kein zu genehmigendes Installiaionsskript.
NPM_CONFIG_ALLOW_GIT
[npm 12 default-allow-git on the "can't"](https://github.com/npm/cli/commit/caa329568d32587e53f6e098f43b550dd2685034), this therefore npm the Installation mit EALLOWGIT— *„Fetching packages of type git have been disabled"*. Wird die Setting in derenv-Block des Servers gesetzt, gilt die Ausnahme nur für diesen single-Unterprozess; damit bleibt dasGit-Fetch der datei für alle anderigen Installationen auf dem Rrehner deaktiviert. rooterlaubt für das ib installierende Paket, aber nicht für irgendetwas, wovon this might depend;all` blunt the restriction entirely und
ist hier not eventätig. Auf npm 11 und älter wird the variableariable
ignoriert.
Einmaliges Installieren
npx löst den Git-Ref bei jedem Start neu auf, was einige Sekunden und einen
Netzwerkk-Reundtrip kostet. Um beides zu vermeiden:
npm install -g --allow-git=root github:skurekjakub/jira-mcpVerwenden Sie dann "command": "jira-mcp"ohneargsund ohneNPM_CONFIGALLOW_GIT`. Ein Upgrade erfolgt dann manuell per erneutes Ausführen
dieses Befehls.
Related MCP server: JIRA MCP Server
Konfiguration
Jede Einstellung stammt aus der Umgebung. Es gibt keine Konfigurationsdatei,
und the server reads keine .env — ein MCP-Client übergibt die Werte im env-
Block nicht.
Variable | Required | Description |
| ja | Host der Site, z. B. |
| ja | Kein Cloud-ID – siehe unten |
| ja | Projekt, in das |
| ja | E-Mail des Atlassian-Kontos, zu which the API token belongs to |
| ja | API-Token, aus Atlassian-Kontoeinstellungen |
| nein | Verzeichnis, aus dem |
| nein | Legt |
Ermitteln Sie Ihre Cloud-ID mit:
curl -s https://your-team.atlassian.net/_edge/tenant_infoDas Token aus der Versionskontrolle heraushalten
Eine eingecheckte MCP-Konfiguration darf das Token nicht selbst enthalten.
Claude Code expandiert ${VAR}-Referenzen in
command, args, env, url und headers, sodass die Konfiguration nur
eine Variable benennt und the Wert woanders liegt — in einem Shell-Profil oder
in einer nicht eingecheckten Einstellungsdatei.
Eine Referenz, die nichts expandiert, ist kein Fehler: Claude Code reicht
den wörtlichen Text ${JIRA_API_TOKEN} an den Server durch. Dieser Server
verwirft einen Wert dieser Form beim Start und benennt die Variable, statt ihn
an Jira zu senden und eine fragments anzunehmen.
Tools
jira_create_issue
Erstellt ein Issue in JIRA_PROJECT_KEY.
Parameter | Type | Required | Description |
| string | ja | Issue title |
| string | ja | Klartext, in ADF umgewandelt (Absätze werden an Leerzeilen geteilt) |
| string | nein | Zzz B. |
| string[] | nein | Optionale Labels |
| string | nein | Link unter einem übergeordneten Element, z. B. Epic – nur gültig, wenn die Issue-Typ-Hierarchie des Projekts es erlaubt |
jira_create_subtask
Erstellt einen Subtask unter einem vorhandenen Issue.
Parameter | Type | Required | Description |
| string | ja | Schlüsselübergeordneten Issue, z B. |
| string | ja | Titel des Subtask |
| string | nein | Klartext, in ADF konvertiert |
| string[] | nein | Optionale Labels |
jira_get_issue
Ruft die Zusammenfassung, Beschreibung, Typ, Status, das übergeordnete Issue, die Subtasks, Issue-Verknüpfungen und Fix-Versionen eines Issues ab.
Parameter | Type | Required | Description |
| string | ja | Issue-Schlüssel, z B. |
| string[] | nein | Zusätzliche Feld-IDs (z. B. |
|jira_search_issues
Durchsucht JQL, paginiert.
Parameter | Type | Required | Description |
| string | nein | JQL-Anfrage |
| number | nein | Seitengürße, 1–100 (Standard 50) |
| string | nein | Token aus einer vorhergehenden Seite |
| boolean | nein | Beschreibung jedes Issue einschließen, per Text abgeflatcht |
| string[] | nein | Zusätzliche Feld IDs unverändert unter |
jira_get_board
Meldet das Layout eines agilen Boards – Spalten, Quick-Filter und Swimlanes,
jeweilt mit JQL. Führen Sie es vor jira_board_issues aus, um die Namen zu
erfahren, die dieses Werkzeug akzeptiert. Die Board-ID ist das boards/<id>-
Segment einer Board-URL.
Die Swimlane stammen aus der internen API von GreenHopper; Atlassian veröffentlicht keinen unterstützten Endpunkt dafür.
Parameter | Type | Required | Description |
| number | ja | Numeric Board-Ids, z B. |
jira_board_issues
Liste die aktuell auf einem Board liegenden Issues, gruppiert nach Swimlane. Reproduziert die Board-Ansicht: den eigenen Filter des Boards, seinen Kanban- Unterhalt, ggf. benannte Filter und zusätzliche JQL.
Jedes Issue bounded in genau eine Swimlane – die erste, in der Board-Reihenfolge, deren Abfrage auf es passt. Wenn eine Teilmenge Spur aus angefordet, werden die darunter liegenden Bahnen trotzdem ausgewertet, ihr Anspruch auf ein Issue besteht.
Parameter | Type | Required | Description |
| number | ja | Numeric board id |
| string[] | nein | Swimlane-Names oder -IDs aus (ohne Berücksichtigung der Groß-/Kleinschreibung). Welchen Sie weg, um alle zu bekommen. |
| string[] | nein | Namen oder IDs von Quick-Filtern, mit UND verknüpft |
| string | nein | Zusätzliche JQL, AND mit dem Board-Filter verguckt |
| boolesch | nein | Kanban-Unterfiltern des Boards anwenden (Standard |
| number | nein | Obergrenze pro Swimlane, 1–1000 (Standard 200). Jede Lane reportiert |
| boolesch | nein | Nur Issue-Schlüssel pro Swimlane zurückgeben (Standard |
| string[] | nein | Weitere Feld-IDs, pro Issue unverändert unter |
jira_list_transitions
Listet die Workflow-Übergänge, die derzeit für ein Issue verfügbar sind.
Übergangsnamen und -IDs sind workflow-spezifisch – rufen Sie es vor
jira_transition_issue auf.
Parameter | Type | Required | Description |
| string | ja | Issue key |
jira_transition_issue
Bewegt ein Issue durch seinen Workflow. Vergleicht transitionName ohne
Groß-/Kleinschreibung mit den verfügbaren (zulässigen) Übergängen des Issues;
gibt es keine Übereinstimmung, schlägt er fehl und listet die zulässigen auf.
Parameter | Type | Required | Description |
| string | ja | Issue key |
| string | ja | Bezeichnung des Zielübergangs, z B. |
| string | nein | Zu setzende Auflösung – nur wenn die Transition das erfordert |
| string | nein | Kommentar, der als Teil der Transaktion hinzugefügt wird |
jira_add_comment
Fügt einen Kommentar hinzu. Der Text verwendet Jira-Wiki-Markup (h3. für
Überschriften, {{code}} für Inline-Code, {code:…}…{code} für Blöcke,
bq. für Zitate). Verwenden Sie echte Zeilenumbrüche, keine literalen
\n-Escapes.
Parameter | Type | Required | Description |
| string | ja | Kommentar im Jira-Wiki-Markup |
| string | bedingt | Ausblendet, wenn |
jira_add_attachment
Hängt eine Datei an. Die Datei muss sich in JIRA_ATTACHMENTS_DIR befinden;
ein Name, der dieses Verzeichnis verlässt, wird abgelehnt.
Parameter | Type | Required | Description |
| string | ja | Dateiname im Verzeichnis für Anhänge |
| string | bedingt | Ausblendet, wenn |
Transport
stdio standardmäßig. --transport http --port <n> stellt die gleichen
Werkzeuge über einen zustandslosen Streamable-HTTP-Transport unter /mcp
bereit, zugleich unter /health einen Health-Check.
Entwicklung
npm install
npm test # vitest
npm run lint # tsc --noEmit
npm run build # webpack -> dist/bundle.jsdist/bundle.js ist eingecheckt, sodass die Installation keinen build-Schritt
benötigt. CI baut es bei jedem Push auf main neu und übernimmt das Ergebnis,
sodass nicht von src/ abweichenkann.
Lizenz
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMCP server for interacting with Jira Cloud instances. Enables issue management, JQL queries, project and sprint management, and batch operations via natural language interfaces.1924MIT
- AlicenseAqualityDmaintenanceEnables interaction with Jira issues via JQL search, epic management, comments, attachments, and issue CRUD, with support for both Cloud and Server/Data Center instances.98MIT
- FlicenseNot gradedqualityDmaintenanceManages Atlassian Jira Cloud projects, issues, sprints, boards, worklogs, comments, and workflow transitions from MCP-compatible clients.
- FlicenseAqualityDmaintenanceMCP server for JIRA Cloud REST API v3, enabling issue search, creation, updates, comments, and transitions.9
Related MCP Connectors
Connect to Atlassian Jira, Confluence, and Compass to search, create, and manage your work.
Confluence MCP — wraps the Confluence Cloud REST API v2 (OAuth)
Search, document and execute authenticated API calls across 700+ apps via one MCP server
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/skurekjakub/jira-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server