Trackio documentation

Trackio كواجهة برمجة تطبيقات وخادم MCP

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Trackio كواجهة برمجة تطبيقات وخادم MCP

يمكن تكوين لوحة تحكم Trackio للعمل كخادم لواجهة برمجة تطبيقات HTTP وكخادم بروتوكول سياق النموذج (MCP)، مما يتيح للأدوات والتطبيقات الخارجية التفاعل برمجياً مع بيانات تتبع تجاربك، أو يتيح لك «الدردشة مع بيانات تجاربك» بلغة طبيعية باستخدام ChatGPT أو Claude أو Deepseek أو مختلف نماذج اللغة الكبيرة (LLMs) التي تدعم بروتوكولات MCP. وهذا يجعل Trackio خياراً مثالياً لوكلاء نماذج اللغة الكبيرة (LLM agents) الذين يشغّلون تجارب تعلم آلة ذاتية، إذ يمكنهم تسجيل المقاييس واستعلام نتائج التجارب بسلاسة.

الإعداد

قم بتثبيت اعتمادية MCP الاختيارية، ثم فعّل خادم MCP عند تشغيل لوحة تحكم Trackio. يمكنك القيام بذلك بعدة طرق مختلفة:

pip install "trackio[mcp]"

الخيار 1: أمر سطر الأوامر

trackio show --mcp-server

الخيار 2: دالة بايثون

import trackio
trackio.show(mcp_server=True)

الخيار 3: متغير البيئة

export GRADIO_MCP_SERVER=True
trackio show

عند تمكين وضع خادم MCP، يقوم Trackio بما يلي:

  • يقوم بتركيب خادم MCP قابل للبث عبر HTTP إلى جانب لوحة التحكم
  • يُتيح أدوات فحص للقراءة فقط للمشاريع/التشغيلات/المقاييس لعملاء MCP
  • يُعرّض مجموعة صغيرة من أدوات التعديل (حذف/إعادة تسمية/مزامنة) محكومة برمز كتابة

استخدام واجهة برمجة التطبيقات

تُعرّض 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 وغيرها) الاتصال بها.

عنوان خادم MCP

يتوفر خادم MCP في:

http://127.0.0.1:7860/mcp/

عند النشر في مساحة Hugging Face، يكون الرابط 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 – حذف تشغيل.
  2. rename_run – إعادة تسمية تشغيل.
  3. trigger_sync – تشغيل عملية تصدير/مزامنة إلى Hugging Face.

صلاحيات الكتابة لأدوات التعديل

أدوات الطفرات محكومة:

  • Local dashboard: مرّر write_token الحجّة. يتم طباعة الرمز في الطرفية عند تشغيل trackio show (كما أنه مضمّن على شكل ?write_token=... في عنوان لوحة التحكم المطبوع عند الإقلاع). على سبيل المثال:
    {"project": "my-project", "run": "run-1", "write_token": "<token from startup output>"}
  • مساحات Hugging Face: مرّر معامل hf_token مع صلاحية الكتابة إلى مستودع المساحة. لا يُستخدم write_token المحلي في هذه الحالة.

لا تتطلب أدوات القراءة رمزًا مصادقة.

إعداد عميل MCP

لإضافة Trackio إلى العملاء الذين يدعمون خوادم MCP القابلة للتدفق عبر HTTP، استخدم تكوينًا مثل:

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