Skip to main content
Glama
Officient MCP Server

Officient MCP Server

Officient MCP Server

A Model Context Protocol (MCP) server for the Officient API, providing seamless integration with Claude and other MCP-compatible clients.

Features

This MCP server exposes 9 tools for interacting with the Officient API:

  • list_people - Get a paginated list of people

  • list_all_people - Get all people with automatic pagination

  • get_person_detail - Get detailed information about a specific person

  • get_employee_details - Get details of the current logged-in employee

  • list_coworkers_days_off - Get coworkers' days off for a specific month

  • list_own_days_off - Get your own days off for a specific year

  • get_all_salary_slips - Get all salary slip files

  • get_file_download_url - Get download URL for a file (e.g., salary slip PDF)

  • get_vacation_day_budgets - Get vacation day budgets for a specific year

Related MCP server: HRIS MCP Connector

Installation

  1. Clone this repository:

git clone https://github.com/bitterpanda63/officient-mcp-server.git
cd officient-mcp-server
  1. Install dependencies:

npm install
  1. Build the TypeScript files:

npm run build
  1. Create a .env file with your Officient token: You can get this officient token by inspecting a request when logged in and copying the bearer from the Authselfservice header.

cp .env.example .env
# Edit .env and add your OFFICIENT_TOKEN

Configuration

Environment Variables

Create a .env file in the root directory:

OFFICIENT_TOKEN=your_officient_token_here

To get your Officient token:

  1. Log in to your Officient account

  2. Open browser developer tools (F12)

  3. Go to Network tab

  4. Make any request to Officient

  5. Look for the Authselfservice header in the request

MCP Client Configuration

Add this server to your MCP client configuration (e.g., Claude Desktop):

{
  "mcpServers": {
    "officient": {
      "command": "node",
      "args": [
        "/path/to/officient-mcp-server/build/index.js"
      ],
      "env": {
        "OFFICIENT_TOKEN": "your_token_here"
      }
    }
  }
}

Usage

With Claude Desktop

Once configured, you can use natural language to interact with Officient:

  • "List all people in my company"

  • "Show me details for person ID 12345"

  • "What are my days off this year?"

  • "Get my salary slips"

  • "Who is on vacation in October 2025?"

Build

# Build once
npm run build

# Watch mode (development)
npm run dev

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Available Tools

9 tools
get_all_salary_slipsC

Get all salary slip files

Inputs: no named parameters.

get_employee_detailsA

Get details of the current logged-in employee (yourself)

Inputs: no named parameters.

get_file_download_urlB

Get download URL for a file (e.g., salary slip PDF)

Inputs: fileId (required).

get_person_detailC

Get detailed information about a specific person

Inputs: personId (required).

get_vacation_day_budgetsB

Get vacation day budgets for a specific year

Inputs: year (required).

list_all_peopleB

Get all people from Officient with automatic pagination

Inputs: perPage, searchTerm, teamFilter.

list_coworkers_days_offB

Get coworkers' days off for a specific month

Inputs: year (required), month (required).

list_own_days_offA

Get your own days off for a specific year

Inputs: year (required).

list_peopleC

Get a paginated list of people from Officient

Inputs: page, perPage, searchTerm, teamFilter.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 9 tools

    Disambiguation3/5

    Most tools have distinct purposes, but list_all_people and list_people both list people with only pagination difference, which can confuse an agent. Similarly, get_employee_details and get_person_detail both return person details, though for self vs others. Descriptions help but overlap exists.

    Naming Consistency4/5

    Naming consistently uses 'get_' for single resources and 'list_' for collections. The only minor inconsistency is 'get_all_salary_slips' using 'get_all_' instead of 'list_', and 'list_all_people' using 'list_all_'. Overall pattern is clear.

    Tool Count5/5

    With 9 tools covering employee details, salary slips, vacation budgets, and days off, the set is well-scoped for a self-service HR server. No tools feel redundant or missing.

    Completeness4/5

    The tools cover core read operations for employee self-service: personal info, salary slips, vacation budgets, days off, and colleague lookup. Missing write operations (e.g., leave requests) are acceptable for a read-only server, but no tool for individual salary slip detail is a minor gap.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to interact with BambooHR's API through natural language queries. Provides access to employee data, time off management, company files, and HR operations with comprehensive tools for workforce management.
      108 npm
      1
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables querying HR data like recent hires, employee details, departments, and PTO balances through natural language in an MCP client.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides 50+ tools for interacting with Rippling's HR platform, including employee management, payroll, time tracking, benefits, recruiting, learning, devices, groups, and custom objects, all through natural language.
      MIT