peoplehub
# cursor-peoplehub-mcp
MCP (stdio) para consultar y cargar horas en [PeopleHub](https://peoplehub.accusystechnology.com/time-report) de Accusys vía `/api/time-report`.
Repositorio: [github.com/PradellaNicolas/cursor-peoplehub-mcp](https://github.com/PradellaNicolas/cursor-peoplehub-mcp)
Nombre del servidor en Cursor: **peoplehub**.
## Requisitos
- Node.js 20+
- Chromium de Playwright (solo para `peoplehub_login`)
- Cursor con MCP habilitado
## Instalación
```powershell
git clone https://github.com/PradellaNicolas/cursor-peoplehub-mcp.git
cd cursor-peoplehub-mcp
npm ci
npx playwright install chromium
npm run build
```
Opcional: copiar `.env.example` a `.env` si necesitás cambiar `PEOPLEHUB_BASE_URL`.
## Cursor (`~/.cursor/mcp.json`)
```json
"peoplehub": {
"command": "node",
"args": ["C:/Users/<tu-usuario>/projects/cursor-peoplehub-mcp/scripts/launcher.mjs"]
}
```
Ajustá la ruta al clone local (mismo patrón que [cursor-workflow-hints-mcp](https://github.com/PradellaNicolas/cursor-workflow-hints-mcp)). Recargá Cursor y verificá **Settings → MCP** (`peoplehub` en verde).
## Primer uso
1. Ejecutá **`peoplehub_login`** desde el agente.
2. Se abre Chromium: **Continuar con Microsoft** (MFA si aplica).
3. Al llegar a Time Report, la sesión queda en `%USERPROFILE%\.peoplehub-mcp\storage.json`.
4. **`peoplehub_session`** para verificar.
5. **`peoplehub_list_week`** / **`peoplehub_log_hours`** (con `confirm: true`).
Cada usuario corre su propio `peoplehub_login`. No commitear `.env` ni `storage.json`.
## MCP tools
| Tool | Descripción |
|------|-------------|
| `peoplehub_login` | SSO Microsoft → guarda sesión local |
| `peoplehub_session` | Estado de sesión |
| `peoplehub_list_week` | Cargas de la semana |
| `peoplehub_list_activities` | Catálogo actividades |
| `peoplehub_list_conceptos` | Conceptos asociados |
| `peoplehub_list_groups` | Grupos |
| `peoplehub_list_reworks` | Reworks por `actividad_id` |
| `peoplehub_log_hours` | Alta de horas (requiere `confirm: true`) |
## Estado local
`%USERPROFILE%\.peoplehub-mcp\`
- `storage.json` — cookies de sesión (Playwright storage state)
- `meta.json` — metadata Supabase para refresh (si aplica)
## Seguridad
- Auth por cookies Supabase/Azure; refresh automático cuando hay `meta.json` con anon key.
- Si expira la sesión: volver a `peoplehub_login`.
- `peoplehub_log_hours` no envía nada sin `confirm: true`.
## Build
```powershell
npm run build
npm start
```
TDQS
Scored across 8 tools
Each tool targets a distinct resource or action: auth, session checking, week listing, activities, concepts, groups, reworks, and logging hours. The main potential confusion is between list_activities and list_conceptos since both relate to the Activities tab, but the descriptions provide enough separation.
The peoplehub_ prefix is consistent and most tools follow a list_<noun> or verb_noun pattern. Minor deviations exist: peoplehub_login is verb-only and peoplehub_session is a noun, plus list_conceptos uses Spanish rather than English.
Eight tools is well-scoped for a PeopleHub time-reporting integration: authentication, session verification, reference data lookups, and hour logging. Each tool has a clear role without redundancy.
The set covers authentication, reference data, week listing, and logging hours, but there is no update or delete operation for already logged time entries. That creates a notable gap for correction workflows, though the core logging flow is complete.