timeline-mcp
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/5461oder 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 internetask_idaufgelö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.txt2. Authentifizierung konfigurieren
Um geschützte Daten von timeline.panteon.no abzurufen, benötigt der MCP-Server ein Authentifizierungstoken aus Ihrer angemeldeten Browsersitzung.
Kopieren Sie
.env.examplein.env:cp .env.example .envÖffnen Sie Google Chrome und melden Sie sich bei
https://timeline.panteon.noan.Öffnen Sie Chrome DevTools (
F12oderCtrl+Shift+I) -> navigieren Sie zum Tab Netzwerk.Aktualisieren Sie die Timeline-Aufgabenseite oder führen Sie eine beliebige Aktion aus.
Klicken Sie auf eine beliebige Anfrage, die mit
api/beginnt (z. B.taskbyissue/...odertimeline).Kopieren Sie unter Anfrage-Header den Wert von
Authorization(ohne das PräfixBearer) oder die roheCookie-Header-Zeichenfolge.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 = 120Wenn 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, Standardfalse) — wenntrue, 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 untertimeline://<issue_id>/task.mdbereitgestellt, 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 Contextgespeichert; 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.mdDer 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:
Die Umgebungsvariable
PANTEON_TIMELINE_DIR, falls gesetzt (dieser MCP ist so konfiguriert, dass sie auf dasduell-admin-Projektverzeichnis zeigt); andernfallsdas 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 pytestTests befinden sich in tests/ und decken die reinen Parsing-/Rendering-Helfer sowie die Behandlung von Authentifizierungsfehlern ab (über eine gemockte HTTP-Sitzung).
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
AlicenseAqualityCmaintenanceEnables AI clients to interact with Webvizio projects and development tasks through a standardized interface. Provides access to task management, screenshots, logs, and project details for streamlined development workflows.11196MIT- FlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to interact with Rytnow project management platform, supporting task management, time tracking, plan creation, and team collaboration through natural language commands.
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to interact with ClickUp workspaces through natural language - search tasks, manage workflows, track time, collaborate via comments, and access complete task context including comments and images.
- AlicenseAqualityDmaintenanceEnables AI assistants to fetch ProofHub task details, comments, and bug tracker links from a URL, streamlining development workflows.612MIT
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.
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/hspanteon/timeline-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server