peopleforce-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@peopleforce-mcpWho is on vacation next week in the Engineering team?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
A Model Context Protocol (MCP) server that connects Claude, Cursor, Claude Desktop, and any MCP-compatible LLM client to the PeopleForce HRIS / ATS.
27 read-only tools cover the PeopleForce v3 REST API — employees, time-off, recruitment, and all reference data — so your AI assistant can answer HR questions grounded in live company data without bouncing you back to the web app.
Built and maintained by Empat — a Ukrainian custom software development company. We ship this connector as open source to make AI-assisted HR automation a commodity for every PeopleForce customer.
Why this exists
PeopleForce is one of the fastest-growing HRIS platforms in Eastern Europe, but as of 2026 it has no official MCP connector. That means Claude, Cursor, and other LLM agents can't answer questions like:
"Who is on vacation next week in the Back-end department?"
"How many people are currently on probation?"
"List all open Senior iOS vacancies we haven't filled for 30+ days."
"What leave balance does
jane.doe@example.comhave left this quarter?"
peopleforce-mcp fixes that. It is a minimal, read-only, fetch-based TypeScript server that lives on GitHub and plugs into any MCP client in a couple of commands.
Related MCP server: Pipedrive MCP Server
Features
✅ 27 tools across employees, time-off, recruitment, tasks, assets, and reference data.
✅ Read-only by design — the 0.x line never mutates your PeopleForce data.
✅ Clone & run — no registry accounts required, deploy from GitHub in under a minute.
✅ Actionable errors — 401 tells you to check your key, 404 tells you the endpoint isn't on v3.
✅ Built-in pagination plus a
find_employee_by_emailworkflow tool that paginates for you.✅ Escape hatch —
api_requestlets your agent hit any v3 GET endpoint not yet modelled.✅ Node.js 18 / 20 / 22 — covered by CI.
✅ Typed end-to-end, smoke-tested over stdio.
Quick start
1 — Create a PeopleForce API key
PeopleForce → Settings → Open API keys → Generate.
Pick the Company API key (full read access to employee data). Optionally restrict it to your IP range on the PeopleForce allow-list.
2 — Clone and build once
Requires Node.js 18 or newer and git.
git clone https://github.com/EmpatDevelopment/peopleforce-mcp.git ~/peopleforce-mcp
cd ~/peopleforce-mcp
npm install
npm run buildThat produces ~/peopleforce-mcp/dist/index.js, which is the only file your MCP client needs to launch.
3 — Register with your MCP client
Claude Code
claude mcp add peopleforce --scope user \
--env PEOPLEFORCE_API_KEY=your_key_here \
-- node "$HOME/peopleforce-mcp/dist/index.js"Claude Desktop — edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"peopleforce": {
"command": "node",
"args": ["/absolute/path/to/peopleforce-mcp/dist/index.js"],
"env": { "PEOPLEFORCE_API_KEY": "your_key_here" }
}
}
}Cursor — paste the same JSON into ~/.cursor/mcp.json under mcpServers.
Detailed per-client guides with screenshots-friendly JSON snippets are in examples/.
Configuration
All configuration is passed via environment variables.
Variable | Default | Purpose |
| required | Your PeopleForce Company API key. |
|
| Override if PeopleForce hosts you on a non-default endpoint. |
|
| Per-request timeout. Slow PeopleForce responses are aborted and retried. |
|
| Max automatic retries for |
|
| Base for exponential backoff with full jitter. Retry-After headers are honoured. |
4 — Keeping it up to date
cd ~/peopleforce-mcp && git pull && npm install && npm run buildRestart your MCP client after each update.
5 — Ask something
"How many people are on probation right now, and which departments are they in?"
The model will call peopleforce_list_employees with status=probation, paginate through the results, and summarise.
Tool reference
Every tool is prefixed with peopleforce_ and is read-only. All list tools accept page (≥ 1) and per_page (≤ 100).
Employees
Tool | Purpose |
| Paginated roster; filter by |
| Full profile by numeric |
| Looks up an employee by work or personal email; paginates internally. |
| Position / role history for one employee. |
| Documents attached to one employee. |
| Assets assigned to one employee. |
Time-off & calendar
Tool | Purpose |
| Filter by |
| Vacation, sick, optional holiday, etc. |
| Official company holidays. |
Recruitment / ATS
Tool | Purpose |
| Open & closed jobs. |
| Candidates in the pipeline. |
| Pipelines and their stages. |
| Where candidates came from. |
Reference data
list_departments, list_positions, list_locations, list_divisions, list_teams, list_job_levels, list_job_profiles, list_legal_entities, list_employment_types, list_genders, list_skills, list_competencies, list_assets, list_tasks.
Escape hatch
api_request — raw GET against any /api/public/v3/<path> with an optional query object. Use it when the endpoint you need isn't modelled above, and consider opening a PR to promote it to a first-class tool.
Security
This server requires a PeopleForce Company API key, which is effectively read access to your entire employee database. Read SECURITY.md for full guidance — tl;dr:
Store it only in
PEOPLEFORCE_API_KEY(env var or your MCP client's encrypted config).Never commit it; never paste it into chat, Slack, or Notion.
Rotate immediately if leaked (PeopleForce → Settings → Open API keys → Revoke + Generate).
Restrict to allow-listed IPs where your MCP client runs.
Development
git clone https://github.com/EmpatDevelopment/peopleforce-mcp.git
cd peopleforce-mcp
npm install
npm test # unit + stdio smoke tests (no PeopleForce account required)
npm run build
PEOPLEFORCE_API_KEY=xxx node dist/index.js # run locallyFull contribution guide: CONTRIBUTING.md.
FAQ
Does it write to PeopleForce? No. 0.x is read-only by design. Mutating tools would be opt-in via a future feature flag.
Does it store my data anywhere? No. The server is a stateless stdio proxy between your MCP client and the PeopleForce API. Requests never leave the process.
Is it rate-limited? PeopleForce rate-limits the API itself. The server surfaces any 429 responses as actionable errors; it does not retry automatically.
Which PeopleForce plans are supported? Any plan that exposes the v3 API. The Career key has a narrower scope (vacancies only) and will 404 on most tools — use a Company key.
Can I self-host it? Yes — it's pure Node.js 18+. Run node dist/index.js inside any container with the env var set.
About Empat
Empat is a product-focused custom software development company based in Lviv, Ukraine. Since 2013 we have delivered 300+ projects across 23 markets — including fintech software development, AI software development, SaaS development, and custom mobile app development for Y Combinator alumni, Fortune 500 companies, and 19 Forbes 30 Under 30 founders.
Ways we work with clients:
Full product development — Discovery, PoC, MVP, launch, growth.
CTO as a service for early-stage founders.
Dedicated developer hiring and IT staff augmentation (iOS, Android, Flutter, React Native, Node.js, Python, .NET, QA, DevOps, Design).
Product validation and consulting.
Industries we serve: healthcare (remote monitoring, tele-consultations), fintech (payments, banking, commissions), social networks, education, entertainment & gaming, e-commerce.
5.0 on Clutch · Top 100 Fastest Growth 2026 · 300+ delivered products · $380M raised by clients in 2023.
👉 empat.tech — tell us what you're building.
License
MIT © 2026 Empat.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/EmpatDevelopment/peopleforce-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server