ActivityWatch MCP Server
Un servidor MCP que proporciona a los asistentes de IA conciencia en tiempo real de tu actividad informática a través de ActivityWatch. Sin consultas crudas. Sin sintaxis AQL. Solo pregúntale a tu IA "¿qué hice hoy?" y obtén una respuesta legible para humanos.
¿Por qué este?
Existen otros MCP de ActivityWatch por ahí. Así es como este es diferente:
Este proyecto | Otros | |
Interfaz de consulta | Herramientas de alto nivel pre-agregadas | Consultas AQL crudas |
¿El usuario necesita saber AQL? | No | Sí |
Categorías integradas | ✅ programación, navegación, comunicación, etc. | ❌ |
Herramientas listas para usar |
|
|
Diseñado para | Asistentes de IA e interfaces de chat | Depuración de desarrolladores |
TL;DR: Otros MCP le dan a tu IA una consola de base de datos. Este le da a tu IA ojos.
¿Qué puede hacer tu IA con esto?
Una vez conectado, tu asistente de IA puede responder preguntas como:
🕐 "¿En qué estoy trabajando ahora mismo?"
📊 "¿Cómo pasé mi tiempo hoy?"
💻 "¿Cuántas horas programé esta semana?"
🌙 "¿A qué hora dejé de trabajar anoche?"
🔍 "Muéstrame todo lo que hice ayer entre las 2pm y las 5pm."
🌐 "¿En qué sitios web pasé más tiempo?"
📁 "¿En qué proyectos trabajé esta semana?"
🏷️ "Añade Cursor a mi categoría de programación."
Tu IA sabe lo que haces, no solo lo que dices. Puede notar patrones que tú pasas por alto, como cuando has estado programando durante 5 horas seguidas sin un descanso.
Inicio rápido
1. Requisitos previos
ActivityWatch instalado y en ejecución
Node.js >= 20
2. Instalación
git clone https://github.com/JM-404/activitywatch-mcp.git
cd activitywatch-mcp
npm install && npm run build3. Configuración
Añádelo a tu configuración MCP de Claude Desktop / Claude Code:
{
"mcpServers": {
"activitywatch": {
"command": "node",
"args": ["/absolute/path/to/activitywatch-mcp/dist/index.js"]
}
}
}4. Pruébalo
Abre Claude y pregunta: "¿Qué he estado haciendo en mi computadora hoy?"
Eso es todo. Sin AQL. Sin IDs de bucket. Solo conversación.
Herramientas
get_current_activity
"¿Qué estoy haciendo ahora mismo?"
Devuelve la aplicación activa actualmente, el título de la ventana, la duración y el estado AFK.
get_day_summary
"¿Cómo pasé mi tiempo hoy?"
Principales aplicaciones por tiempo de uso, horas totales activas/AFK, primera y última marca de tiempo activa.
Parámetros: date (opcional, por defecto es hoy)
get_category_time
"¿Cuántas horas programé esta semana?"
Tiempo agregado para una categoría o aplicación específica en un rango de fechas, con desglose diario.
Parámetros: category (requerido), start_date, end_date (opcional)
Categorías integradas:
Categoría | Aplicaciones |
| VS Code, PyCharm, Terminal, iTerm2, Cursor, Warp, Xcode |
| Chrome, Safari, Firefox, Arc, Edge |
| WeChat, Slack, Discord, Telegram, Messages, Zoom, Teams |
| Bilibili, YouTube, Spotify, Netflix |
| Obsidian, Notion, Typora, Word, Pages |
| Figma, Sketch, Canva, Photoshop |
Personaliza las categorías con la variable de entorno AW_CATEGORIES_FILE apuntando a tu propio JSON.
get_timeline
"Guíame a través de mi tarde."
Lista cronológica de cambios de aplicación con títulos de ventana y duraciones.
Parámetros: date, start_time, end_time, min_duration_seconds
get_browser_history
"¿Qué sitios web visité hoy?"
Dominios principales por tiempo dedicado. Requiere la extensión de navegador de ActivityWatch.
Parámetros: date, domain (filtro opcional)
manage_categories
"Añade Cursor a mi categoría de programación."
Visualiza y modifica las asignaciones de categorías de actividad en tiempo de ejecución. Los cambios persisten en ~/.activitywatch-mcp/categories.json.
Parámetros: action (list | add | remove | update), category, apps
get_project_time
"¿En qué proyectos trabajé esta semana?"
Tiempo de programación desglosado por proyecto/repositorio. Extrae nombres de proyectos de los títulos de las ventanas del IDE (VS Code, Cursor, PyCharm, Xcode, Terminal).
Parámetros: start_date, end_date (opcional)
Fechas en lenguaje natural
Todos los parámetros de fecha aceptan lenguaje natural además de YYYY-MM-DD:
today, yesterday, this_week, last_week, this_month, last_month, last_7_days, last_30_days
Variables de entorno
Variable | Por defecto | Descripción |
|
| Dirección de la API de ActivityWatch |
|
| Truncar títulos de ventana por privacidad |
| integrado | Ruta al JSON de asignación de categorías personalizado |
Privacidad
🔒 Tus datos nunca salen de tu máquina.
ActivityWatch almacena todo localmente
Este servidor MCP se ejecuta localmente
Flujo de datos:
ActivityWatch (local) → Servidor MCP (local) → Tu conversación con la IALos títulos de las ventanas se truncan para evitar la exposición accidental de contenido sensible
Sin telemetría, sin llamadas a API externas, sin almacenamiento en la nube
Hoja de ruta
[ ] Integración con Tiempo de Uso de macOS (datos de iPhone + Mac desde
knowledgeC.db)[ ] Informes diarios/semanales generados automáticamente
[ ] Alertas proactivas (ej. "Has estado programando durante 4 horas, toma un descanso")
[ ] Puntuación de productividad y análisis de tendencias
[ ] Transporte SSE para acceso remoto
Contribución
Las PRs y los problemas son bienvenidos. Si tienes ideas para nuevas herramientas o categorías, abre un problema.
Licencia
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/JM-404/activitywatch-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server