Jira Weekly Reporter MCP Server
Dieses Projekt stellt einen FastMCP -Server bereit, der sich mit Ihrer Jira-Instanz (Cloud oder Server/Rechenzentrum) verbindet, um wöchentliche Berichte basierend auf der Problemaktivität zu erstellen. Es nutzt die pycontribs-jira Bibliothek für die Jira-Interaktion und kann optional das Large Language Model (LLM) des verbundenen Clients zur Zusammenfassung des generierten Berichts verwenden.
✨ Funktionen
Jira-Verbindung: Stellt eine sichere Verbindung zu Jira mithilfe von API-Token her, die in einer
.envDatei gespeichert sind.MCP-Tool: Stellt ein
generate_jira_report-Tool bereit, auf das über das Model Context Protocol zugegriffen werden kann.Flexibles Reporting:
Standardmäßig werden Probleme gemeldet, die in den letzten 7 Tagen aktualisiert wurden.
Ermöglicht die Angabe einer benutzerdefinierten JQL-Abfrage.
Kann Berichte nach einem bestimmten Jira-Projektschlüssel filtern.
Begrenzt die Anzahl der zurückgegebenen Ergebnisse (konfigurierbar).
(Optional) LLM-Zusammenfassung: Kann das LLM des Clients (über
ctx.sample()) verwenden, um eine prägnante Zusammenfassung des Berichts bereitzustellen.Asynchrone Handhabung: Behandelt synchrone Jira-Bibliotheksaufrufe innerhalb des asynchronen FastMCP-Servers ordnungsgemäß mithilfe von
asyncio.to_thread.
Related MCP server: mcp-jira-server
📋 Voraussetzungen
Python 3.10 oder höher.
uv(empfohlen) oderpipfür die Paketverwaltung.Zugriff auf eine Jira-Instanz (Cloud, Server oder Rechenzentrum).
Ein Jira-API-Token (persönliches Zugriffstoken für Server/DC).
FastMCP CLI ist installiert und im PATH Ihres Systems verfügbar.
⚙️ Einrichtung
Klonen Sie das Repository (falls zutreffend):
git clone https://github.com/Jongryong/jira_reporter.git cd jira_reporterAbhängigkeiten installieren: Wir empfehlen die Verwendung von
uv:uv pip install fastmcp "jira[cli]" python-dotenv httpx anyioAlternativ können Sie
pipverwenden:pip install fastmcp "jira[cli]" python-dotenv httpx anyio.envErstellen Sie eine Datei mit dem Namen.envim selben Verzeichnis wiejira_reporter_server.py. Fügen Sie Ihre Jira-Verbindungsdaten hinzu:# .env JIRA_URL=https://your-domain.atlassian.net # Your Jira Cloud URL or Self-Hosted URL JIRA_USERNAME=your_email@example.com # Your Jira login email JIRA_API_TOKEN=your_api_token_or_pat # Your generated API Token or PATSicherheit:
Übergeben Sie Ihre Fügen Sie
.envzu Ihrer.gitignoreDatei hinzu.Jira Cloud: Generieren Sie ein API-Token aus Ihren Atlassian-Kontoeinstellungen: API-Token verwalten .
Jira Server/Data Center: Generieren Sie ein persönliches Zugriffstoken (PAT) aus Ihren Jira-Benutzerprofileinstellungen: Verwenden persönlicher Zugriffstoken .
▶️ Ausführen des Servers (Standalone)
Sie können den Server zu Test- oder anderen Zwecken unabhängig betreiben:
Direkt mit Python:
python jira_reporter_server.pyVerwenden der FastMCP-CLI:
fastmcp run jira_reporter_server.pySo führen Sie es mit SSE aus (z. B. für den Fernzugriff):
fastmcp run jira_reporter_server.py --transport sse --port 8001
🖥️ Verwendung mit Claude Desktop
So stellen Sie diesen Server als Tool innerhalb der Claude Desktop-Anwendung zur Verfügung:
Voraussetzungen sicherstellen: Stellen Sie sicher, dass
fastmcpinstalliert und im PATH Ihres Systems zugänglich ist, da die folgende Konfiguration den Befehlfastmcpverwendet.Suchen Sie die Claude-Konfigurationsdatei: Suchen Sie die Datei
claude_desktop_config.json. Der Speicherort hängt von Ihrem Betriebssystem ab:macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json(normalerweiseC:\Users\<YourUsername>\AppData\Roaming\Claude\claude_desktop_config.json)Linux:
~/.config/Claude/claude_desktop_config.json(oder$XDG_CONFIG_HOME/Claude/)
Bearbeiten Sie die Konfigurationsdatei: Öffnen Sie
claude_desktop_config.jsonin einem Texteditor.Serverkonfiguration hinzufügen: Suchen Sie das Objekt
"mcpServers"im JSON-Code (falls es nicht existiert, erstellen Sie es als leeres Objekt{}). Fügen Sie den folgenden Eintrag inmcpServersein und ersetzen Sie dabei"path/to/your/jira_reporter_server.py"durch den absoluten Pfad zu Ihrem Skript:{ "mcpServers": { // ... other servers might be here ... "jira_report": { "command": "fastmcp", "args": [ "run", "/path/to/your/jira_reporter_server.py" // <-- IMPORTANT: Use the full, absolute path here ] } // ... other servers might be here ... } // ... rest of your Claude config ... }"jira_report": Dies ist der interne Name, den Claude verwendet. Sie können ihn bei Bedarf ändern."command": "fastmcp": Weist Claude an, das Befehlszeilentoolfastmcpzu verwenden."args": [...]: Weist Claude anfastmcp run /path/to/your/jira_reporter_server.pyauszuführen.
Speichern und neu starten: Speichern Sie die Datei
claude_desktop_config.jsonund starten Sie die Claude Desktop-Anwendung neu.Rufen Sie das Tool auf: Sie sollten das Tool nun in Claude verwenden können, indem Sie den im Python-Skript (
Jira Weekly Reporter) definierten Servernamen angeben. Beispiel:@Jira Weekly Reporter generate jira report for project MYPROJ and summarize it
🛠️ Details zum MCP-Tool
Toolname:
generate_jira_reportBeschreibung: Generiert einen Bericht über Jira-Probleme basierend auf einer JQL-Abfrage (standardmäßig mit den zuletzt aktualisierten Problemen). Optional kann der Bericht mithilfe des LLM des Clients zusammengefasst werden.
Parameter:
Parameter | Typ | Erforderlich | Standard | Beschreibung |
|
| NEIN |
| Optionale JQL-Abfrage. Wenn diese weggelassen wird, wird die Standardabfrage verwendet. |
|
| NEIN |
| Optionaler Jira-Projektschlüssel (z. B. „PROJ“) zum Einschränken des Suchumfangs (hinzugefügt als
). |
|
| NEIN |
| Maximale Anzahl von Problemen, die in die Rohdaten des Berichts aufgenommen werden sollen. |
|
| NEIN |
| Wenn
, fordert der Server über
eine Zusammenfassung vom LLM des Clients an. |
📦 Serverabhängigkeiten
Der FastMCP Konstruktor enthält dependencies=["jira"] . Dies teilt Tools wie fastmcp install mit, dass die jira -Bibliothek für die korrekte Funktion dieses Servers beim Erstellen isolierter Umgebungen erforderlich ist.
🤝 Beitragen
Beiträge sind willkommen! Bitte senden Sie uns gerne Probleme oder Pull Requests.
📄 Lizenz
MIT-Lizenz