# Rippling MCP connector

The Rippling connector brings your workers, departments, work locations, employment types, and business partners to Claude, ChatGPT, Cursor, and the Elaichi Agent through one governed endpoint, so each person asks questions of live HR records inside their own Rippling access.

Source: https://elaichi.ai/connectors/rippling/

## Facts

| | |
| --- | --- |
| Application | Rippling |
| Category | HRIS |
| AI tools | 56 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 56 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Rippling is connected

- List all workers in the Engineering department
- Which work locations have the most workers right now
- Show employment types across every Rippling team

## Connect Rippling in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Rippling.
2. Optionally set Share with, then press Connect.
3. Paste a Rippling API key. One person generates a token in Rippling and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Rippling tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Rippling to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Rippling to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Rippling to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Rippling to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Rippling tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Rippling through Elaichi

### Answer who reports where, in seconds

People. Ask which department a worker sits in, which team they belong to, and which office they are based at, and get the answer from the live Rippling record instead of opening three screens.

### Check a worker before granting access

IT. Confirm a person's employment type, department, and work location in Rippling before provisioning software or hardware, so contractors and full-time staff get the right setup.

### Map headcount by department and location

Finance. Pull the current list of Rippling workers grouped by department, employment type, and work location to check budgets and allocations against what HR actually shows.

### Keep business partner records tidy

Operations. List the business partners and partner groups set up in Rippling, add a new partner when a vendor relationship starts, and remove one when it ends.

### Look up a team roster before a review

Managers. Get the members of a Rippling team along with their departments and work locations, so you walk into planning or a review with the current roster rather than last quarter's spreadsheet.

### Extend Rippling with the fields you track

People. See which custom fields already exist in Rippling and add a new custom object field when the organization starts tracking something new, without asking an engineer.

## Frequently asked questions

### How do I connect Rippling to Claude?

First connect Rippling in Elaichi, which asks you to paste a Rippling API key, since Rippling connects with an API key rather than an app sign-in. There is no OAuth application to register and no client ID or secret to generate. Then in Claude go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Claude asks you to sign in to Elaichi, and from then on it can work with your Rippling records.

### Does Rippling work with ChatGPT and Cursor as well as Claude?

Yes. Once Rippling is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client, and the Elaichi Agent. You connect Rippling once and every client you use picks it up.

### What can an AI agent actually do with my Rippling data?

With Rippling connected, an agent can look up workers and users, tell you which department, team, work location, and employment type a person belongs to, list the companies and departments in your organization, and check which custom fields exist. It can also add or remove business partners and partner groups and create a new custom object field. Rippling exposes a lot of actions, so short concrete asks such as "who is in the Berlin office" work better than long multi-part sentences.

### Does connecting Rippling give the AI access to everyone's HR records?

No. Every request to Rippling runs inside the access of the person who signed in, so an agent can only see the workers, departments, and business partners that person can already see in Rippling. Elaichi can narrow that access further with roles and restrictions, but it never widens it beyond what Rippling itself allows.

### Can my team share one Rippling connection?

Yes. One person connects Rippling in Elaichi with the API key and shares the connection with a team, and nobody else on the team ever handles the key. Each teammate still signs in to Elaichi as themselves, so every Rippling lookup or change in the audit log is tied to a named person, not to a shared account.

### Can I stop an agent from deleting or changing things in Rippling?

Yes. Restrictions in Elaichi apply per action, so you can allow reading workers and departments in Rippling while blocking the actions that create or delete business partners, partner groups, or custom fields. A blocked action is never shown to Claude, ChatGPT, Cursor, or any other client at all, so no prompt, however worded, can reach it.

### What happens to a Rippling connection when someone leaves?

When you offboard a person in Elaichi, their access to Rippling through every AI client ends at once. A shared Rippling connection keeps working for everyone else on the team, so nobody has to reconnect. If you want to remove Rippling entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client in one step.

## All 56 Rippling tools

