kimai-task-tracker-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@kimai-task-tracker-mcpstart a timer for the task 'Write report'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
kimai-task-tracker-mcp
Servidor MCP (Model Context Protocol) para gestionar tareas de un proyecto Kimai y documentar el tiempo invertido. Una tarea es una Activity de Kimai; su estado se codifica en el nombre con la convención [TODO] / [DONE], y "en curso" se infiere de un timesheet activo.
Publicado en npm como @byteflowsivar/kimai-task-tracker-mcp.
Requisitos
Node.js >= 18
Una instancia de Kimai con API habilitada y un token de API
Related MCP server: productive-mcp
Configuración
El servidor se configura con variables de entorno, que el cliente MCP debe inyectar (el server no lee .env). Faltan las requeridas, aborta con un mensaje claro.
Variable | Obligatoria | Descripción |
| sí | URL base de Kimai sin |
| sí | ID del proyecto cuyas tareas gestiona el servidor (entero) |
| sí | Token de API de Kimai (secret, nunca se loguea) |
| no |
|
Cómo obtener KIMAI_PROJECT_ID
Abrí la app de Kimai y navegá al proyecto.
La URL tiene la forma
https://kimai.ejemplo.com/en/<cliente>/<proyecto>/.... El ID no aparece en la URL.Consultalo con la API:
GET https://kimai.ejemplo.com/api/projectscon el headerX-AUTH-USER/X-AUTH-TOKEN(oAuthorization: Bearer <token>), o desdeAdministración > API.
Instalación
Desde npm (producción)
npm install -g @byteflowsivar/kimai-task-tracker-mcpDesde el repositorio (desarrollo)
pnpm install
pnpm buildUso en desarrollo
KIMAI_URL=https://kimai.ejemplo.com \
KIMAI_PROJECT_ID=1 \
KIMAI_API_TOKEN=tu_token \
pnpm devRegistro en un cliente MCP
La forma más simple es ejecutar el paquete con npx, que lo descarga automáticamente sin instalación global:
{
"mcpServers": {
"kimai-task-tracker": {
"command": "npx",
"args": ["-y", "@byteflowsivar/kimai-task-tracker-mcp"],
"env": {
"KIMAI_URL": "https://kimai.ejemplo.com",
"KIMAI_PROJECT_ID": "1",
"KIMAI_API_TOKEN": "tu_token",
"KIMAI_READ_ONLY": "false"
}
}
}
}Si preferís instalarlo globalmente, el binario kimai-task-tracker queda disponible en el PATH:
{
"mcpServers": {
"kimai-task-tracker": {
"command": "kimai-task-tracker",
"env": {
"KIMAI_URL": "https://kimai.ejemplo.com",
"KIMAI_PROJECT_ID": "1",
"KIMAI_API_TOKEN": "tu_token",
"KIMAI_READ_ONLY": "false"
}
}
}
}También podés apuntar command a node y args a la ruta del dist/index.js del paquete:
{
"mcpServers": {
"kimai-task-tracker": {
"command": "node",
"args": ["/ruta/al/paquete/dist/index.js"],
"env": {
"KIMAI_URL": "https://kimai.ejemplo.com",
"KIMAI_PROJECT_ID": "1",
"KIMAI_API_TOKEN": "tu_token",
"KIMAI_READ_ONLY": "false"
}
}
}
}Uso con opencode
El repo incluye un opencode.json que registra el servidor MCP solo para este proyecto. Las variables van directamente en el bloque environment (así el usuario no necesita exportarlas ni tener el paquete instalado globalmente):
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"kimai-task-tracker": {
"type": "local",
"command": ["npx", "-y", "@byteflowsivar/kimai-task-tracker-mcp"],
"environment": {
"KIMAI_URL": "https://kimai.ejemplo.com",
"KIMAI_PROJECT_ID": "1",
"KIMAI_API_TOKEN": "tu_token"
},
"enabled": true
}
}
}⚠️ Seguridad:
opencode.jsoncontiene elKIMAI_API_TOKENreal, así que está en.gitignorey no se commitea. Al clonar el repo, creá tu propioopencode.jsoncon tus valores (podés copiar el bloque de arriba).
Tras reiniciar opencode, el server kimai-task-tracker aparece con sus 10 tools; probá list_tasks para verificar la conexión.
Tools
Tool | Lectura/Escritura | Descripción |
| lectura | Lista las tareas del proyecto con estado ( |
| escritura | Crea una tarea ( |
| escritura | Renombra a |
| escritura | Renombra a |
| escritura | Inicia un timer. Rechaza si la tarea ya tiene un registro en curso. |
| escritura | Detiene el registro activo (o uno específico con |
| escritura | Registra tiempo manual con |
| lectura | Registros de una tarea y su suma de duración. |
| lectura | Total del proyecto y desglose por tarea, con rango |
| lectura | Lista los tags existentes. |
Con KIMAI_READ_ONLY=true solo se exponen las tools de lectura.
Desarrollo
pnpm types # regenera src/types.ts desde openapi/openapi.json
pnpm test # corre vitest
pnpm typecheck # typecheck de TypeScript strict
pnpm build # compila a dist/ (sin tests)Publicación
El paquete se publica en npm bajo la org @byteflowsivar. Requiere:
Estar logueado en npm:
npm loginSer owner de la org
byteflowsivar:npm org ls byteflowsivar
Paso a paso
pnpm release patch # 0.1.0 → 0.1.1
pnpm release minor # 0.1.0 → 0.2.0
pnpm release major # 0.1.0 → 1.0.0El script release.sh hace lo siguiente:
Bump de versión con
npm version <tipo> --no-git-tag-version.Valida el tarball con
npm pack --dry-run(solodist/,README.mdypackage.json; nunca.envnisrc/).Publica con
npm publish, que ejecuta automáticamente elprepublishOnly(typecheck→test→build). Si alguno falla, no se publica nada.Verifica la versión publicada con
npm view.
Nota: el script bumpea el
versiondepackage.jsonpero no crea un commit ni un tag de git. Creá el commit/tag después del release si lo querés versionar también en el repo.
Licencia
MIT — ver LICENSE.
Notas
Los tags solo se aceptan en el registro de tiempo (
start_task/log_time), porque Kimai no soporta tags en activities.Kimai responde
200enPOST/PATCH(no201). El cliente maneja errores401/403/404/422con el detalle de Kimai.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceA comprehensive MCP server for time tracking, project management, and AI-powered memory storage using semantic search. It enables users to log time, manage client billing, and capture shared or personal ideas through integrated tools and team collaboration features.Last updated1
- AlicenseAqualityCmaintenanceAn MCP server for Productive.io that enables users to log time, inspect projects, and manage time entries using natural language commands. It features fuzzy project matching, local caching, and remembers default services per project for streamlined time tracking.Last updated14MIT
- AlicenseBqualityDmaintenanceMCP server for Redmine project management, enabling tools for managing projects, issues, users, time entries, groups, memberships, versions, wiki, news, attachments, search, and Agile sprints via the Redmine REST API.Last updated89241MIT
- Alicense-qualityDmaintenanceThis MCP server enables AI assistants to interact with the Timing application for managing time tracking and tasks, including project and time entry operations.Last updated7MIT
Related MCP Connectors
A MCP server built for developers enabling Git based project management with project and personal…
MCP server for generating rough-draft project plans from natural-language prompts.
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/byteflowsivar/kimai-task-tracker-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server