2026-02-04 23:01:37 -05:00
..
2026-02-04 23:01:37 -05:00
2026-01-28 23:00:58 -05:00
2026-01-28 23:00:58 -05:00
2026-01-28 23:00:58 -05:00

Rippling MCP Server

MCP server for Rippling API integration. Access employees, departments, teams, payroll, devices, and apps for HR and IT management.

Setup

npm install
npm run build

Environment Variables

Variable Required Description
RIPPLING_API_KEY Yes Bearer API key or OAuth access token

API Endpoint

  • Base URL: https://api.rippling.com/platform/api

Tools

HR / People

  • list_employees - List employees with pagination and terminated filter
  • get_employee - Get detailed employee information
  • list_departments - List all departments
  • list_teams - List all teams
  • list_levels - List job levels (IC1, Manager, etc.)
  • list_work_locations - List office locations
  • get_leave_requests - Get time-off/leave requests

Payroll

  • get_payroll - Get payroll runs and compensation data

IT

  • list_devices - List managed devices (laptops, phones)
  • list_apps - List integrated applications

Company

  • get_company - Get company information
  • list_groups - List custom groups for access control

Usage with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "rippling": {
      "command": "node",
      "args": ["/path/to/mcp-servers/rippling/dist/index.js"],
      "env": {
        "RIPPLING_API_KEY": "your-api-key"
      }
    }
  }
}

Authentication

Rippling supports two authentication methods:

Bearer API Key

Generate an API key in your Rippling admin settings for server-to-server integrations.

OAuth 2.0

For partner integrations, use OAuth flow:

  1. Register as a Rippling partner
  2. Implement OAuth installation flow
  3. Exchange authorization code for access token

See Rippling Developer Docs for details.

Required Scopes

Depending on which tools you use, request appropriate scopes:

  • employee:read - List/get employees
  • department:read - List departments
  • team:read - List teams
  • payroll:read - Access payroll data
  • device:read - List devices
  • app:read - List apps
  • company:read - Company info
  • leave:read - Leave requests

Examples

List active employees:

list_employees(limit: 50)

List all employees including terminated:

list_employees(include_terminated: true, limit: 100)

Get employee details:

get_employee(employee_id: "emp_abc123")

List engineering department devices:

list_devices(device_type: "laptop", limit: 50)

Get pending leave requests:

get_leave_requests(status: "pending")

Get payroll for date range:

get_payroll(start_date: "2024-01-01", end_date: "2024-01-31")