Skip to main content
Glama

trackio-mcp

by fcakyon

trackio-mcp

MCP (Model Context Protocol) server support for trackio experiment tracking

This package enables AI agents to observe and interact with trackio experiments through the Model Context Protocol (MCP). Simply import trackio_mcp before trackio to automatically enable MCP server functionality.

Features

  • Zero-code integration: Just import trackio_mcp before trackio
  • Automatic MCP server: Enables MCP server on all trackio deployments (local & Spaces)
  • Rich tool set: Exposes trackio functionality as MCP tools for AI agents
  • Spaces compatible: Works seamlessly with Hugging Face Spaces deployments
  • Drop-in replacement: No changes needed to existing trackio code

Installation

pip install trackio-mcp

Or with development dependencies:

pip install trackio-mcp[dev]

Quick Start

Basic Usage

Simply import trackio_mcp before importing trackio:

import trackio_mcp # This enables MCP server functionality import trackio as wandb # Your existing trackio code works unchanged wandb.init(project="my-experiment") wandb.log({"loss": 0.1, "accuracy": 0.95}) wandb.finish()

The MCP server will be automatically available at:

  • Local: http://localhost:7860/gradio_api/mcp/sse
  • Spaces: https://your-space.hf.space/gradio_api/mcp/sse

Deploy to Hugging Face Spaces with MCP

import trackio_mcp import trackio as wandb # Deploy to Spaces with MCP enabled automatically wandb.init( project="my-experiment", space_id="username/my-trackio-space" ) wandb.log({"loss": 0.1}) wandb.finish()

Standalone MCP Server

Launch a dedicated MCP server for trackio tools:

from trackio_mcp.tools import launch_trackio_mcp_server # Launch standalone MCP server on port 7861 launch_trackio_mcp_server(port=7861, share=False)

Available MCP Tools

Once connected, AI agents can use these trackio tools:

Core Tools (via Gradio API)

  • log: Log metrics to a trackio run
  • upload_db_to_space: Upload local database to a Space

Extended Tools (via trackio-mcp)

  • get_projects: List all trackio projects
  • get_runs: Get runs for a specific project
  • filter_runs: Filter runs by name pattern
  • get_run_metrics: Get metrics data for a specific run
  • get_available_metrics: Get all available metric names for a project
  • load_run_data: Load and process run data with optional smoothing
  • get_project_summary: Get comprehensive project statistics

Example Agent Interaction

Human: "Show me the latest results from my 'image-classification' project" Agent: I'll check your trackio projects and get the latest results. [Tool: get_projects] → finds "image-classification" project [Tool: get_runs] → gets runs for "image-classification" [Tool: get_run_metrics] → gets metrics for latest run [Tool: get_available_metrics] → gets metric names Agent: Your latest image-classification run achieved 94.2% accuracy with a final loss of 0.18. The model trained for 50 epochs with best validation accuracy of 94.7% at epoch 45.

MCP Client Configuration

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or equivalent:

Public Spaces:

{ "mcpServers": { "trackio": { "url": "https://your-space.hf.space/gradio_api/mcp/sse" } } }

Private Spaces/Datasets:

{ "mcpServers": { "trackio": { "url": "https://your-private-space.hf.space/gradio_api/mcp/sse", "headers": { "Authorization": "Bearer YOUR_HF_TOKEN" } } } }

Local Development:

{ "mcpServers": { "trackio": { "url": "http://localhost:7860/gradio_api/mcp/sse" } } }

See Claude Code MCP docs for more info.

Public Spaces:

claude mcp add --transport sse trackio https://your-space.hf.space/gradio_api/mcp/sse

Private Spaces/Datasets:

claude mcp add --transport sse --header "Authorization: Bearer YOUR_HF_TOKEN" trackio https://your-private-space.hf.space/gradio_api/mcp/sse

Local Development:

{ "mcpServers": { "trackio": { "type": "sse", "url": "http://localhost:7860/gradio_api/mcp/sse" } } }

Add to your Cursor ~/.cursor/mcp.json file or create .cursor/mcp.json in your project folder. See Cursor MCP docs for more info.

Public Spaces:

{ "mcpServers": { "trackio": { "url": "https://your-space.hf.space/gradio_api/mcp/sse" } } }

Private Spaces/Datasets:

{ "mcpServers": { "trackio": { "url": "https://your-private-space.hf.space/gradio_api/mcp/sse", "headers": { "Authorization": "Bearer YOUR_HF_TOKEN" } } } }

Local Development:

{ "mcpServers": { "trackio": { "url": "http://localhost:7860/gradio_api/mcp/sse" } } }

Add to your Windsurf MCP config file. See Windsurf MCP docs for more info.

Public Spaces:

{ "mcpServers": { "trackio": { "serverUrl": "https://your-space.hf.space/gradio_api/mcp/sse" } } }

Private Spaces/Datasets:

{ "mcpServers": { "trackio": { "serverUrl": "https://your-private-space.hf.space/gradio_api/mcp/sse", "headers": { "Authorization": "Bearer YOUR_HF_TOKEN" } } } }

Local Development:

{ "mcpServers": { "trackio": { "serverUrl": "http://localhost:7860/gradio_api/mcp/sse" } } }

Add to .vscode/mcp.json. See VS Code MCP docs for more info.

Public Spaces:

{ "mcp": { "servers": { "trackio": { "type": "http", "url": "https://your-space.hf.space/gradio_api/mcp/sse" } } } }

Private Spaces/Datasets:

{ "mcp": { "servers": { "trackio": { "type": "http", "url": "https://your-private-space.hf.space/gradio_api/mcp/sse", "headers": { "Authorization": "Bearer YOUR_HF_TOKEN" } } } } }

