Trackio documentation
API ve MCP Sunucusu Olarak Trackio
API ve MCP Sunucusu Olarak Trackio
Trackio paneli, hem bir HTTP API sunucusu hem de bir MCP (Model Context Protocol) sunucusu olarak çalışacak şekilde yapılandırılabilir. Bu sayede harici araçlar ve uygulamalar deney izleme verilerinizle programatik olarak etkileşime girebilir veya ChatGPT, Claude, Deepseek gibi MCP destekleyen çeşitli LLM'ler aracılığıyla deney verilerinizle doğal dilde “sohbet edebilirsiniz”. Bu özellik, Trackio'yu otonom ML deneyleri yürüten LLM ajanları için ideal bir seçim haline getirir; zira bu ajanlar metrikleri sorunsuz bir şekilde kaydedebilir ve deney sonuçlarını sorgulayabilir.
Kurulum
Opsiyonel MCP bağımlılığını yükleyin, ardından Trackio panelini başlatırken MCP sunucusunu etkinleştirin. Bunu birkaç farklı şekilde yapabilirsiniz:
pip install "trackio[mcp]"Seçenek 1: CLI Komutu
trackio show --mcp-server
Seçenek 2: Python Fonksiyonu
import trackio
trackio.show(mcp_server=True)Seçenek 3: Ortam Değişkeni
export GRADIO_MCP_SERVER=True
trackio showMCP sunucu modu etkinleştirildiğinde, Trackio:
- Panelin yanında streamable-HTTP MCP sunucusu bağlar
- MCP istemcilerine salt okunur proje/çalışma/metrik inceleme araçları sunar
- Yazma belirteciyle korunan küçük bir mutasyon aracı seti (sil/yeniden adlandır/senkronize) sunar
API Kullanımı
Trackio, her MCP aracını POST /api/{tool_name} adresinde düz bir HTTP uç noktası olarak sunar. Gövde JSON formatındadır; argümanları {"kwargs": {...}}, {"args": [...]} veya basitçe düz bir {"name": value} nesnesi olarak iletebilirsiniz.
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 Kullanımı
MCP sunucusu olarak çalıştırıldığında Trackio, araçlarını MCP uyumlu istemcilerin (Claude Desktop, Claude Code vb.) bağlanabileceği tek bir streamable-HTTP uç noktasında (endpoint) sunar.
MCP Sunucu URL'si
MCP sunucusu şu adreste kullanılabilir:
http://127.0.0.1:7860/mcp/
Bir Hugging Face Space'e dağıtıldığında URL https://<your-space>.hf.space/mcp/ şeklindedir.
Kullanılabilir MCP Araçları
Okuma araçları:
- get_all_projects – Bu sunucudaki tüm Trackio projelerini listeler.
- get_runs_for_project – Belirtilen proje için çalıştırmaları listeler.
- get_metrics_for_run – Bir çalıştırma için kaydedilen metrik adlarını listeler.
- get_metric_values – Bir çalıştırma için metrik değerlerini, isteğe bağlı olarak bir adım veya zamanın etrafında getirir.
- get_project_summary – Bir proje için özet meta verileri.
- get_run_summary – Bir çalıştırma için özet meta verileri.
- get_system_metrics_for_run – Bir çalıştırma için kaydedilen sistem metrik adlarını listeler.
- get_system_logs – Bir çalıştırma için sistem metrik günlüklerini getirir.
- get_snapshot – Bir adım veya zaman damgası etrafındaki tek bir anlık görüntüyü getirir.
- get_logs – Bir çalıştırma için metrik günlüklerini getirir.
- get_alerts – Bir proje için uyarıları getirir; isteğe bağlı olarak çalıştırma veya seviye ile filtrelenir.
- get_settings – Panel ayarlarını ve varlık yapılandırmasını döndürür.
Mutasyon araçları (yazma erişimi gerektirir — aşağıya bakın):
- delete_run – Bir çalıştırmayı siler.
- rename_run – Bir çalışmayı yeniden adlandırır.
- trigger_sync – Hugging Face'e bir dışa aktarma/ senkronizasyon geçişi başlatır.
Mutasyon Araçları İçin Yazma Erişimi
Mutasyon araçları kapalıdır:
- Local dashboard: şunu iletin
write_tokenargümanı. Token, çalıştırdığınızda terminalde yazdırılırtrackio show((başlangıçta yazdırılan dashboard URL'sine de gömülüdür?write_token=...). Örneğin:{"project": "my-project", "run": "run-1", "write_token": "<token from startup output>"} - Hugging Face Spaces: Space deposuna yazma erişimine sahip bir
hf_tokenargümanı geçirin. Bu durumda yerelwrite_tokenkullanılmaz.
Okuma araçları asla bir jeton gerektirmez.
MCP İstemcisi Yapılandırması
streamable-HTTP MCP sunucularını destekleyen istemcilere Trackio eklemek için şu yapılandırmayı kullanın:
{
"mcpServers": {
"trackio": {
"url": "http://127.0.0.1:7860/mcp/"
}
}
}