Skip to main content
Glama
hspanteon
by hspanteon

Panteon Timeline MCP Server 🚀

Ein MCP (Model Context Protocol) Server, der mit FastMCP erstellt wurde und KI-Assistenten (Antigravity, Claude Desktop, Cursor usw.) ermöglicht, Echtzeit-Aufgabendaten und Konversationsverlauf direkt von Panteon Timeline (https://timeline.panteon.no) abzurufen.


✨ Funktionen

  • Issue-ID extrahieren: Analysiert automatisch URL-Formate wie https://timeline.panteon.no/tasks#/list/15033/edit/5461 oder akzeptiert direkte Issue-IDs (5461).

  • Zweistufige API-Auflösung: Spiegelt die Logik der Browsererweiterung wider, indem die externe Issue-ID (5461) über API 1 in Panteons interne task_id aufgelöst wird und anschließend der vollständige Konversationsverlauf über API 2 abgerufen wird.

  • KI-optimierte Formatierung: Bietet strukturierten XML/Markdown-Kontext (<task_title>, <task_description>, <conversation_history>) für KI-Analyse, Zusammenfassung und Antwortentwurf.

  • Flexible Authentifizierung: Unterstützt JWT-Bearer-Tokens oder Cookie-Header über die .env-Dateikonfiguration oder Parameter pro Tool-Aufruf.


Related MCP server: Rytnow MCP Server

🛠️ Installation & Einrichtung

1. Abhängigkeiten installieren

Stellen Sie sicher, dass Python 3.10+ installiert ist, erstellen Sie dann die virtuelle Umgebung des Projekts oder verwenden Sie sie erneut und installieren Sie die Abhängigkeiten darin:

cd timeline-mcp
python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt

2. Authentifizierung konfigurieren

Um geschützte Daten von timeline.panteon.no abzurufen, benötigt der MCP-Server ein Authentifizierungstoken aus Ihrer angemeldeten Browsersitzung.

  1. Kopieren Sie .env.example in .env:

    cp .env.example .env
  2. Öffnen Sie Google Chrome und melden Sie sich bei https://timeline.panteon.no an.

  3. Öffnen Sie Chrome DevTools (F12 oder Ctrl+Shift+I) -> navigieren Sie zum Tab Netzwerk.

  4. Aktualisieren Sie die Timeline-Aufgabenseite oder führen Sie eine beliebige Aktion aus.

  5. Klicken Sie auf eine beliebige Anfrage, die mit api/ beginnt (z. B. taskbyissue/... oder timeline).

  6. Kopieren Sie unter Anfrage-Header den Wert von Authorization (ohne das Präfix Bearer ) oder die rohe Cookie-Header-Zeichenfolge.

  7. Fügen Sie es in Ihre .env-Datei ein:

    PANTEON_BEARER_TOKEN=eyJ...
    # OR
    PANTEON_COOKIE=...

🤖 MCP-Clients konfigurieren

Für Claude Desktop / Antigravity / Cursor

Fügen Sie die folgende Konfiguration zu Ihrer MCP-Server-Konfigurationsdatei hinzu (z. B. claude_desktop_config.json):

{
  "mcpServers": {
    "timeline-mcp": {
      "command": "/home/harpalsinh.solanki@hs.local/projects/panteon/timeline-mcp/.venv/bin/python",
      "args": [
        "/home/harpalsinh.solanki@hs.local/projects/panteon/timeline-mcp/server.py"
      ],
      "env": {
        "PANTEON_BEARER_TOKEN": "your_jwt_token_here"
      }
    }
  }
}

Für Codex

Codex liest MCP-Server aus config.toml. Fügen Sie dies zu ~/.codex/config.toml für eine globale Einrichtung oder zu .codex/config.toml in diesem Repository für eine projektspezifische Einrichtung hinzu:

[mcp_servers.timeline_mcp]
command = "/home/harpalsinh.solanki@hs.local/projects/panteon/timeline-mcp/.venv/bin/python"
args = ["/home/harpalsinh.solanki@hs.local/projects/panteon/timeline-mcp/server.py"]
cwd = "/home/harpalsinh.solanki@hs.local/projects/panteon/timeline-mcp"
startup_timeout_sec = 20
tool_timeout_sec = 120

Wenn cwd auf dieses Repository gesetzt ist, lädt python-dotenv .env automatisch. Wenn Sie stattdessen Anmeldeinformationen aus der Shell übergeben möchten, fügen Sie hinzu:

env_vars = ["PANTEON_BEARER_TOKEN", "PANTEON_COOKIE", "PANTEON_TIMELINE_DIR"]

Nach dem Speichern der Konfiguration starten Sie Codex neu und führen Sie /mcp in der Codex-TUI aus, um zu bestätigen, dass timeline_mcp aktiv ist.


🧰 Verfügbare Tools

get_task_conversation

Ruft eine Aufgabe vollständig ab — ihren Beschreibungstext und den gesamten Kommentarverlauf — einschließlich jedes Bildes, das irgendwo eingebettet ist, und schreibt sie in eine Markdown-Datei.

  • Argumente:

    • issue_identifier (str) — z. B. "https://timeline.panteon.no/tasks#/list/15033/edit/5461" oder "5461". Muss eine reine numerische ID oder eine URL sein, die /edit/<id> enthält.

    • bearer_token / cookie (str, optional) — überschreibt die .env-Anmeldeinformationen pro Aufruf.

    • inline (bool, Standard false) — wenn true, wird das vollständige Aufgaben-Markdown zusätzlich zum Speichern an den Rückgabewert angehängt. Verwenden Sie dies für Clients, die den lokalen Dateisystempfad nicht lesen können.

  • Nebeneffekt: schreibt timeline/<issue_id>/task.md (Titel, Metadaten, Beschreibung, Kommentare). Die gespeicherte Datei wird auch als MCP-Ressource unter timeline://<issue_id>/task.md bereitgestellt, sodass Clients den vollständigen Inhalt nach einem Abruf über MCP lesen können.

  • Leere Aufgaben: Wenn sowohl Beschreibung als auch Kommentare leer sind, fragt das Tool nach optionalem, vom Benutzer bereitgestelltem Kontext, wenn der MCP-Client Elicitation unterstützt. Akzeptierte Eingaben werden unter ## User-Provided Context gespeichert; nicht unterstützte Clients behalten die normale Platzhalterausgabe.

  • Gibt eine kurze, menschenlesbare Zusammenfassung mit Issue-ID, Titel, Status und gespeichertem Dateipfad zurück — zum Beispiel:

    Issue #4117 — Label print
    Status:     open
    Saved to:   /abs/path/timeline/4117/task.md

    Der vollständige Aufgabentext, der gesamte Kommentarverlauf und jede Bild-URL werden in die gespeicherte Datei geschrieben. Lesen Sie diese Datei, um auf den vollständigen Inhalt zuzugreifen.

Bild-URLs, die in Kommentaren eingebettet sind (Markdown ![](…) oder HTML <img>), werden zu absoluten https://timeline.panteon.no/...-URLs aufgelöst. Nicht-Bild-Anhang-Links (z. B. .csv) werden ausgeschlossen.

Ausgabepfad

Die Datei wird unter <base>/timeline/<issue_id>/task.md geschrieben, wobei <base> ist:

  1. Die Umgebungsvariable PANTEON_TIMELINE_DIR, falls gesetzt (dieser MCP ist so konfiguriert, dass sie auf das duell-admin-Projektverzeichnis zeigt); andernfalls

  2. das aktuelle Arbeitsverzeichnis.


💻 Befehlszeilenverwendung

Die gleiche Abruflogik ist über die Shell über fetch_task.py verfügbar (Anmeldeinformationen stammen aus .env):

# By numeric ID or full URL
.venv/bin/python fetch_task.py 5461
.venv/bin/python fetch_task.py "https://timeline.panteon.no/tasks#/list/15033/edit/5461"

# Also print the rendered markdown to stdout
.venv/bin/python fetch_task.py 5461 --print

# Write under a specific project root instead of PANTEON_TIMELINE_DIR / cwd
.venv/bin/python fetch_task.py 5461 --base-dir /path/to/project

🧪 Entwicklung & Tests

# Install dev dependencies (adds pytest)
.venv/bin/python -m pip install -r requirements-dev.txt

# Run the unit tests — no network or credentials required
.venv/bin/python -m pytest

Tests befinden sich in tests/ und decken die reinen Parsing-/Rendering-Helfer sowie die Behandlung von Authentifizierungsfehlern ab (über eine gemockte HTTP-Sitzung).

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

Related MCP Connectors

  • Task manager your agent can fully operate: boards, tasks, sprints, roles, worklogs, day planner.

  • Give AI agents access to form submissions — read, search, update, and process file attachments.

  • Connect AI assistants to ITM Platform projects, tasks, budgets, risks, and team workload.

View all MCP Connectors

Latest Blog Posts

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/hspanteon/timeline-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server