Skip to main content

The #1 agentic semantic tool search: 91.6% first-try accuracy on S1 Search Bench Explore Tool Discovery

Live 58 Actions

PeopleHR MCP Server
for AI Agents

Connect your AI agent to StackOne's PeopleHR MCP server and give it 58 MCP tools out of the box. Auth, tool execution, and security all managed.

PeopleHR logo
PeopleHR MCP Server
Built by StackOne StackOne
DrataGPLocalyzeFlipMindtoolsScreenloop

Coverage

58 Agent Actions

Create, read, update, and delete across PeopleHR — and extend your agent's capabilities with custom actions.

Authentication

Agent Tool Authentication

Per-user OAuth in one call. Your PeopleHR MCP server gets session-scoped tokens with zero credentials stored on your infra.

Agent Auth →

Security

Agent Protection

Every PeopleHR tool response scanned for prompt injection in milliseconds — 88.7% accuracy, all running on CPU.

Prompt Injection Defense →

Performance

Max Agent Context. Min Cost.

Free up to 96% of your agent's context window to enhance reasoning and reduce cost, on every PeopleHR call.

Tools Discovery →

What is the PeopleHR MCP Server?

A PeopleHR MCP server lets AI agents read and write PeopleHR data through the Model Context Protocol — Anthropic's open standard for connecting LLMs to external tools. StackOne's PeopleHR MCP server ships with 58 pre-built actions, fully extensible via the Connector Builder — plus managed authentication, prompt injection defense, observability, and agent execution runtime. Connect it from MCP clients like Claude Desktop, Claude Code, Cursor, Goose, and VS Code, or from agent frameworks like OpenAI Agents SDK, LangChain, and Vercel AI SDK.

All PeopleHR MCP Tools

Every action from PeopleHR's API, ready for your agent. Create, read, update, and delete — scoped to exactly what you need.

Employees

  • Create Employee

    Create a new employee record

  • List Employees

    Retrieve a list of all employees

  • Get Employee

    Retrieve details for a specific employee by ID. Use list_employees first to find the EmployeeId.

  • Update Employee

    Update an existing employee's details. Requires EmployeeId, ReasonForChange, and all core fields (name, gender, dates, job role, location, department with effective dates). Use get_employee first to retrieve current values.

Absences

  • Create Absence

    Add a new unplanned absence record (sick leave, personal leave) for an employee. DurationType codes: 1=Days, 2=Hours, 3=Half Day. Use list_employees to find the EmployeeId first.

  • Get Absences

    Retrieve unplanned absence records (sick leave, personal leave) for an employee within a date range. Use list_employees to find the EmployeeId first.

  • Update Absence

    Update an existing absence record. Requires OldStartDate and OldEndDate from the original record — use get_absences first to retrieve these.

  • Delete Absence

    Delete an absence record for an employee. Identified by StartDate and EndDate — use get_absences first to find the dates.

Holidays

  • Create Holiday

    Book a new planned annual leave / vacation for an employee. DurationType codes: 1=Days, 2=Hours, 3=Half Day. Use list_employees to find the EmployeeId first.

  • Get Holidays

    Retrieve planned annual leave / vacation booking records for an employee, optionally filtered by date range. Use list_employees to find the EmployeeId first.

  • Update Holiday

    Update an existing planned leave booking for an employee. Requires OldStartDate and OldEndDate from the original booking — use get_holidays first to retrieve these.

  • Delete Holiday

    Delete a holiday booking for an employee. Identified by StartDate and EndDate of the booking — use get_holidays first to find the dates.

Salarys

  • Create Salary

    Create a new salary record for an employee. Use list_employees to find the EmployeeId first. Deductions and Entitlements can be empty arrays [] if not applicable.

  • Get Salary

    Retrieve salary details for an employee, with optional history. Use list_employees to find the EmployeeId first.

  • Delete Salary

    Delete a salary record for an employee. Identified by EffectiveFrom date — use get_salary first to find it.

Documents

  • Upload Document

    Upload a document to an employee's record. Requires base64-encoded file content in the File field and a Category (e.g. "General", "Contract").

  • List Documents

    Retrieve all documents for an employee. Use list_employees to find the EmployeeId first.

  • Get Document

    Retrieve a specific employee document by DocumentId. Use list_documents first to find the DocumentId.

Timesheets

  • Create Timesheet

    Create a new timesheet entry for an employee

  • Get Timesheets

    Retrieve timesheet records for an employee. Use list_employees to find the EmployeeId first.

  • Update Timesheet

    Update an existing timesheet entry for an employee

  • Delete Timesheet

    Delete a timesheet entry for an employee. Identified by TimesheetDate — use get_timesheets first to find the date.