Every tool below is callable through https://api.elaichi.ai/mcp once Rippling is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Rippling users** (List). List users in Rippling. Returns id, created_at, updated_at, active, username, name, display_name, emails, phone_numbers, addresses, photos, preferred_language, locale, timezone, and number fields for each user.
- **Get single Rippling user by ID** (Get). Get a specific user in Rippling by id. Returns id, created_at, updated_at, active, username, name, display_name, emails, phone_numbers, addresses, photos, preferred_language, locale, timezone, number, and any redacted_fields with reasons in the response.
- **List all Rippling teams** (List). List teams in Rippling. Returns id, created_at, updated_at, parent_id, parent, and name fields for each team.
- **Get single Rippling team by ID** (Get). Get a specific team in Rippling. Requires id. Returns id, created_at, updated_at, parent_id, parent, name, and any redacted_fields specified in __meta.
- **List all Rippling companies** (List). List companies in Rippling. Returns id, created_at, updated_at, name, legal_name, primary_email, legal_entities and parent_legal_entity with key details like country, entity level, registration date, and addresses for each company.
- **List all Rippling custom fields** (List). List custom fields in Rippling. Returns id, created_at, updated_at, name, description, required, and type fields for each custom field in the response.
- **List all Rippling departments** (List). List departments in Rippling. Returns id, created_at, updated_at, name, parent_id, reference_code, department_hierarchy_id, and department_hierarchy in the response. Requires API Tier 1.
- **Get single Rippling department by ID** (Get). Get a specific department in Rippling using id. Returns fields such as id, created_at, updated_at, name, parent_id, reference_code, department_hierarchy_id, and __meta.redacted_fields with reasons for redactions.
- **List all Rippling employment types** (List). List employment types in Rippling. Returns id, created_at, updated_at, label, name, type, compensation_time_period, and amount_worked for each employment type.
- **Get single Rippling employment type by ID** (Get). Get details about a specific employment type in Rippling using id. Returns fields such as id, created_at, updated_at, label, name, type, compensation_time_period, amount_worked, and __meta.redacted_fields indicating data redacted due to insufficient entitlements.
- **List all Rippling work locations** (List). List work locations in Rippling. Returns id, created_at, updated_at, name, and address fields (type, formatted, street_address, locality, region, postal_code, country) for each work location.
- **Get single Rippling work location by ID** (Get). Get a specific work location in Rippling. Requires id. Returns id, created_at, updated_at, name, address (type, formatted, street_address, locality, region, postal_code, country), and __meta.redacted_fields with redaction details in the response.
- **List all Rippling workers** (List). List workers in Rippling. Returns id, created_at, updated_at, user details, status, legal_entity, department, compensation, title, manager, teams, employment_type, termination_details, country_fields, and business_partners fields for each worker.
- **Get single Rippling worker by ID** (Get). Get a specific worker in Rippling by id. Returns fields including id, created_at, updated_at, user details, legal_entity, status, employment_type, compensation, department, level, teams, business_partners, and more. All returned fields may be subject to access limitations and field redaction.
- **List all Rippling business partners** (List). List business partners in Rippling. Returns id, created_at, updated_at, business_partner_group_id, business_partner_group, worker_id, worker, client_group_id, client_group, and client_group_member_count fields in the response.
- **Create a Rippling business partner** (Create). Create a new business partner in Rippling. Requires business_partner_group_id and worker_id. Returns id, created_at, updated_at, business_partner_group_id, business_partner_group with details, worker_id, worker details, client_group_id, client_group details, and client_group_member_count in the response.
- **Get single Rippling business partner by ID** (Get). Get a specific business partner in Rippling. Requires id. Returns detailed information including id, created_at, updated_at, business_partner_group_id, business_partner_group details, worker_id, worker details, client_group_id, client_group details, and client_group_member_count.
- **Delete a Rippling business partner by ID** (Delete). Delete a business partner in Rippling. Requires id. Returns a successful deletion status with a 204 response code.
- **List all Rippling business partner groups** (List). List business partner groups in Rippling. Returns id, created_at, updated_at, name, domain, default_business_partner_id, and nested default_business_partner details for each group.
- **Create a Rippling business partner group** (Create). Create a new business partner group in Rippling. Returns id, created_at, updated_at, name, domain, default_business_partner_id, and default_business_partner fields in the response.
- **Get single Rippling business partner group by ID** (Get). Get a specific business partner group in Rippling by id. Returns id, created_at, updated_at, name, domain, default_business_partner_id, default_business_partner, and related nested fields for detailed group and partner information.
- **Delete a Rippling business partner group by ID** (Delete). Delete a business partner group in Rippling using id. Returns successful status if the resource is deleted.
- **List all Rippling custom object fields** (List). List custom object fields in Rippling using custom_object_api_name. Returns id, created_at, updated_at, name, custom_object, description, api_name, data_type, is_unique, is_immutable, is_standard, managed_package_install_id, and enable_history fields.
- **Create a Rippling custom object field** (Create). Create a new custom object field in Rippling. Requires custom_object_api_name. Returns id, created_at, updated_at, name, custom_object, description, api_name, data_type, is_unique, is_immutable, is_standard, managed_package_install_id, enable_history in the response.
- **Get single Rippling custom object field by ID** (Get). Get details of a specific custom object field in Rippling. Requires custom_object_api_name and id. Returns id, created_at, updated_at, name, custom_object, description, api_name, data_type, is_unique, is_immutable, is_standard, managed_package_install_id, and enable_history.
- **Delete a Rippling custom object field by ID** (Delete). Delete a custom object field in Rippling. Requires custom_object_api_name and id. Returns no content if the field was deleted successfully.
- **Update a Rippling custom object field by ID** (Update). Update a custom object field in Rippling using custom_object_api_name and id. Returns fields such as id, created_at, updated_at, name, custom_object, api_name, data_type, is_unique, is_immutable, is_standard, enable_history, and more.
- **List all Rippling custom object records** (List). List custom object records in Rippling with custom_object_api_name. Returns id, created_at, updated_at, name, external_id, created_by, last_modified_by, owner_role, and system_updated_at fields in the response.
- **Create a Rippling custom object record** (Create). Create a new custom object record in Rippling. Requires custom_object_api_name. Returns id, created_at, updated_at, name, external_id, created_by, last_modified_by, owner_role, and system_updated_at fields in the response.
- **Get single Rippling custom object record by ID** (Get). Get a specific custom object record in Rippling using custom_object_api_name and id. Returns id, created_at, updated_at, name, external_id, created_by, last_modified_by, owner_role, and system_updated_at fields.
- **Update a Rippling custom object record by ID** (Update). Update a specific custom object record in Rippling. Requires custom_object_api_name and id. Returns id, created_at, updated_at, name, external_id, created_by, last_modified_by, owner_role, and system_updated_at fields in the response.
- **Delete a Rippling custom object record by ID** (Delete). Delete a custom object record in Rippling. Requires custom_object_api_name and id. Returns status 204 if the resource was deleted successfully.
- **Rippling custom object records by external ID** (Action). Get a specific custom object record in Rippling using custom_object_api_name and external_id. Returns id, created_at, updated_at, name, external_id, created_by, last_modified_by, owner_role, and system_updated_at fields in the response.
- **Rippling custom object records bulk create** (Create). Bulk create custom object records in Rippling. Requires custom_object_api_name. Returns for each created record: id, created_at, updated_at, name, external_id, created_by, last_modified_by, owner_role, and system_updated_at.
- **Rippling custom object records bulk update** (Update). Bulk update custom-object-records in Rippling using custom_object_api_name. Returns list of updated records with id, created_at, updated_at, name, external_id, created_by, last_modified_by, owner_role, and system_updated_at fields.
- **Rippling custom object records bulk delete** (Delete). Bulk delete custom object records in Rippling. Requires custom_object_api_name and rows_to_delete. Returns 204 on successful deletion of all specified records.
- **List all Rippling query custom object records** (List). List custom object records in Rippling filtered by query. Requires custom_object_api_name. Returns id, created_at, updated_at, name, external_id, created_by, last_modified_by, owner_role, and system_updated_at for each record.
- **List all Rippling custom objects** (List). List custom objects in Rippling. Returns id, created_at, updated_at, name, plural_label, category_id, enable_history, and other key fields for each custom object.
- **Create a Rippling custom object** (Create). Create a new custom object in Rippling. Returns fields: id (identifier), created_at (creation date), updated_at (update date), name (custom object name), description, api_name, plural_label, category_id, native_category_id, managed_package_install_id, enable_history (history tracking status), and owner_id (owner information). Requires name and category in the request.
- **Get single Rippling custom object by ID** (Get). Get a specific custom object in Rippling by id. Returns id, created_at, updated_at, name, plural_label, category_id, enable_history, and other relevant fields in the response.
- **Update a Rippling custom object by ID** (Update). Update a custom object in Rippling. Requires id. Returns id, created_at, updated_at, name, description, api_name, plural_label, category_id, native_category_id, managed_package_install_id, enable_history, and owner_id.
- **Delete a Rippling custom object by ID** (Delete). Delete a custom object in Rippling. Requires id. Returns 204 status when the resource is deleted successfully.
- **List all Rippling entitlements** (List). List entitlements in Rippling. Returns id, description, and display_name fields for each entitlement in the response.
- **List all Rippling me** (List). Get SSO information about the current user in Rippling. Returns id, created_at, updated_at, work_email, company_id, and detailed company object including company name, legal_name, primary_email, company phone, legal entities and their hierarchy, and address information.
- **List all Rippling object categories** (List). List object categories in Rippling. Returns id, created_at, updated_at, name, and description fields for each object category.
- **Create a Rippling object category** (Create). Create a new object category in Rippling. Returns the id, created_at, updated_at, name, and description fields for the created category.
- **Get single Rippling object category by ID** (Get). Get a specific object category in Rippling using id. Returns id, created_at, updated_at, name, and description fields in the response.
- **Update a Rippling object category by ID** (Update). Update object category in Rippling by id. Returns id, created_at, updated_at, name, and description fields in the response.
- **Delete a Rippling object category by ID** (Delete). Delete an object category in Rippling. Requires id. No response content is returned upon successful deletion.
- **List all Rippling supergroups** (List). List supergroups in Rippling. Returns fields such as id, created_at, updated_at, display_name, name, app_owner_id, group_type, description, parent, priority, and related group attributes in the response.
- **Get single Rippling supergroup by ID** (Get). Retrieve a specific supergroup in Rippling. Requires id. Returns fields: id, created_at, updated_at, display_name, name, app_owner_id, group_type, sub_group_type, read_only, description, parent, mutually_exclusive_key, cumulatively_exhaustive_default, include_terminated, allow_non_employees, can_override_role_states, priority, is_invisible, ignore_prov_group_matching, and __meta.redacted_fields with name and reason for any redacted fields.
- **List all Rippling supergroup members** (List). List supergroup members in Rippling based on group_id. Returns id, created_at, updated_at, full_name, and work_email for each member in the response.
- **List all Rippling supergroup inclusion members** (List). List supergroup inclusion members in Rippling for a given group_id. Returns id, created_at, updated_at, full_name, and work_email fields for each member in the response.
- **Update a Rippling supergroup inclusion member by ID** (Update). Update supergroup inclusion members in Rippling. Requires group_id. Returns ok indicating whether the operation succeeded.
- **List all Rippling supergroup exclusion members** (List). List supergroup exclusion members in Rippling requiring group_id. Returns id, created_at, updated_at, full_name, and work_email for each exclusion member in the response.
- **Update a Rippling supergroup exclusion member by ID** (Update). Update supergroup exclusion members in Rippling using group_id. Returns ok indicating whether the operation succeeded.
