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