Appraisals

  • Create Appraisal

    Create a new appraisal record for an employee

  • Get Appraisal

    Retrieve a specific appraisal record by AppraisalId. Use get_appraisals_by_employee first to find the AppraisalId.

  • Update Appraisal

    Update an existing appraisal record

  • Delete Appraisal

    Delete an appraisal record. Requires AppraisalId — use get_appraisals_by_employee first to find it.

Benefits

  • Create Benefit

    Add a new benefit record for an employee

  • Get Benefit

    Retrieve a specific benefit record by its BenefitId. Use get_benefits_by_employee first to find the BenefitId.

  • Update Benefit

    Update an existing benefit record for an employee

  • Delete Benefit

    Delete a benefit record for an employee. Requires BenefitId — use get_benefits_by_employee first to find it.

Qualifications

  • Create Qualification

    Add a new qualification record for an employee

  • Get Qualification

    Retrieve a specific qualification record by QualificationId. Use get_qualifications_by_employee first to find the QualificationId.

  • Update Qualification

    Update an existing qualification record for an employee

  • Delete Qualification

    Delete a qualification record for an employee. Requires QualificationId — use get_qualifications_by_employee first to find it.

Trainings

  • Create Training

    Add a new training record for an employee

  • Get Trainings

    Retrieve all training records for a specific employee. Use list_employees to find the EmployeeId first.

  • Update Training

    Update an existing training record for an employee

  • Delete Training

    Delete a training record for an employee. Requires TrainingId — use get_trainings first to find it.

Holiday Entitlements

  • Get Holiday Entitlement

    Retrieve current year holiday entitlement (remaining allowance) for a specific employee. Use list_employees to find the EmployeeId first.

  • Update Holiday Entitlement

    Update the current year holiday entitlement for a specific employee. Requires EntitlementThisYear value and ReasonForChange.

Next Year Holiday Entitlements

  • Get Next Year Holiday Entitlement

    Retrieve next year's holiday entitlement (future year allowance) for a specific employee. For current year, use get_holiday_entitlement instead.

  • Update Next Year Holiday Entitlement

    Update next year's holiday entitlement for a specific employee. For current year, use update_holiday_entitlement instead.

Maternity/Paternitys

  • Create Maternity/Paternity

    Add a new maternity/paternity record for an employee

  • Get Maternity/Paternity

    Retrieve a specific maternity/paternity record by MaternityPaternityTxnId. Use get_maternity_paternity_by_employee first to find the ID.

  • Update Maternity/Paternity

    Update an existing maternity/paternity record for an employee

  • Delete Maternity/Paternity

    Delete a maternity/paternity record. Requires MaternityPaternityTxnId — use get_maternity_paternity_by_employee first to find it.

Right To Works

  • Create Right To Work

    Add a new right to work / visa / work permit record for an employee. DocumentId here means the document reference number (e.g. passport number), not a database ID.

  • Get Right To Work

    Retrieve right to work / visa / work permit details for a specific employee. Use list_employees to find the EmployeeId first.

  • Update Right To Work

    Update an existing right to work record for an employee

  • Delete Right To Work

    Delete a right to work record. Requires RightToWorkTxnId — use get_right_to_work first to find it.

Other (8)

  • Add Employee Image

    Upload a profile image for an employee. Requires EmployeeId, image filename (e.g. photo.png), and base64-encoded image data.

  • Get Appraisals By Employee

    Retrieve all appraisal / performance review records for an employee. Use list_employees to find the EmployeeId first.

  • Get Benefits By Employee

    Retrieve all benefit records for a specific employee. Use list_employees to find the EmployeeId first.

  • Get Qualifications By Employee

    Retrieve all qualification records for a specific employee. Use list_employees to find the EmployeeId first.

  • Get Work Pattern

    Retrieve details of a specific work pattern by WorkPatternId. The WorkPatternId can be found in the employee detail response from get_employee.

  • Get Maternity/Paternity By Employee

    Retrieve all maternity/paternity leave records for a specific employee. Use list_employees to find the EmployeeId first.

  • Update Employee ID

    Change an employee's ID to a new value

  • Mark Employee As Leaver

    Mark an employee as a leaver with a leaving date and reason. Use list_employees to find the EmployeeId first.

PeopleHR AI Agent Use Cases

Connect your AI agent to PeopleHR and help your team scale the HR operations they run by hand today.

Employee Onboarding

Use StackOne to connect your AI agent to your HRIS, identity management, and LMS to automate employee onboarding.

View
WorkdayBambooHRPersonioHiBobGustoRipplingOkta360Learning
HR Policy Q&A Chatbot

