Jira MCP Server
JIRA MCP Server
Dies ist ein Model Context Protocol (MCP)-Server, der Werkzeuge für die Interaktion mit JIRA bereitstellt. Er ermöglicht es Ihnen, Tickets aus aktiven Sprints abzurufen und detaillierte Ticketinformationen über die MCP-Schnittstelle zu erhalten.
Funktionen
Der Server stellt die folgenden Werkzeuge bereit:
list-sprint-tickets: Ruft alle Tickets im aktiven Sprint für ein bestimmtes Projekt abErforderlicher Parameter:
projectKey(string)
get-ticket-details: Ruft detaillierte Informationen zu einem bestimmten Ticket abErforderlicher Parameter:
issueKey(string)
add-comment: Fügt einem bestimmten Ticket einen Kommentar hinzuErforderlicher Parameter:
issueKey(string)Entweder
comment(string) oderfilePath(string) – siehe Inhalt aus einer Datei bearbeitenOptionaler Parameter:
commentFormat–plain(Standard),wiki,markdownoderadf
link-tickets: Verknüpft zwei Tickets mit einer „verwandt mit“-BeziehungErforderlicher Parameter:
sourceIssueKey(string)Erforderlicher Parameter:
targetIssueKey(string)
update-description: Aktualisiert die Beschreibung eines bestimmten TicketsErforderlicher Parameter:
issueKey(string)Entweder
description(string) oderfilePath(string) – siehe Inhalt aus einer Datei bearbeitenOptionaler Parameter:
descriptionFormat–plain(Standard),wiki,markdownoderadf
list-child-issues: Ruft alle Untertickets eines übergeordneten Tickets abErforderlicher Parameter:
parentKey(string)
create-sub-ticket: Erstellt ein Unterticket (Child Issue) für ein übergeordnetes TicketErforderlicher Parameter:
parentKey(string)Erforderlicher Parameter:
summary(string)Optionaler Parameter:
description(string) oderfilePath(string) – siehe Inhalt aus einer Datei bearbeitenOptionaler Parameter:
issueType(string) – Der Name des Unteraufgaben-Issuetyps (z. B. „Sub-task“)
Related MCP server: mcp-jira
Einrichtung
Abhängigkeiten installieren:
npm installDen TypeScript-Code erstellen:
Dieser Schritt ist nur für Cline unter Windows erforderlich, das derzeit ein Problem mit der Ausführung von npx hat.
npm run buildKonfigurieren Sie die MCP-Einstellungen in Ihrer Claude-App-Einstellungsdatei (normalerweise unter
~/Library/Application Support/Claude/claude_desktop_config.jsonauf macOS oder%APPDATA%/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.jsonauf Windows):
Einstellungen für Claude:
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["path/to/this/repo/jira.ts"],
"env": {
"JIRA_HOST": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "your-email@example.com",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}Einstellungen für Cline:
{
"mcpServers": {
"jira": {
"command": "node",
"args": ["path/to/this/repo/dist/jira.js"],
"env": {
"JIRA_HOST": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "your-email@example.com",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}Konfiguration
Sie müssen die folgenden Umgebungsvariablen in Ihren MCP-Einstellungen einrichten:
JIRA_HOST: Ihre Atlassian-Domain-URL (z. B.https://your-company.atlassian.net)JIRA_EMAIL: Ihre JIRA-Konto-E-MailJIRA_API_TOKEN: Ihr JIRA-API-TokenSie können ein API-Token über Ihre Atlassian-Kontoeinstellungen generieren
Verwendung
Nach der Konfiguration können Sie die Werkzeuge über die MCP-Schnittstelle in Claude verwenden:
Sprint-Tickets auflisten
Um alle Tickets im aktiven Sprint für ein Projekt abzurufen:
<use_mcp_tool>
<server_name>jira</server_name>
<tool_name>list-sprint-tickets</tool_name>
<arguments>
{
"projectKey": "YOUR_PROJECT_KEY"
}
</arguments>
</use_mcp_tool>Ticketdetails abrufen
Um detaillierte Informationen zu einem bestimmten Ticket abzurufen:
<use_mcp_tool>
<server_name>jira</server_name>
<tool_name>get-ticket-details</tool_name>
<arguments>
{
"issueKey": "PROJECT-123"
}
</arguments>
</use_mcp_tool>Inhalt aus einer Datei bearbeiten
update-description, update-comment, add-comment, create-ticket und create-sub-ticket
akzeptieren filePath anstelle von Inline-Text. Dies ist für lange Inhalte gedacht: Halten Sie die Quelle in einer
Datei, bearbeiten Sie diese Datei und senden Sie sie erneut – kein erneutes Einfügen des gesamten Texts über den Tool-Aufruf
jedes Mal. Bei den beiden Erstellungswerkzeugen bleibt die Beschreibung optional, sodass das Weglassen beider weiterhin in Ordnung ist.
Das Format wird aus der Dateiendung abgeleitet, sodass descriptionFormat / commentFormat weggelassen werden können:
Endung | Format | Inhalt |
|
| Markdown ( |
|
| Jira-Wiki-Auszeichnung ( |
|
| Rohes Atlassian Document Format JSON |
|
| Klartext, in einen Absatz eingebettet |
Die explizite Angabe des Formats überschreibt die Dateiendung, was auch der Weg ist, eine Datei mit einer beliebigen anderen Endung zu verwenden. Pfade sind absolut oder relativ zum Arbeitsverzeichnis des Servers.
{
"issueKey": "PROJECT-123",
"filePath": "/abs/path/to/description.md"
}Eine leere Datei wird abgelehnt, anstatt die vorhandene Beschreibung oder den vorhandenen Kommentar zu löschen, und die Angabe
sowohl des Inline-Texts als auch von filePath ist ein Fehler.
Vorhandenen Inhalt patchen
Um einen Teil einer bereits vorhandenen Beschreibung oder eines Kommentars zu ändern, exportieren Sie ihn zuerst mit
export-content, bearbeiten Sie die Datei und laden Sie sie erneut hoch – kein Umschreiben des gesamten Inhalts erforderlich:
{ "issueKey": "PROJECT-123", "commentId": "54660", "filePath": "/tmp/pir-timeline.md" }Der Export meldet, ob dieser Inhalt sicher als Markdown erneut hochgeladen werden kann. Jira speichert Inhalte
als ADF, und Konstrukte wie Panels, Erwähnungen, Status-Lozenges, Medien, Tabellen, Aufgabenlisten und
Expands haben kein Markdown-Äquivalent – das erneute Hochladen von Markdown würde sie stillschweigend verwerfen. Wenn solche
vorhanden sind, warnt das Werkzeug und listet sie auf; exportieren Sie stattdessen mit "format": "adf" und patchen Sie das
JSON, das immer exakt hin- und zurückkonvertiert (.json-Dateien werden beim Hochladen als ADF erkannt).
Lassen Sie filePath weg, um den Inhalt inline zurückzuerhalten, anstatt eine Datei zu schreiben. Kommentar-IDs werden
von get-ticket-details angezeigt.
Inhaltsversionen (optimistische Nebenläufigkeit)
update-description und update-comment erfordern expectedVersion, sofern der zu ersetzende Inhalt
nicht leer ist: die Version, auf der die Bearbeitung basiert. Wenn sich der Inhalt in Jira seitdem geändert hat,
wird die Aktualisierung abgelehnt, anstatt diese Änderung stillschweigend zu verwerfen – dieselbe Sperre, die Confluence durch
seine Seitenversionsnummern erhält.
Jira hat keine eigene Versionsnummer, und der updated-Zeitstempel eines Issues ist kein Ersatz:
Er ändert sich bei jeder Änderung am Issue, sodass Übergänge, Labels und neue Kommentare alle Beschreibungs-Patches ablehnen würden,
die nie in Konflikt geraten sind. Die Version ist daher ein Hash des Inhalts selbst (v1-…), sodass sie sich genau dann ändert,
wenn sich das zu patchende Element ändert.
Versionen stammen von export-content und von get-ticket-details, das
Description version: und eine version: für jeden Kommentar meldet – sodass eine kleine Inline-Bearbeitung keinen
Export-Roundtrip benötigt.
Das erstmalige Schreiben einer Beschreibung benötigt keine Version. Das Weglassen von expectedVersion ist
selbst die Annahme, dass hier noch nichts vorhanden ist, was der Server überprüft: Der Schreibvorgang wird durchgeführt,
wenn die Beschreibung noch leer ist, und wird abgelehnt – unter Angabe der jetzt in Jira vorhandenen Version –, wenn
in der Zwischenzeit jemand eine geschrieben hat. Somit deckt die Sperre auch den ersten Schreibvorgang ab, ohne dass der Aufrufer
die Version des leeren Inhalts abrufen muss.
Übergeben Sie "force": true, um die Prüfung zu überspringen und unabhängig davon zu überschreiben.
Entwicklung
Der Server ist in TypeScript geschrieben und verwendet:
@modelcontextprotocol/sdkfür die MCP-Serverimplementierungjira.jsfür die JIRA-API-Integration
Empfohlene Skripte:
Einmal erstellen:
npm run buildErstellen und überwachen:
npm run build:watchNur Typprüfung:
npm run typecheckEntwicklungsausführung mit Überwachung:
npm run start:devKompilierten Server ausführen:
npm startFormatprüfung:
npm run fmt:checkFormat schreiben:
npm run fmt
Typischer Arbeitsablauf:
Änderungen an
jira.tsvornehmenWährend der Entwicklung
npm run start:devausführen, odernpm run buildund dannnpm startfür den kompilierten LaufStarten Sie Ihren MCP-Client bei Bedarf neu, um Änderungen zu übernehmen
Fehlerbehandlung
Der Server enthält Fehlerbehandlung für:
Ungültige JIRA-Anmeldeinformationen
Fehlende aktive Sprints
Ungültige Projekt- oder Issue-Schlüssel
Netzwerkfehler
Fehlermeldungen werden in der Tool-Antwort zurückgegeben.
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 Connectors
Connect to Atlassian Jira, Confluence, and Compass to search, create, and manage your work.
Kanban board for teams and coding agents: manage tasks, subtasks, sprints and wiki pages via MCP.
Read and write Mission Control state via MCP — projects, tasks, subtasks, templates, status updates.
Task manager your agent can fully operate: boards, tasks, sprints, roles, worklogs, day planner.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides tools for AI assistants to interact with JIRA APIs, enabling them to read, create, update, and manage JIRA issues through standardized MCP tools.6203MIT
- AlicenseNot gradedqualityCmaintenanceProvides JIRA issue search, retrieval, and update functionalities via MCP.92MIT
- AlicenseNot gradedqualityDmaintenanceEnables natural language interaction with JIRA through MCP, providing 35 tools for issues, comments, transitions, projects, boards, sprints, epics, links, worklogs, versions, attachments, users, and fields.MIT
- FlicenseNot gradedqualityDmaintenanceEnables natural language interaction with Jira Cloud tickets, including listing, searching, creating, and updating issues through a set of MCP tools.
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/boukeversteegh/mcp-server-jira'
If you have feedback or need assistance with the MCP directory API, please join our Discord server