Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

Task tracking (sessions, ETA, dashboard)

de amineutronversión 0.3.1i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.amineutron/mcp-tracking

Instalar

Resumen

Descripción del creador (original en inglés)

Track long-running tasks in real time: sessions, steps, speed, ETA, HTTP API and TUI dashboard.

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Documentos, hojas de cálculo y oficina

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

Necesitas

  • PyPIuv de Python instalado (para el comando uvx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "tracking": {
      "command": "uvx",
      "args": [
        "mcp-tracking"
      ],
      "env": {
        "TRACKING_STATE_DIR": "your-value",
        "TRACKING_TOKEN_FILE": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add tracking --env TRACKING_STATE_DIR=your-value --env TRACKING_TOKEN_FILE=your-value -- uvx mcp-tracking

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "tracking": {
      "command": "uvx",
      "args": [
        "mcp-tracking"
      ],
      "env": {
        "TRACKING_STATE_DIR": "your-value",
        "TRACKING_TOKEN_FILE": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "tracking": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-tracking"
      ],
      "env": {
        "TRACKING_STATE_DIR": "your-value",
        "TRACKING_TOKEN_FILE": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • TRACKING_STATE_DIR env
    Directory of the shared state file (default: XDG state dir)
  • TRACKING_TOKEN_FILE env
    File holding the local token required by the HTTP API

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub amineutron, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Documentos, hojas de cálculo y oficinai

  • Más estrellas que el 0% de los otros 2188 servidores de esta categoría
  • Publicado en el registro más recientemente que el 90% de los otros 2188 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 2188 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro Task tracking (sessions, ETA, dashboard)?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (0.3.1) llegó al registro anteayer.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Agent-Native Google Calendar - manage events, sync, and public booking

Se ejecuta en la nube★ 7620MITActualizado hace 2 meses
Instalar

Excel MCP Server

de haris-musa

Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.

Se ejecuta en tu computadora★ 4276MITActualizado hace 6 días
Instalar

Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.

Se ejecuta en tu computadora★ 847MITActualizado hace 3 días
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

MCP Tracking

English summary. Local-first tracking of long-running tasks: an MCP server for Claude or Lyra, a small HTTP API on 127.0.0.1:8765 and a Textual terminal dashboard. Sessions have items, progress, logs and templates (download, machine, free, lyra_task, movie); pollers feed qBittorrent and Bazarr sessions automatically. Install: pip install . then mcp-tracking, mcp-tracking-api, mcp-tracking-ui. No cloud, no telemetry.

Serveur MCP de suivi en temps reel avec dashboard terminal. Permet a Claude/Lyra de tracker n'importe quelle operation longue ET alimente automatiquement les sessions depuis le media-server (qBittorrent, Bazarr, conversion DV).


Pourquoi c'est conçu pour des agents LLM

Un agent LLM (grand modèle de langage) qui lance une tâche longue (conversion, clone de VM, téléchargement) ne peut pas rester bloqué à la regarder, et il ne voit rien de ce qui se passe entre deux de ses tours. Ce serveur lui sert de mémoire de travail partagée :

  • Un bus de progression commun. L'agent, les scripts shell et les pollers écrivent dans les mêmes sessions (outils MCP ou API HTTP locale sur 127.0.0.1:8765) : l'agent lance la tâche, rend la main, et relit l'état plus tard avec tracking_get.
  • Des métriques calculées, pas devinées. Vitesse lissée sur 2 minutes, ETA, temps écoulé (metrics.py) : l'agent reçoit des chiffres au lieu d'extrapoler lui-même.
  • Une tâche muette se voit. Une session running sans mise à jour depuis 10 minutes est marquée stale : l'agent distingue « encore en cours » de « processus mort ».
  • Arrêter vise le bon processus. Une session peut porter le pid de son processus ; l'heure de démarrage relevée dans /proc évite de signaler un pid réutilisé par un autre programme. tracking_stop envoie SIGTERM et garde la session, tracking_kill envoie SIGKILL et la supprime.
  • Pas de mise à jour perdue. L'état est un fichier JSON local, protégé par un verrou flock et réécrit de façon atomique (storage.py) : plusieurs agents et scripts peuvent écrire en même temps.
  • Des gabarits par type de tâche (download, machine, movie, lyra_task, free) pour que chaque agent décrive son travail de la même façon.

Local-first et self-hosted : aucun cloud, aucune télémétrie, tout reste sur la machine (on-prem). Utilisé par Lyra, l'assistant vocal French-first, et par n'importe quel client MCP (Claude Code, Claude Desktop...).

Demo

Enregistree avec docs/demo/record.sh : server.py --test alimente quatre sessions simulees dans un repertoire d'etat temporaire (TRACKING_STATE_DIR), puis server.py --ui ouvre le dashboard dessus. Les sessions reelles ne sont pas touchees.

Sommaire

  • Pourquoi c'est conçu pour des agents LLM
  • Architecture
  • Installation
  • Services systemd
  • Lancement
  • Dashboard
  • Integration media-server
  • Outils MCP
  • Templates
  • Securite
  • Ajouter un template

Architecture

MCP/tracking/

server.py -- Serveur MCP (outils Claude/Lyra) + point d'entree --ui / --test api.py -- API HTTP locale (127.0.0.1:8765) pour les scripts externes mutations.py -- Mutations d'une session, partagees par api.py ET server.py (horodatage items, historique, niveaux de log, auto-completion) metrics.py -- Metriques derivees (vitesse, ETA, ecoule, stale) -- logique pure, calculees a la lecture, jamais stockees storage.py -- Persistence JSON atomique + verrou fichier + cache mtime + purge TTL models.py -- Modeles pydantic (TrackingSession, TrackingItem, LogEntry, ProgressPoint) templates.py -- Templates builtin + templates utilisateur (JSON) ui.py -- Dashboard Textual (TUI temps reel) + modales stop/kill sim.py -- Simulations de demo (server.py --test) poller.py -- Daemon polling qBittorrent (10s) + Bazarr (60s) tracking-api.service -- Unite systemd (systeme) pour api.py tracking-poller.service -- Unite systemd (systeme) pour poller.py install.sh / deploy.sh -- Installation initiale / redeploiement des services Makefile -- make test | smoke | deploy | ui tests/ -- unitaires (storage, metrics) + integration/ (API HTTP reelle)

Fichiers d'etat et configuration
FichierEmplacementSurcharge
tracking_state.json~/.local/state/tracking/TRACKING_STATE_DIR
poller_state.json~/.local/state/tracking/TRACKING_STATE_DIR
templates.json (templates utilisateur, optionnel)~/.config/tracking/TRACKING_TEMPLATES_FILE
credentials/*.cred (qBittorrent, Bazarr)a cote du code, gitignore--

Un ancien tracking_state.json a cote du code est migre automatiquement au premier demarrage (copie, jamais supprime).

Variables d'environnement de retention :

VariableDefautRole
TRACKING_TTL_DAYS7Purge des sessions done / error / paused
TRACKING_TTL_RUNNING_H24Purge des sessions running orphelines (plus mises a jour)
Flux de donnees complet
Claude/Lyra (outils MCP)

| v server.py ─────────────────────────────────────────┐ | qBittorrent API (poll 10s) | | | Bazarr API (poll 60s) ──> poller.py ──> api.py ──> mutations.py ──> storage.py ──> ~/.local/state/tracking/tracking_state.json | | | dv_webhook_server.py | v | | ui.py v | (rafraichit chaque seconde) dv_convert.py ──────────────────────────────────────> (metriques temps reel ffmpeg/dovi_tool)

Le fichier d'etat est ecrit a chaque modification via ecriture atomique (os.replace) sous verrou fichier (tracking_state.lock). Tous les processus (MCP, API, poller, dashboard) partagent cet unique fichier ; chaque lecture verifie le mtime pour invalider son cache.

Toute mutation (HTTP ou MCP) passe par mutations.py, qui garantit le meme comportement sur les deux chemins : started_at / finished_at poses sur les items et la session, historique de progression (fenetre glissante de 40 points), niveaux de log info / warn / error, auto-completion quand tous les items sont termines.

Metriques derivees

GET /sessions et tracking_get renvoient un bloc metrics calcule a la volee par metrics.py :

ChampSens
percentprogression (plafonnee a 100)
rate, rate_strvitesse sur les 120 dernieres secondes (2.0 MB/s, 30.0 u/min)
eta_seconds, eta_strtemps restant estime (session running uniquement)
elapsed_seconds, elapsed_strdepuis created_at jusqu'a finished_at ou maintenant
idle_seconds, stalestale = running sans mise a jour depuis 10 min (affiche dans le TUI)

Installation en une ligne

uvx mcp-tracking          # serveur MCP (stdio) ; avant publication : uvx --from git+https://github.com/amineutron/mcp-tracking mcp-tracking

uvx --from mcp-tracking mcp-tracking-api # API HTTP 127.0.0.1:8765 uvx --from mcp-tracking mcp-tracking-ui # tableau de bord terminal

Configuration Claude Desktop / Claude Code (mcpServers) :

{ "tracking": { "command": "uvx", "args": ["mcp-tracking"] } }

Installation

cd <dossier du dépôt>

Creer le venv et installer les dependances

uv venv .venv uv pip install "mcp[cli]>=1.0.0" "pydantic>=2.0" "textual>=0.80.0" "fastapi"

Le MCP est enregistre dans Claude Code (scope user) :

claude mcp list        # -> tracking: Connected

Pour reenregistrer :

claude mcp add tracking -s user -- \

/.venv/bin/python \ /server.py


Services systemd

Deux services tournent en permanence et se lancent au boot :

ServiceRolePort
tracking-api.serviceAPI HTTP locale pour scripts externes127.0.0.1:8765
tracking-poller.servicePoll qBittorrent (10s) + Bazarr (60s)--
Installation initiale et redeploiement
cd <dossier du dépôt>

./install.sh # premiere fois : venv + services (demande sudo) sudo ./deploy.sh # apres chaque mise a jour du code : stop, unites, restart, verif make smoke # sante rapide

Les instances MCP server.py deja ouvertes par des sessions Claude Code ne sont pas redemarrees par deploy.sh : reconnecter tracking via /mcp dans ces sessions.

Commandes utiles
# Etat

systemctl status tracking-api.service tracking-poller.service

Logs en direct

journalctl -fu tracking-poller.service journalctl -fu tracking-api.service

Redemarrage

sudo systemctl restart tracking-api.service tracking-poller.service

Test API

curl http://127.0.0.1:8765/health curl http://127.0.0.1:8765/sessions


Lancement

Dashboard (raccourci wofi)

Cherche "MCP Tracking" dans wofi/launcher. Lance le dashboard dans Kitty.

Dashboard (terminal)
# Toutes les sessions

/.venv/bin/python \ /server.py --ui

Filtre direct au lancement

.venv/bin/python server.py --ui --filter download .venv/bin/python server.py --ui --filter movie .venv/bin/python server.py --ui --filter errors

Via outil MCP (depuis Claude/Lyra)
open_tracking_ui()                             # toutes les sessions

open_tracking_ui(filter_template="lyra_task") # vue Lyra uniquement open_tracking_ui(filter_template="errors") # erreurs uniquement

Mode test (demo)
.venv/bin/python server.py --test

Simule 4 sessions en parallele : download, machine (12 noeuds), free, movie (pipeline DV complet).


Dashboard

Layout d'une session
[TEMPLATE]  Nom de la session  id:xxxxxxxx  (status)

[=============> ] 54.2% 27100 MB / 50000 MB champ_extra1: valeur | champ_extra2: valeur

[ok] item-1 100.0 GB -- termine [>] item-2 frame: 94231 / 172800 (54.5%) speed: 3.2x [ ] item-3 -- [!] item-4 erreur detail

Logs Erreurs 14:32:01 Message log 1 [!] item-4 14:32:04 Message log 2 14:32:08 ECHEC: details 14:32:07 Message log 3 --



Icones items
IconeStatutCouleur
[ ]pendinggris
[>]runningcyan
[ok]donevert
[!]errorrouge
Couleurs de session
CouleurStatut
cyanrunning
vertdone
rougeerror

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx