Rippling MCP Server
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.
README
Rippling MCP Server
Complete Model Context Protocol (MCP) server for the Rippling HR Platform API.
Overview
This MCP server provides comprehensive integration with Rippling's HR platform, enabling AI assistants to interact with employee data, payroll, time tracking, benefits, recruiting (ATS), learning management, device inventory, and more.
Features
š§ 50+ Tools Across 10 Categories
Employees (7 tools)
rippling_list_employees- List all employees with filtersrippling_get_employee- Get detailed employee informationrippling_create_employee- Create new employee recordsrippling_update_employee- Update employee informationrippling_terminate_employee- Terminate an employeerippling_list_employee_custom_fields- List custom fieldsrippling_get_org_chart- Get organizational chart
Companies (5 tools)
rippling_get_company- Get company informationrippling_list_departments- List all departmentsrippling_create_department- Create new departmentrippling_list_locations- List work locationsrippling_list_teams- List all teams
Payroll (4 tools)
rippling_list_pay_runs- List payroll runsrippling_get_pay_run- Get pay run detailsrippling_list_pay_statements- List pay statementsrippling_get_pay_statement- Get detailed pay statement
Time Tracking (11 tools)
rippling_list_time_entries- List time clock entriesrippling_create_time_entry- Create time entryrippling_update_time_entry- Update time entryrippling_delete_time_entry- Delete time entryrippling_get_timesheet- Get timesheetrippling_approve_timesheet- Approve timesheetrippling_list_time_off_requests- List PTO requestsrippling_create_time_off_request- Create PTO requestrippling_approve_time_off_request- Approve PTOrippling_deny_time_off_request- Deny PTO
Benefits (4 tools)
rippling_list_benefits_plans- List benefits plansrippling_get_benefits_plan- Get plan detailsrippling_list_benefits_enrollments- List enrollmentsrippling_get_benefits_enrollment- Get enrollment details
ATS/Recruiting (6 tools)
rippling_list_candidates- List candidatesrippling_get_candidate- Get candidate detailsrippling_list_jobs- List job postingsrippling_get_job- Get job detailsrippling_list_applications- List applicationsrippling_update_application_stage- Move candidate through pipeline
Learning (4 tools)
rippling_list_courses- List training coursesrippling_get_course- Get course detailsrippling_list_course_assignments- List assignmentsrippling_assign_course- Assign course to employee
Devices (4 tools)
rippling_list_devices- List hardware devicesrippling_get_device- Get device detailsrippling_list_apps- List software/app licensesrippling_get_app- Get app license details
Groups (6 tools)
rippling_list_groups- List groupsrippling_get_group- Get group detailsrippling_create_group- Create new grouprippling_update_group- Update grouprippling_add_group_member- Add member to grouprippling_remove_group_member- Remove member from group
Custom Objects (5 tools)
rippling_list_custom_objects- List custom objectsrippling_get_custom_object- Get custom objectrippling_create_custom_object- Create custom objectrippling_update_custom_object- Update custom objectrippling_query_custom_objects- Query custom objects with filters
šØ 16 React UI Components
- EmployeeDashboard - Overview of employee metrics and departments
- EmployeeDetail - Detailed employee profile view
- EmployeeDirectory - Searchable employee directory with filters
- OrgChart - Visual organizational chart
- PayrollDashboard - Payroll overview and recent runs
- PayrollDetail - Detailed pay statement breakdown
- TimeTracker - Clock in/out interface and time entry viewer
- TimesheetApprovals - Approve/reject employee timesheets
- TimeOffCalendar - PTO calendar and requests
- BenefitsOverview - Benefits plans and enrollments
- ATSPipeline - Recruiting pipeline visualization
- JobBoard - Job postings board
- LearningDashboard - Training and course completion dashboard
- DeviceInventory - Hardware and device management
- TeamOverview - Team composition and management
- DepartmentGrid - Department overview and headcount
Installation
npm install
Configuration
Set the following environment variables:
# Option 1: API Key authentication
export RIPPLING_API_KEY="your_api_key_here"
# Option 2: OAuth2 Bearer token
export RIPPLING_ACCESS_TOKEN="your_access_token_here"
# Optional: Custom API base URL
export RIPPLING_BASE_URL="https://api.rippling.com"
Usage
As MCP Server
Add to your MCP settings configuration:
{
"mcpServers": {
"rippling": {
"command": "node",
"args": ["/path/to/rippling/dist/index.js"],
"env": {
"RIPPLING_API_KEY": "your_api_key_here"
}
}
}
}
Development
# Build TypeScript
npm run build
# Run in development mode
npm run dev
API Client
The RipplingClient class provides:
- ā Automatic authentication (API key or OAuth2)
- ā Cursor-based pagination support
- ā Comprehensive error handling
- ā Type-safe requests and responses
- ā Automatic retry logic
- ā Request/response interceptors
Example Usage
import { RipplingClient } from './clients/rippling.js';
const client = new RipplingClient({
apiKey: process.env.RIPPLING_API_KEY,
});
// List employees with pagination
const employees = await client.listEmployees({
status: 'ACTIVE',
departmentId: 'dept_123',
limit: 100,
});
// Get all pages automatically
const allEmployees = await client.getAllPaginated('/v1/employees');
// Create a new employee
const newEmployee = await client.createEmployee({
firstName: 'John',
lastName: 'Doe',
email: 'john.doe@company.com',
title: 'Software Engineer',
});
Architecture
rippling/
āāā src/
ā āāā clients/
ā ā āāā rippling.ts # API client with auth & pagination
ā āāā tools/
ā ā āāā employees-tools.ts # Employee management (7 tools)
ā ā āāā companies-tools.ts # Company/dept/location (5 tools)
ā ā āāā payroll-tools.ts # Payroll operations (4 tools)
ā ā āāā time-tools.ts # Time tracking & PTO (11 tools)
ā ā āāā benefits-tools.ts # Benefits management (4 tools)
ā ā āāā ats-tools.ts # Recruiting/ATS (6 tools)
ā ā āāā learning-tools.ts # Learning management (4 tools)
ā ā āāā devices-tools.ts # Device/app inventory (4 tools)
ā ā āāā groups-tools.ts # Group management (6 tools)
ā ā āāā custom-objects-tools.ts # Custom objects (5 tools)
ā āāā types/
ā ā āāā index.ts # TypeScript type definitions
ā āāā ui/
ā ā āāā react-app/ # 16 React UI components
ā āāā server.ts # MCP server setup
ā āāā index.ts # Entry point
āāā package.json
āāā tsconfig.json
āāā README.md
Type Safety
All API interactions are fully typed with TypeScript interfaces including:
- Employee, Department, Location, Team
- PayRun, PayStatement, EarningsLine, TaxLine, DeductionLine
- TimeEntry, Timesheet, TimeOffRequest
- BenefitsPlan, BenefitsEnrollment, Dependent
- Candidate, Job, Application, Interview
- Course, CourseAssignment
- Device, AppLicense
- Group, CustomObject
- PaginatedResponse, RipplingError
Error Handling
The client automatically handles:
- HTTP errors with detailed messages
- Rate limiting (with retry logic)
- Invalid authentication
- Malformed requests
- Network errors
Errors are returned in a consistent format:
{
message: string;
code?: string;
statusCode?: number;
details?: any;
}
Pagination
All list endpoints support cursor-based pagination:
// Manual pagination
let cursor: string | undefined;
do {
const response = await client.listEmployees({ cursor, limit: 100 });
// Process response.data
cursor = response.nextCursor;
} while (response.hasMore);
// Automatic pagination (gets all pages)
const allEmployees = await client.getAllPaginated('/v1/employees');
License
MIT
Support
For issues or questions:
- Check the Rippling API Documentation
- Review the type definitions in
src/types/index.ts - Examine the client implementation in
src/clients/rippling.ts
Contributing
Contributions welcome! Please ensure:
- All new tools have proper Zod schemas
- Type definitions are updated
- Error handling is comprehensive
- Tests are added (when test suite is created)
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.