Trackio documentation
Trackio в качестве API и MCP-сервера
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}.
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)const base = "http://127.0.0.1:7860";
async function call(name, payload = {}) {
const res = await fetch(`${base}/api/${name}`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(payload),
});
return (await res.json()).data;
}
console.log("Projects:", await call("get_all_projects"));
console.log("Runs:", await call("get_runs_for_project", { project: "my-project" }));
console.log("Loss:", await call("get_metric_values", {
project: "my-project",
run: "run-1",
metric_name: "loss",
}));# Get all projects
curl -s -X POST http://127.0.0.1:7860/api/get_all_projects \
-H "Content-Type: application/json" -d '{}'
# Get runs for a project
curl -s -X POST http://127.0.0.1:7860/api/get_runs_for_project \
-H "Content-Type: application/json" \
-d '{"project": "my-project"}'
# Get values for a metric
curl -s -X POST http://127.0.0.1:7860/api/get_metric_values \
-H "Content-Type: application/json" \
-d '{"project": "my-project", "run": "run-1", "metric_name": "loss"}'Использование 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
Инструменты чтения:
- get_all_projects – Список всех проектов Trackio на этом сервере.
- get_runs_for_project – Список запусков для указанного проекта.
- get_metrics_for_run – Список имен метрик, записанных для запуска.
- get_metric_values – Получает значения метрик для запуска, при необходимости вблизи определённого шага или момента времени.
- get_project_summary – Сводные метаданные проекта.
- get_run_summary – Сводные метаданные запуска.
- get_system_metrics_for_run – Список имён системных метрик, записанных для запуска.
- get_system_logs – Получает журналы системных метрик для запуска.
- get_snapshot – Получить один снимок вокруг шага или временной метки.
- get_logs – Получить журналы метрик для запуска.
- get_alerts – Получает оповещения для проекта, с необязательной фильтрацией по запуску или уровню.
- get_settings – Возвращает настройки панели управления и конфигурацию ресурсов.
Инструменты мутации (требуется доступ на запись — см. ниже):
- delete_run – Удаляет run.
- rename_run – Переименовать run.
- 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/"
}
}
}