TimeCamp
Gestiona entradas de tiempo y tareas de TimeCamp a través de su API.
Documentación
[!CAUTION] Ya no se mantiene. Por favor, usa nuestro MCP oficial https://docs.timecamp.com/mcp-server
Los desarrolladores que creen su propio servidor MCP aún pueden usar este repositorio como plantilla o punto de partida.
Servidor MCP de TimeCamp
- ¿Por qué TS y no Python? Cliente oficial, más materiales, soporte para Cloudflare Workers.
- ¿Por qué alojado y no solo local? Más fácil de usar, los usuarios no necesitan instalarlo.
- ¿Por qué Cloudflare Workers? Barato y fácil.
La versión alojada está disponible en: https://my-mcp-server.timecamp-s-a.workers.dev
Este servidor MCP proporciona las siguientes herramientas para la integración con TimeCamp:
- add_timecamp_time_entry - Crear una nueva entrada de tiempo con hora de inicio, hora de fin, nota y tarea opcional
- get_timecamp_time_entries - Recuperar entradas de tiempo para un rango de fechas especificado
- get_timecamp_tasks - Obtener todos los proyectos y tareas disponibles de TimeCamp
- delete_timecamp_time_entry - Eliminar una entrada de tiempo específica por ID
- update_timecamp_time_entry - Actualizar una entrada de tiempo existente (hora, nota o asignación de tarea)
Ejemplo de prompt
Create Timecamp time entries based on these tasks I did.
I write tasks by putting -HH:MM, which is the end time for the task, so each time entry should take from end end time of previous entry.
Try to match timecamp task, so first you have to fetch my timecamp tasks.
Note should be single sentence in English with 3-12 words.
Ignore "[minutes:: ...]" as this is estimate.
- [x] -9:43 emails & org [completion:: 2025-06-21]
- [x] -12:10 #tech new version of reports [[(project) XYZ]] [completion:: 2025-06-21]
- [x] -12:58 (evening) Buy shoes + relax [completion:: 2025-06-21]
- [x] -14:30 relax [completion:: 2025-06-21]
- [x] -15:30 #tech Notifications still not working for one more person from our group [completion:: 2025-06-21]
- [x] -15:40 I don't remember [completion:: 2025-06-21]
- [x] -17:09 #tech Client - database connection problem [[(process) Technical support]] [minutes:: 15] [completion:: 2025-06-21]
- [x] -17:35 break [completion:: 2025-06-21]
- [x] -19:17 #tech Client [[(project) Client]] [[(process) Technical support]] [minutes:: 10] [completion:: 2025-06-21] - - [x] -19:21 (evening) Fill timesheet [completion:: 2025-06-21]
Configuración y ejecución
Local
pnpm start
Despliegue
pnpm dlx wrangler@latest deploy
pnpm dlx wrangler@latest tail
Prueba
npx mcp-remote http://localhost:8787/sse --header "Authorization: Bearer <api_token>"
npx mcp-remote https://my-mcp-server.timecamp-s-a.workers.dev/sse --header "Authorization: Bearer <api_token>"
pnpm dlx @modelcontextprotocol/inspector@latest
Conecta Claude Desktop a tu servidor MCP
También puedes conectarte a tu servidor MCP remoto desde clientes MCP locales, usando el proxy mcp-remote.
Para conectarte a tu servidor MCP desde Claude Desktop, sigue la Guía de inicio rápido de Anthropic y dentro de Claude Desktop ve a Configuración > Desarrollador > Editar configuración.
Actualiza con esta configuración:
{
"mcpServers": {
"timecamp": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://my-mcp-server.timecamp-s-a.workers.dev/sse", // or http://localhost:8787/sse
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer <auth-token>"
}
},
"timecamp_url": { // if MCP client supports url
"url": "https://my-mcp-server.timecamp-s-a.workers.dev/sse",
"headers": {
"Authorization": "Bearer <auth-token>...."
}
},
}
}
Reinicia Claude y deberías ver que las herramientas están disponibles.
Si tienes Claude Desktop en MacOS y ves 'Server transport closed unexpectedly', consulta https://github.com/modelcontextprotocol/servers/issues/1748#issuecomment-2896004925.
Aún no implementado
- Autorización OAuth (https://github.com/huanshenyi/mcp-server-bearer-auth/tree/main)
- Problema con MCP usando URL en Cursor después de solucionar el problema con Cloudflare Workers que no usaban el encabezado de autorización recibido