Skip to main content
Glama
README.md
# 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

B3.4/5.0

Scored across 8 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness3/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues