Connector guide4-minute read31 MCP toolsEN · DE · IT

HR WORKS MCP Server — German HR & Payroll for AI Agents

Connect HR WORKS to any AI agent via MCP. 31 pre-built tools on the v2 REST API: employees, absences, sick leaves, working times, projects, applicants. The Freiburg-based HR platform, AI-ready.

HCBy HelpCode teamUpdated 4 min read Open source on GitHub

No credit card · 7-day trial · Self-host alternative available

HR WORKS

MCP connector

HR WORKS

Access HR WORKS, the German HR/payroll platform: employees, absences, sick leaves, remote work (home office), working times, projects, applicants, organization units, holidays and cost centers via the v2 REST API.

Tools

31

Region

DE

Category

HR

Authentication

Bearer Token

Required env vars

HRWORKS_TOKEN
Install in one click on Cloud

7-day free trial · No credit card

  • 7-day free trial
    No credit card required
  • GDPR & SOC 2 ready
    EU data residency, audit logs
  • Open-source on GitHub
    Open source AGPL-3.0
  • Works with ChatGPT, Claude, Gemini
    Any MCP-compatible client

Skip the install. Get this working in under 2 minutes.

Start a free trial on cloud.anythingmcp.com, add the HR WORKS in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.

Start free trial

Summary

Connect HR WORKS to any AI agent via MCP. 31 pre-built tools on the v2 REST API: employees, absences, sick leaves, working times, projects, applicants. The Freiburg-based HR platform, AI-ready.

Try asking

Example prompts for HR WORKS

Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.

HR WORKS · live via MCP
Share
Opus 4.7

Claude is AI and can make mistakes. Please double-check responses.

HR WORKS for AI Agents

HR WORKS (formerly HRworks) is the SaaS HR/payroll platform from Freiburg used by ~20,000 small and mid-size companies across DACH. The v2 REST API exposes the full operational dataset — employees, absences, sick leaves, working times, remote work, projects, applicants, organization units, holidays, cost centers — and AnythingMCP wraps all of it in a single, drop-in MCP adapter with 31 pre-built tools.

Why an MCP Adapter for HR WORKS

HR WORKS does not expose a long-lived API key. Instead, you POST {accessKey, secretAccessKey} to /v2/authentication and receive a 15-minute JWT that is then sent as Authorization: Bearer <token> on every subsequent call. That short token lifetime, combined with the per-tenant rate limits and the dual-identifier pattern (personnel number or username on most endpoints), trips up almost every DIY integration.

The AnythingMCP adapter handles:

  • The bearer-token contract (you supply the token; the adapter sends it on every call)
  • Both production and the api.demo-hrworks.de sandbox via the HRWORKS_BASE_URL override
  • The optional personIdentifierType / usePersonnelNumbers parameters where applicable
  • The 1-year-max date-interval rule on listing endpoints
  • A live integration test that proves the bearer header is actually injected (InvalidBearerTokenError instead of MissingAuthorizationHeaderError)

Quick Setup

Step 1: Deploy AnythingMCP

git clone https://github.com/HelpCode-ai/anythingmcp.git
cd anythingmcp && docker compose up -d

Step 2: Mint a JWT from HR WORKS

In the HR WORKS admin: Settings → API → Generate Access Key to get an accessKey + secretAccessKey pair. Then exchange them for a 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"}'

The response contains {"token": "eyJ..."}. Token lifetime is ~15 minutes — for short-lived workflows the same token is fine; for long-running agents wrap this adapter in a proxy that refreshes automatically.

Step 3: Import the Adapter

Open http://localhost:3000/connectors/store, click Import on HR WORKS, and paste the JWT into HRWORKS_TOKEN.

For the sandbox: also set HRWORKS_BASE_URL=https://api.demo-hrworks.de and use sandbox-issued credentials.

Step 4: Connect to Your AI Agent

{
  "mcpServers": {
    "hrworks": {
      "url": "http://localhost:4000/mcp"
    }
  }
}

Available Tools (31)

Connectivity & Configuration

ToolWhat it returns
hrworks_health_checkAPI reachability — no auth required
hrworks_list_organization_unitsAll active org units (uuid, number, name)
hrworks_get_organization_unitFull org-unit record
hrworks_list_permanent_establishmentsPermanent establishments (Betriebsstätten)
hrworks_list_holidaysPublic holidays per region/year
hrworks_list_cost_centersCost centers configured for the tenant

People

ToolWhat it returns
hrworks_list_personsEmployee directory with filters
hrworks_get_personFull employee record
hrworks_list_persons_master_dataMaster data (HR-relevant attributes)
hrworks_get_persons_todaySnapshot of who's active today
hrworks_list_present_personsCurrently present (in-office/remote) people
hrworks_get_leave_accountLeave account balance per person

Absences & Time

ToolWhat it returns
hrworks_list_absencesAbsences over a date interval
hrworks_list_absence_typesConfigured absence types
hrworks_list_vacation_typesVacation type catalog
hrworks_list_sick_leavesSick leaves over a date interval
hrworks_list_sick_leave_typesSick-leave categories
hrworks_list_remote_workHome-office / remote-work entries
hrworks_list_working_timesWorking-time entries (max 1y or 31d for interval=days)
hrworks_list_time_recording_regulationsTime-recording rules in force

Projects & Recruiting

ToolWhat it returns
hrworks_list_projectsProjects with status
hrworks_get_projectFull project record
hrworks_list_project_customersCustomers attached to projects
hrworks_list_job_applicationsOpen job applications
hrworks_list_postsJob postings
hrworks_get_postFull posting incl. description
hrworks_list_applicantsApplicants in the pipeline
hrworks_get_applicantFull applicant record

AI Agent Use Cases

  • "Who is on vacation in the engineering team next week?" — manager-self-serve absence overview
  • "How many sick days did the warehouse take in Q1?" — HR analytics
  • "Show working-time totals for Jane Doe in March 2026" — overtime / payroll prep
  • "List active applicants for the Berlin Frontend role" — recruiter handoff
  • "Which employees were present in the Freiburg office today?" — facility/security view

Identifier Conventions

Most person-related endpoints accept either the HR WORKS personnel number or the username. Use the optional personIdentifierType / usePersonnelNumbers parameters when the identifier you have is not the default — the adapter will pass them through.

Date Intervals: 1-Year Maximum

hrworks_list_absences, hrworks_list_sick_leaves, hrworks_list_remote_work, and hrworks_list_working_times require ISO beginDate / endDate (YYYY-MM-DD). The HR WORKS API caps the span at 1 year (or 31 days if interval=days). For longer ranges, page through year-by-year and aggregate client-side.

Token Refresh — Known Limitation

This adapter sends a single static bearer token. When the JWT expires (~15 min), the API returns 401 and you must re-import a fresh token. For long-running workflows, run a cron that refreshes the token via /v2/authentication and updates the connector's HRWORKS_TOKEN env var via the AnythingMCP admin API.

Next Steps

Was this guide helpful?

Ready to ship

Your HR agent is one click away.

Install the connector, paste the key, prompt any MCP client. Free for 7 days, no credit card.

Related guides