Skip to main content
Glama
hspanteon
by hspanteon

Panteon Timeline MCP Server 🚀

MCP-сервер (Model Context Protocol), созданный на FastMCP, который позволяет AI-ассистентам (Antigravity, Claude Desktop, Cursor и др.) получать данные о задачах и историю переписки в реальном времени напрямую из Panteon Timeline (https://timeline.panteon.no).


✨ Возможности

  • Извлечение ID задачи: Автоматически разбирает URL-форматы, такие как https://timeline.panteon.no/tasks#/list/15033/edit/5461, или принимает прямые ID задач (5461).

  • Двухэтапное разрешение API: Повторяет логику браузерного расширения, разрешая внешний ID задачи (5461) во внутренний task_id Panteon через API 1, а затем получая полную временную шкалу переписки через API 2.

  • Форматирование, оптимизированное для ИИ: Предоставляет структурированный XML/Markdown-контекст (<task_title>, <task_description>, <conversation_history>) для анализа, обобщения и составления ответов с помощью ИИ.

  • Гибкая аутентификация: Поддерживает JWT Bearer-токены или Cookie-заголовки через конфигурацию в файле .env или параметры при вызове инструмента.


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 читает MCP-серверы из config.toml. Добавьте это в ~/.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 и выполните /mcp в TUI Codex, чтобы убедиться, что timeline_mcp активен.


🧰 Доступные инструменты

get_task_conversation

Получает задачу полностью — тело описания и всю переписку в комментариях — включая каждое изображение, встроенное где-либо, и записывает её в markdown-файл.

  • Аргументы:

    • issue_identifier (str) — например, "https://timeline.panteon.no/tasks#/list/15033/edit/5461" или "5461". Должен быть простым числовым ID или URL, содержащим /edit/<id>.

    • bearer_token / cookie (str, необязательно) — переопределяют учетные данные из .env при каждом вызове.

    • inline (bool, по умолчанию false) — если true, полный markdown задачи добавляется к возвращаемому значению в дополнение к сохранению. Используйте это для клиентов, которые не могут читать локальный путь файловой системы.

  • Побочный эффект: записывает timeline/<issue_id>/task.md (заголовок, метаданные, описание, комментарии). Сохраненный файл также доступен как MCP ресурс по адресу timeline://<issue_id>/task.md, поэтому клиенты могут читать полное содержимое через MCP после получения.

  • Пустые задачи: когда и описание, и комментарии пусты, инструмент запрашивает необязательный контекст от пользователя, если MCP-клиент поддерживает уточнение. Принятый ввод сохраняется в разделе ## User-Provided Context; неподдерживающие клиенты получают обычный вывод-заглушку.

  • Возвращает короткую читаемую строку-сводку с ID задачи, заголовком, статусом и путем к сохраненному файлу — например:

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

    Полное тело задачи, вся переписка в комментариях и все URL изображений записываются в сохраненный файл. Прочитайте этот файл, чтобы получить полное содержимое.

URL изображений, встроенных в комментарии (markdown ![](…) или HTML <img>), преобразуются в абсолютные URL https://timeline.panteon.no/.... Ссылки на вложения, не являющиеся изображениями (например, .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/ и покрывают чистые помощники по разбору/рендерингу, а также обработку ошибок аутентификации (через имитированную 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