HR WORKS MCP Server — HR & Payroll tedesco per Agenti AI
Collega HR WORKS a qualsiasi agente AI tramite MCP. 31 tool pre-costruiti sulla REST API v2: dipendenti, assenze, malattie, orari di lavoro, progetti, candidati. La piattaforma HR di Friburgo, AI-ready.
Pre-built adapter available on AnythingMCP Cloud
Skip the self-hosted setup — install this adapter in one click with a free trial. No credit card required.
Install on Cloud — Free TrialHR WORKS per Agenti AI
HR WORKS (ex HRworks) è la piattaforma SaaS HR/payroll di Friburgo, usata da ~20.000 PMI nella regione DACH. La REST API v2 espone l'intero dataset operativo — dipendenti, assenze, malattie, orari di lavoro, smart working, progetti, candidati, unità organizzative, festività, centri di costo — e AnythingMCP lo impacchetta tutto in un singolo adapter MCP drop-in con 31 tool pre-costruiti.
Perché un adapter MCP per HR WORKS
HR WORKS non espone una API key persistente. Bisogna fare POST {accessKey, secretAccessKey} su /v2/authentication e ricevere un JWT da 15 minuti che viene poi inviato come Authorization: Bearer <token> su ogni chiamata successiva. La vita breve del token, combinata con i rate limit per-tenant e il pattern dual-identifier (numero di matricola o username sulla maggior parte degli endpoint), fa inciampare quasi tutte le integrazioni fai-da-te.
L'adapter AnythingMCP gestisce:
- Il contratto bearer-token (tu fornisci il token; l'adapter lo invia su ogni chiamata)
- Sia produzione che la sandbox
api.demo-hrworks.detramite l'overrideHRWORKS_BASE_URL - I parametri opzionali
personIdentifierType/usePersonnelNumbersdove applicabile - La regola del massimo intervallo di 1 anno sugli endpoint di listing
- Un test di integrazione live che dimostra che l'header bearer è effettivamente iniettato (
InvalidBearerTokenErrorinvece diMissingAuthorizationHeaderError)
Setup Rapido
Step 1: Deploy AnythingMCP
git clone https://github.com/HelpCode-ai/anythingmcp.git
cd anythingmcp && docker compose up -d
Step 2: Genera un JWT da HR WORKS
Nell'admin HR WORKS: Impostazioni → API → Genera Access Key per ottenere accessKey + secretAccessKey. Poi scambiali per un JWT:
curl -X POST https://api.hrworks.de/v2/authentication \
-H 'Content-Type: application/json' \
-d '{"accessKey":"YOUR_ACCESS_KEY","secretAccessKey":"YOUR_SECRET_ACCESS_KEY"}'
La risposta contiene {"token": "eyJ..."}. Lifetime token ~15 minuti — per workflow brevi va bene; per agenti long-running, wrappa l'adapter in un proxy che fa refresh automatico.
Step 3: Importa l'Adapter
Apri http://localhost:3000/connectors/store, clicca Import su HR WORKS e incolla il JWT in HRWORKS_TOKEN.
Per la sandbox: imposta anche HRWORKS_BASE_URL=https://api.demo-hrworks.de e usa credenziali sandbox-issued.
Step 4: Collega l'Agente AI
{
"mcpServers": {
"hrworks": {
"url": "http://localhost:4000/mcp"
}
}
}
Tool disponibili (31)
Connettività & Configurazione
| Tool | Cosa restituisce |
|------|------------------|
| hrworks_health_check | Raggiungibilità API — no auth richiesta |
| hrworks_list_organization_units | Tutte le unità organizzative attive |
| hrworks_get_organization_unit | Record completo unità organizzativa |
| hrworks_list_permanent_establishments | Sedi operative permanenti |
| hrworks_list_holidays | Festività per regione/anno |
| hrworks_list_cost_centers | Centri di costo configurati nel tenant |
Persone
| Tool | Cosa restituisce |
|------|------------------|
| hrworks_list_persons | Directory dipendenti con filtri |
| hrworks_get_person | Record completo dipendente |
| hrworks_list_persons_master_data | Dati anagrafici (attributi HR-rilevanti) |
| hrworks_get_persons_today | Snapshot dei dipendenti attivi oggi |
| hrworks_list_present_persons | Persone attualmente presenti (ufficio/remoto) |
| hrworks_get_leave_account | Saldo conto ferie per persona |
Assenze & Tempo
| Tool | Cosa restituisce |
|------|------------------|
| hrworks_list_absences | Assenze su un intervallo di date |
| hrworks_list_absence_types | Tipi di assenza configurati |
| hrworks_list_vacation_types | Catalogo tipi di ferie |
| hrworks_list_sick_leaves | Malattie su un intervallo di date |
| hrworks_list_sick_leave_types | Categorie di malattia |
| hrworks_list_remote_work | Voci di smart working / remote |
| hrworks_list_working_times | Voci orario lavoro (max 1 anno o 31 giorni con interval=days) |
| hrworks_list_time_recording_regulations | Regole di rilevazione presenze in vigore |
Progetti & Recruiting
| Tool | Cosa restituisce |
|------|------------------|
| hrworks_list_projects | Progetti con stato |
| hrworks_get_project | Record completo progetto |
| hrworks_list_project_customers | Clienti collegati ai progetti |
| hrworks_list_job_applications | Candidature aperte |
| hrworks_list_posts | Annunci di lavoro |
| hrworks_get_post | Annuncio completo incl. descrizione |
| hrworks_list_applicants | Candidati in pipeline |
| hrworks_get_applicant | Record completo candidato |
Casi d'uso per Agenti AI
- "Chi è in ferie la prossima settimana nel team engineering?" — manager self-service per assenze
- "Quanti giorni di malattia ha avuto il magazzino in Q1?" — analytics HR
- "Mostra totali orario lavoro per Jane Doe a marzo 2026" — preparazione straordinari/payroll
- "Lista candidati attivi per il ruolo Frontend Berlino" — handoff recruiter
- "Quali dipendenti erano presenti nell'ufficio di Friburgo oggi?" — vista facility/sicurezza
Convenzioni Identifier
La maggior parte degli endpoint persona accetta o il numero di matricola HR WORKS o lo username. Usa i parametri opzionali personIdentifierType / usePersonnelNumbers quando l'identifier che hai a disposizione non è il default — l'adapter li propaga.
Intervalli di date: massimo 1 anno
hrworks_list_absences, hrworks_list_sick_leaves, hrworks_list_remote_work, hrworks_list_working_times richiedono ISO beginDate / endDate (YYYY-MM-DD). L'API HR WORKS limita lo span a 1 anno (o 31 giorni con interval=days). Per range più lunghi, paginare anno per anno e aggregare lato client.
Refresh token — limitazione nota
Questo adapter invia un singolo bearer token statico. Quando il JWT scade (~15 min), l'API ritorna 401 e devi re-importare un token fresco. Per workflow long-running, configura un cron che faccia refresh tramite /v2/authentication e aggiorni la env var HRWORKS_TOKEN del connettore via la admin API di AnythingMCP.
Prossimi passi
- Collega HR WORKS a Claude
- Collega HR WORKS a ChatGPT
- Guida MCP per Personio — alternativa DACH HR
- Guida MCP per Kenjo HR — alternativa DACH HR