Jira MCP Server für Cursor
Ein TypeScript-basierter MCP-Server, der in Jira integriert ist und Cursor die Interaktion mit Jira-Tickets ermöglicht.
Merkmale
Auflisten von Jira-Tickets
Ticketdetails abrufen
Ticketkommentare abrufen
Neue Tickets erstellen
Kommentare zu Tickets hinzufügen
Ticketstatus aktualisieren
Vollständige MCP-Protokollunterstützung für die Cursor-Integration
Related MCP server: Jira MCP Server
Aufstellen
Installation über Smithery
So installieren Sie den Jira MCP-Server für Cursor für Claude Desktop automatisch über Smithery :
npx -y @smithery/cli install @kornbed/jira-mcp-server --client claudeInstallieren Sie Abhängigkeiten:
npm installErstellen Sie eine
.envDatei basierend auf.env.exampleund geben Sie Ihre Jira-Anmeldeinformationen ein:
JIRA_HOST=https://your-domain.atlassian.net
JIRA_EMAIL=your-email@example.com
JIRA_API_TOKEN=your-api-token
PORT=3000So erhalten Sie Ihr Jira-API-Token:
Melden Sie sich bei https://id.atlassian.com/manage/api-tokens an
Klicken Sie auf „API-Token erstellen“.
Kopieren Sie das Token und fügen Sie es in Ihre
.envDatei ein
Entwicklung
Führen Sie den Entwicklungsserver aus:
npm run devErstellen und Ausführen
Erstellen Sie das Projekt:
npm run buildStarten Sie den Server:
npm startCursor-Integration
Um diesen MCP-Server mit Cursor zu verwenden, haben Sie zwei Möglichkeiten:
Option 1: Befehlsbasierte Integration (empfohlen)
Erstellen Sie das Projekt:
npm run buildÖffnen Sie die Cursor-Einstellungen:
Klicken Sie auf das Cursormenü
Wählen Sie „Einstellungen“ (oder verwenden Sie die Tastenkombination)
Navigieren Sie zum Abschnitt „Erweiterungen“ oder „Integrationen“
Fügen Sie die MCP-Konfiguration hinzu:
{
"mcpServers": {
"jira": {
"command": "node",
"args": ["/path/to/jira-mcp-cursor/dist/server.js"]
}
}
}Ersetzen Sie /path/to/jira-mcp-cursor durch den absoluten Pfad zu Ihrem Projekt.
Option 2: HTTP-basierte Integration (Alternative)
Starten Sie den MCP-Server (falls er nicht bereits läuft):
npm startÖffnen Sie die Cursor-Einstellungen:
Klicken Sie auf das Cursormenü
Wählen Sie „Einstellungen“ (oder verwenden Sie die Tastenkombination)
Navigieren Sie zum Abschnitt „Erweiterungen“ oder „Integrationen“
Fügen Sie die MCP-Konfiguration hinzu:
{
"mcpServers": {
"jira": {
"url": "http://localhost:3000",
"capabilities": [
"list_tickets",
"get_ticket",
"get_comments",
"create_ticket",
"update_status",
"add_comment"
]
}
}
}
}Verwenden von Jira im Cursor
Nach der Konfiguration des MCP-Servers können Sie Jira-Befehle direkt im Cursor verwenden:
/jira list– Listen Sie Ihre Tickets auf/jira view TICKET-123– Ticketdetails anzeigen/jira comments TICKET-123- Ticketkommentare abrufen/jira create– Ein neues Ticket erstellen/jira comment TICKET-123– Kommentar hinzufügen/jira status TICKET-123– Ticketstatus aktualisieren
MCP-Protokollunterstützung
Der Server implementiert das von Cursor benötigte Model-Client-Protocol (MCP):
Stdio-Kommunikation für befehlsbasierte Integration
Tool-Registrierung für Jira-Operationen
API-Endpunkte
Tickets auflisten
Ruft eine Liste von Jira-Tickets ab, optional gefiltert durch eine JQL-Abfrage.
Endpunkt: GET /api/tickets
Abfrageparameter:
Parameter | Typ | Erforderlich | Beschreibung |
jql | Schnur | NEIN | Jira Query Language (JQL)-Zeichenfolge zum Filtern von Tickets |
Beispielanfrage:
GET /api/tickets?jql=project=TEST+AND+status=OpenBeispielantwort:
TEST-123: Example ticket (Open)
TEST-124: Another ticket (In Progress)Ticket holen
Ruft detaillierte Informationen zu einem bestimmten Ticket ab.
Endpunkt: GET /api/tickets/:id
Pfadparameter:
Parameter | Typ | Erforderlich | Beschreibung |
Ausweis | Schnur | Ja | Die Jira-Ticket-ID (z. B. TEST-123) |
Beispielanfrage:
GET /api/tickets/TEST-123Beispielantwort:
Key: TEST-123
Summary: Example ticket
Status: Open
Type: Task
Description:
Detailed ticket descriptionTicketkommentare abrufen
Ruft alle Kommentare zu einem bestimmten Ticket ab.
Endpunkt: GET /api/tickets/:id/comments
Pfadparameter:
Parameter | Typ | Erforderlich | Beschreibung |
Ausweis | Schnur | Ja | Die Jira-Ticket-ID (z. B. TEST-123) |
Beispielanfrage:
GET /api/tickets/TEST-123/commentsBeispielantwort:
[3/20/2024, 10:00:00 AM] John Doe:
Comment text
---
[3/20/2024, 9:30:00 AM] Jane Smith:
Another comment
---Ticket erstellen
Erstellt ein neues Jira-Ticket.
Endpunkt: POST /api/tickets
Anforderungstext:
Parameter | Typ | Erforderlich | Beschreibung |
Zusammenfassung | Schnur | Ja | Die Ticketübersicht |
Beschreibung | Schnur | Ja | Die Ticketbeschreibung |
Projektschlüssel | Schnur | Ja | Der Projektschlüssel (z. B. TEST) |
Problemtyp | Schnur | Ja | Die Art des Problems (z. B. Aufgabe, Fehler) |
Beispielanfrage:
POST /api/tickets
Content-Type: application/json
{
"summary": "New feature request",
"description": "Implement new functionality",
"projectKey": "TEST",
"issueType": "Task"
}Beispielantwort:
Created ticket: TEST-124Kommentar hinzufügen
Fügt einem vorhandenen Ticket einen neuen Kommentar hinzu.
Endpunkt: POST /api/tickets/:id/comments
Pfadparameter:
Parameter | Typ | Erforderlich | Beschreibung |
Ausweis | Schnur | Ja | Die Jira-Ticket-ID (z. B. TEST-123) |
Anforderungstext:
Parameter | Typ | Erforderlich | Beschreibung |
Körper | Schnur | Ja | Der Kommentartext |
Beispielanfrage:
POST /api/tickets/TEST-123/comments
Content-Type: application/json
{
"body": "This is a new comment"
}Beispielantwort:
Added comment to TEST-123Update-Status
Aktualisiert den Status eines vorhandenen Tickets.
Endpunkt: POST /api/tickets/:id/status
Pfadparameter:
Parameter | Typ | Erforderlich | Beschreibung |
Ausweis | Schnur | Ja | Die Jira-Ticket-ID (z. B. TEST-123) |
Anforderungstext:
Parameter | Typ | Erforderlich | Beschreibung |
Übergangs-ID | Schnur | Ja | Die ID des durchzuführenden Übergangs |
Beispielanfrage:
POST /api/tickets/TEST-123/status
Content-Type: application/json
{
"transitionId": "21"
}Beispielantwort:
Updated status of TEST-123Tickets suchen
Sucht mithilfe der Textsuche nach Tickets in angegebenen Projekten.
Endpunkt: GET /api/tickets/search
Abfrageparameter:
Parameter | Typ | Erforderlich | Beschreibung |
Suchtext | Schnur | Ja | In Tickets zu suchender Text |
Projektschlüssel | Schnur | Ja | Durch Kommas getrennte Liste der Projektschlüssel, in denen gesucht werden soll |
maxErgebnisse | Nummer | NEIN | Maximale Anzahl der zurückzugebenden Ergebnisse (Standard: 50) |
Beispielanfrage:
GET /api/tickets/search?searchText=login+bug&projectKeys=TEST,PROD&maxResults=10Beispielantwort:
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
----------------------------------------