timeline-mcp
Panteon Timeline MCP Server 🚀
FastMCP で構築された MCP (Model Context Protocol) サーバーで、AI アシスタント (Antigravity、Claude Desktop、Cursor など) が Panteon Timeline (https://timeline.panteon.no) からリアルタイムのタスクデータと会話履歴を直接取得できるようにします。
✨ 機能
Issue ID の抽出:
https://timeline.panteon.no/tasks#/list/15033/edit/5461のような URL 形式を自動的に解析し、直接の issue ID (5461) も受け付けます。2 段階 API 解決: ブラウザ拡張機能のロジックを踏襲し、外部の issue ID (
5461) を API 1 経由で Panteon の内部task_idに解決し、その後 API 2 経由で完全な会話タイムラインを取得します。AI 最適化フォーマット: AI による分析、要約、返信作成に適した構造化 XML/Markdown コンテキスト (
<task_title>、<task_description>、<conversation_history>) を提供します。柔軟な認証:
.envファイル設定またはツール呼び出しごとのパラメータを介して、JWT Bearer トークンまたは Cookie ヘッダーをサポートします。
Related MCP server: Rytnow MCP Server
🛠️ インストールとセットアップ
1. 依存関係のインストール
Python 3.10+ がインストールされていることを確認し、プロジェクトの仮想環境を作成または再利用して、そこに依存関係をインストールします:
cd timeline-mcp
python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt2. 認証の設定
timeline.panteon.no から保護されたデータを取得するには、MCP サーバーがログイン済みブラウザセッションからの認証トークンを必要とします。
.env.exampleを.envにコピーします:cp .env.example .envGoogle Chrome を開き、
https://timeline.panteon.noにログインします。Chrome DevTools (
F12またはCtrl+Shift+I) を開き、Network タブに移動します。タイムラインのタスクページを更新するか、任意の操作を行います。
api/で始まる任意のリクエスト (例:taskbyissue/...またはtimeline) をクリックします。Request Headers の下で、
Authorizationの値 (Bearerプレフィックスを除く) または生のCookieヘッダー文字列をコピーします。それを
.envファイルに貼り付けます:PANTEON_BEARER_TOKEN=eyJ... # OR PANTEON_COOKIE=...
🤖 MCP クライアントの設定
Claude Desktop / Antigravity / Cursor の場合
MCP サーバー設定ファイル (例: 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"
}
}
}
}Codex の場合
Codex は config.toml から MCP サーバーを読み取ります。グローバル設定の場合は ~/.codex/config.toml に、プロジェクトスコープの設定の場合はこのリポジトリ内の .codex/config.toml にこれを追加します:
[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 = 120cwd をこのリポジトリに設定すると、python-dotenv が .env を自動的に読み込みます。代わりにシェルから資格情報を渡す場合は、次を追加します:
env_vars = ["PANTEON_BEARER_TOKEN", "PANTEON_COOKIE", "PANTEON_TIMELINE_DIR"]設定を保存したら、Codex を再起動し、Codex TUI で /mcp を実行して timeline_mcp がアクティブであることを確認します。
🧰 利用可能なツール
get_task_conversation
タスクを完全に取得します — 説明本文とコメント会話全体 — 埋め込まれたすべての画像を含み、マークダウンファイルに書き込みます。
引数:
issue_identifier(str) — 例:"https://timeline.panteon.no/tasks#/list/15033/edit/5461"または"5461"。裸の数値 ID または/edit/<id>を含む URL である必要があります。bearer_token/cookie(str, 任意) — 呼び出しごとに.envの資格情報を上書きします。inline(bool, デフォルトfalse) —trueの場合、保存に加えて完全なタスクマークダウンが戻り値に追加されます。ローカルファイルシステムのパスを読み取れないクライアント向けに使用します。
副作用:
timeline/<issue_id>/task.md(タイトル、メタデータ、説明、コメント) を書き込みます。保存されたファイルは MCP リソースとしてtimeline://<issue_id>/task.mdでも公開されるため、クライアントは取得後に MCP 経由で完全なコンテンツを読み取ることができます。空のタスク: 説明とコメントの両方が空の場合、MCP クライアントが引き出し (elicitation) をサポートしていれば、ツールは任意のユーザー提供コンテキストを要求します。受け入れられた入力は
## User-Provided Contextの下に保存されます。サポートされていないクライアントは通常のプレースホルダー出力を保持します。戻り値: issue ID、タイトル、ステータス、保存されたファイルパスを含む短い人間が読める要約文字列 — 例:
Issue #4117 — Label print Status: open Saved to: /abs/path/timeline/4117/task.mdタスク本文全体、コメント会話全体、およびすべての画像 URL が保存されたファイルに書き込まれます。そのファイルを読むと完全なコンテンツにアクセスできます。
コメントに埋め込まれた画像 URL (markdown  または HTML <img>) は、絶対的な https://timeline.panteon.no/... URL に解決されます。画像以外の添付リンク (例: .csv) は除外されます。
出力場所
ファイルは <base>/timeline/<issue_id>/task.md に書き込まれます。ここで <base> は次のとおりです:
PANTEON_TIMELINE_DIR環境変数 (設定されている場合。この MCP はduell-adminプロジェクトルートを指すように設定されています)。それ以外の場合は現在の作業ディレクトリ。
💻 コマンドラインでの使用
同じフェッチロジックは、fetch_task.py を介してシェルから利用できます (資格情報は .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🧪 開発とテスト
# 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/ にあり、純粋な解析/レンダリングヘルパーと認証エラー処理 (モックされた HTTP セッション経由) をカバーしています。
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