Use StackOne to connect your AI agent to your HRIS, knowledge base, and messaging tools to automate HR policy Q&A.

View
WorkdayBambooHRPersonioHiBobGustoRipplingSharePointConfluence
Employee Offboarding

Use StackOne to connect your AI agent to your HRIS, identity management, and ITSM to automate employee offboarding and deprovisioning.

View
WorkdayBambooHRPersonioOktaServiceNowRipplingGustoJira

Set Up Your PeopleHR MCP Server in Minutes

One endpoint. Any framework. Your agent is talking to PeopleHR in under 10 lines of code.

Agent Frameworks

Claude Desktop
{
  "mcpServers": {
    "stackone": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@latest",
        "https://api.stackone.com/mcp?x-account-id=<account_id>",
        "--header",
        "Authorization: Basic <YOUR_BASE64_TOKEN>"
      ]
    }
  }
}

Check More HRIS / HCM MCP Servers

PeopleHR MCP Server FAQ

Does StackOne have a PeopleHR MCP server?
Yes. StackOne offers a hosted PeopleHR MCP server with 58 pre-built actions, and every action is tested and QA'd by StackOne. Connect it to Claude, Cursor, and any other MCP client, or to any agent framework through the AI Action SDK. It ships with managed agent authentication, prompt injection defense, and tool discovery with server-side execution that preserve your agent's context window and keep reasoning performance.
PeopleHR MCP server vs direct API integration — what's the difference?
A PeopleHR MCP server and direct API integration serve different use cases. Direct API integration is for software-to-software — backend code calling PeopleHR. A PeopleHR MCP server is for AI agents — MCP clients like Claude and Cursor, plus framework agents built with OpenAI, LangChain, or Vercel AI — discovering and calling PeopleHR at runtime. StackOne provides both.
How does PeopleHR authentication work for AI agents?
PeopleHR authentication for AI agents works through a StackOne Connect Session. Create one via the dashboard or the SDK — you get an auth link and ready-to-paste config for Claude Desktop, Cursor, and other MCP clients. Your user authenticates their own PeopleHR account; StackOne handles token exchange, storage, and refresh. Credentials never reach the LLM, and each user is isolated via origin_owner_id.
Are PeopleHR MCP tools vulnerable to prompt injection?
Yes — PeopleHR MCP tools can be vulnerable to indirect prompt injection. Any tool that reads user-written content — documents, messages, tickets, records, or free-text fields — is a potential vector. StackOne Defender scans every tool response before it enters the agent's context — regex patterns in ~1ms, then a MiniLM classifier in ~4ms. 88.7% accuracy, CPU-only.
What is the context bloat of a PeopleHR agent and how do I avoid it?
Context bloat happens when PeopleHR tool schemas and API responses eat your PeopleHR agent's memory, preventing it from reasoning effectively. A single PeopleHR query can return a massive JSON response, and connecting multiple tools compounds the problem. Tools Discovery and Code Mode reduce context bloat — loading only relevant tools per query and keeping raw responses out of the agent's context.
Can I limit which actions my PeopleHR agent can access?
Yes — you can limit which actions your PeopleHR agent can access directly from the StackOne dashboard. Toggle actions on or off, or restrict them to specific accounts, with no code changes to your agent. Session tokens can be scoped to exact actions so if one leaks, exposure stays contained.
Can I create custom agent actions for my PeopleHR MCP server?
Yes — you can create custom agent actions for your PeopleHR MCP server using Connector Builder. It's an integration agent your coding assistant (Claude Code, Cursor, or Copilot) can invoke to research PeopleHR's API, generate production-ready connector YAML, test against the live API, and validate before you ship.
When should I NOT use a PeopleHR MCP server?
Skip a PeopleHR MCP server if your integration is purely software-to-software — direct PeopleHR API integration is simpler when no AI agent is involved. For deterministic, compliance-critical operations (financial transactions, regulatory reporting), direct API gives you predictable behavior without agent-driven decision-making. MCP shines when AI agents need to dynamically discover and call PeopleHR actions at runtime.
What AI frameworks and AI clients does the StackOne PeopleHR MCP server support?
The StackOne PeopleHR MCP server supports both. MCP clients (paste-and-go apps): Claude Desktop, Claude Code, Cursor, VS Code, Goose. Agent frameworks (code SDKs you build with): OpenAI Agents SDK, Anthropic, Vercel AI, Google ADK, CrewAI, Pydantic AI, LangChain, LangGraph, Azure AI Foundry.

Put your AI agents to work

All the tools you need to build and scale AI agent integrations, with best-in-class connectivity, execution, and security.