Local Development:

{ "mcp": { "servers": { "trackio": { "type": "http", "url": "http://localhost:7860/gradio_api/mcp/sse" } } } }

Add to mcp.json in your project directory. See Gemini CLI Configuration for details.

Public Spaces:

{ "mcpServers": { "trackio": { "command": "npx", "args": ["mcp-remote", "https://your-space.hf.space/gradio_api/mcp/sse"] } } }

Private Spaces/Datasets:

{ "mcpServers": { "trackio": { "command": "npx", "args": ["mcp-remote", "https://your-private-space.hf.space/gradio_api/mcp/sse"], "env": { "HF_TOKEN": "YOUR_HF_TOKEN" } } } }

Local Development:

{ "mcpServers": { "trackio": { "command": "npx", "args": ["mcp-remote", "http://localhost:7860/gradio_api/mcp/sse"] } } }

Create .cursor/mcp.json (or equivalent for your IDE):

Public Spaces:

{ "mcpServers": { "trackio": { "url": "https://your-space.hf.space/gradio_api/mcp/sse" } } }

Private Spaces/Datasets:

{ "mcpServers": { "trackio": { "url": "https://your-private-space.hf.space/gradio_api/mcp/sse", "headers": { "Authorization": "Bearer YOUR_HF_TOKEN" } } } }

Local Development:

{ "mcpServers": { "trackio": { "url": "http://localhost:7860/gradio_api/mcp/sse" } } }

Configuration

Environment Variables

  • TRACKIO_DISABLE_MCP: Set to "true" to disable MCP functionality (default: MCP enabled)

Programmatic Control

import os os.environ["TRACKIO_DISABLE_MCP"] = "true" # Disable MCP import trackio_mcp # MCP won't be enabled import trackio

How It Works

trackio-mcp uses monkey-patching to automatically:

  1. Enable MCP server: Sets mcp_server=True on all Gradio launches
  2. Enable API: Sets show_api=True to expose Gradio API endpoints
  3. Add tools: Registers additional trackio-specific MCP tools
  4. Preserve compatibility: No changes needed to existing trackio code

The package patches:

  • gradio.Blocks.launch() - Core Gradio launch method
  • trackio.ui.demo.launch() - Trackio dashboard launches
  • Adds new MCP endpoints at /gradio_api/mcp/sse

Deployment Examples

Local Development

import trackio_mcp import trackio # Start local tracking with MCP enabled trackio.show() # Dashboard + MCP server at http://localhost:7860

Public Spaces Deployment

import trackio_mcp import trackio as wandb # Deploy to public Spaces with MCP support wandb.init( project="public-model", space_id="username/model-tracking" ) wandb.log({"epoch": 1, "loss": 0.5}) wandb.finish()

Private Spaces/Datasets Deployment

import trackio_mcp import trackio as wandb # Deploy to private Spaces with private dataset wandb.init( project="private-model", space_id="organization/private-model-tracking", # Private space dataset_id="organization/private-model-metrics" # Private dataset ) wandb.log({"epoch": 1, "loss": 0.5}) wandb.finish()

CLI Interface

# Launch standalone MCP server trackio-mcp server --port 7861 # Check status and configuration trackio-mcp status # Test MCP server functionality trackio-mcp test --url http://localhost:7860

Security Considerations

  • Private Spaces: Use HF tokens for authentication with private spaces/datasets
  • Access Control: MCP server inherits trackio's access controls
  • Network Security: Consider firewall rules for production deployments
  • Token Management: Store HF tokens securely, use environment variables

Troubleshooting

MCP Server Not Available

import trackio_mcp import trackio # Check if MCP was disabled import os print("MCP Disabled:", os.getenv("TRACKIO_DISABLE_MCP")) # Manual verification trackio.show() # Look for MCP server URL in output

Connection Issues

  1. Check URL: Ensure correct /gradio_api/mcp/sse endpoint
  2. Authentication: Add Bearer token for private Spaces/datasets
  3. Network: Verify firewall/proxy settings
  4. Dependencies: Ensure gradio[mcp] is installed

Tool Discovery Issues

# Test tools manually from trackio_mcp.tools import register_trackio_tools tools = register_trackio_tools() tools.launch(mcp_server=True) # Test tools interface

Contributing

  1. Fork the repository
  2. Install development dependencies: pip install -e .[dev]
  3. Make your changes
  4. Run tests: pytest
  5. Submit a pull request

License

MIT License - see LICENSE file.

Acknowledgments


Made with care for the AI research community

Related MCP Servers

  • -
    security
    F
    license
    -
    quality
    An OpenAI API-based MCP server that provides deep thinking and analysis capabilities, integrating with AI editor models to deliver comprehensive insights and practical solutions.
    Last updated -
  • A
    security
    A
    license
    A
    quality
    An MCP server that enables AI tools to interact with ActiveCampaign API, allowing contact management and tracking event analysis through natural language queries.
    Last updated -
    5
    TypeScript
    MIT License
    • Apple
  • -
    security
    A
    license
    -
    quality
    An MCP server that provides AI with real-time screen monitoring capabilities and UI element intelligence, allowing AI to observe, analyze, and interact with screen content through features like smart clicking and text extraction.
    Last updated -
    43
    Python
    MIT License
    • Apple
    • Linux
  • A
    security
    A
    license
    A
    quality
    A comprehensive MCP server providing tools for AI agents to interact with code, including reading symbols, importing modules, replacing text, and sending OS notifications.
    Last updated -
    3
    74
    TypeScript
    MIT License
    • Linux
    • Apple

View all related MCP servers

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/fcakyon/trackio-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server