Trackio documentation

Trackio в качестве API и MCP-сервера

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Trackio в качестве API и MCP-сервера

Панель Trackio можно настроить для работы в качестве HTTP API-сервера и сервера MCP (Model Context Protocol), что позволяет внешним инструментам и приложениям программно взаимодействовать с данными отслеживания экспериментов, а вам — «общаться с данными экспериментов» на естественном языке с помощью ChatGPT, Claude, Deepseek или различных LLM, поддерживающих MCP. Это делает Trackio идеальным выбором для LLM-агентов, выполняющих автономные ML-эксперименты, поскольку они могут бесшовно регистрировать метрики и запрашивать результаты экспериментов.

Настройка

Установите необязательную зависимость MCP, а затем включите MCP-сервер при запуске дашборда Trackio. Это можно сделать несколькими способами:

pip install "trackio[mcp]"

Вариант 1: команда CLI

trackio show --mcp-server

Вариант 2: Функция Python

import trackio
trackio.show(mcp_server=True)

Вариант 3: Переменная окружения

export GRADIO_MCP_SERVER=True
trackio show

Когда включен режим сервера MCP, Trackio:

  • Запускает MCP-сервер streamable-HTTP вместе с панелью управления
  • Предоставляет MCP-клиентам инструменты для просмотра проектов, запусков и метрик в режиме только для чтения
  • Предоставляет небольшой набор инструментов для изменения данных (удаление/переименование/синхронизация), доступ к которым контролируется токеном записи

Использование API

Trackio предоставляет каждый инструмент MCP в виде простого HTTP-эндпоинта по адресу POST /api/{tool_name}. Тело запроса — JSON; передавайте аргументы в виде {"kwargs": {...}}, {"args": [...]} или просто как плоский объект {"name": value}.

Python
JavaScript
Bash
import httpx2

base = "http://127.0.0.1:7860"

projects = httpx2.post(f"{base}/api/get_all_projects").json()["data"]
print("Projects:", projects)

runs = httpx2.post(
    f"{base}/api/get_runs_for_project",
    json={"project": "my-project"},
).json()["data"]
print("Runs:", runs)

values = httpx2.post(
    f"{base}/api/get_metric_values",
    json={"project": "my-project", "run": "run-1", "metric_name": "loss"},
).json()["data"]
print("Loss values:", values)

Использование MCP

При запуске в качестве MCP-сервера Trackio предоставляет свои инструменты по единому потоковому HTTP-эндпоинту, к которому могут подключаться совместимые с MCP клиенты (Claude Desktop, Claude Code и т. д.).

URL сервера MCP

Сервер MCP доступен по адресу:

http://127.0.0.1:7860/mcp/

При развёртывании в Hugging Face Space URL будет https://<your-space>.hf.space/mcp/.

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

Инструменты чтения:

  1. get_all_projects – Список всех проектов Trackio на этом сервере.
  2. get_runs_for_project – Список запусков для указанного проекта.
  3. get_metrics_for_run – Список имен метрик, записанных для запуска.
  4. get_metric_values – Получает значения метрик для запуска, при необходимости вблизи определённого шага или момента времени.
  5. get_project_summary – Сводные метаданные проекта.
  6. get_run_summary – Сводные метаданные запуска.
  7. get_system_metrics_for_run – Список имён системных метрик, записанных для запуска.
  8. get_system_logs – Получает журналы системных метрик для запуска.
  9. get_snapshot – Получить один снимок вокруг шага или временной метки.
  10. get_logs – Получить журналы метрик для запуска.
  11. get_alerts – Получает оповещения для проекта, с необязательной фильтрацией по запуску или уровню.
  12. get_settings – Возвращает настройки панели управления и конфигурацию ресурсов.

Инструменты мутации (требуется доступ на запись — см. ниже):

  1. delete_run – Удаляет run.
  2. rename_run – Переименовать run.
  3. trigger_sync – Запускает экспорт/синхронизацию с Hugging Face.

Права записи для инструментов мутации

Инструменты мутации защищены:

  • Local dashboard: аргумент write_token . Токен выводится в терминал при запуске trackio show ((он также встроен в ?write_token=... в URL дашборда, который выводится при запуске). Например:
    {"project": "my-project", "run": "run-1", "write_token": "<token from startup output>"}
  • Hugging Face Spaces: передайте аргумент hf_token с правами на запись в репозиторий Space. В этом случае локальный write_token не используется.

Инструменты чтения никогда не требуют токен.

Конфигурация клиента MCP

Чтобы добавить Trackio в клиенты, поддерживающие streamable-HTTP MCP-серверы, используйте конфигурацию вида:

{
  "mcpServers": {
    "trackio": {
      "url": "http://127.0.0.1:7860/mcp/"
    }
  }
}
Update on GitHub