Skip to main content
Glama
hspanteon
by hspanteon

Panteon Timeline MCP Server 🚀

FastMCP로 구축된 MCP(Model Context Protocol) 서버로, AI 어시스턴트(Antigravity, Claude Desktop, Cursor 등)가 Panteon Timeline(https://timeline.panteon.no)에서 실시간 작업 데이터와 대화 기록을 직접 가져올 수 있게 해줍니다.


✨ 주요 기능

  • 이슈 ID 추출: https://timeline.panteon.no/tasks#/list/15033/edit/5461 같은 URL 형식을 자동으로 파싱하거나, 직접 이슈 ID(5461)를 입력받습니다.

  • 2단계 API 해석: 브라우저 확장 프로그램 로직을 그대로 반영하여, API 1을 통해 외부 이슈 ID(5461)를 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.txt

2. 인증 설정

timeline.panteon.no에서 보호된 데이터를 가져오려면 MCP 서버에 로그인된 브라우저 세션의 인증 토큰이 필요합니다.

  1. .env.example.env로 복사합니다:

    cp .env.example .env
  2. Google Chrome을 열고 https://timeline.panteon.no에 로그인합니다.

  3. Chrome DevTools(F12 또는 Ctrl+Shift+I)를 열고 Network 탭으로 이동합니다.

  4. 타임라인 작업 페이지를 새로고침하거나 아무 작업을 수행합니다.

  5. api/로 시작하는 요청(예: taskbyissue/... 또는 timeline)을 클릭합니다.

  6. Request Headers에서 Authorization 값(Bearer 접두사 제외) 또는 원본 Cookie 헤더 문자열을 복사합니다.

  7. .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 = 120

cwd가 이 저장소로 설정되어 있으면 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 아래에 저장되며, 지원하지 않는 클라이언트는 일반적인 플레이스홀더 출력을 유지합니다.

  • 반환 값: 이슈 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>는:

  1. PANTEON_TIMELINE_DIR 환경 변수(설정된 경우) — 이 MCP는 duell-admin 프로젝트 루트를 가리키도록 구성되어 있습니다. 그렇지 않으면

  2. 현재 작업 디렉터리.


💻 명령줄 사용법

동일한 가져오기 로직은 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/에 있으며, 순수 파싱/렌더링 헬퍼와 인증 오류 처리를(mock HTTP 세션을 통해) 다룹니다.

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