Connectors · Accounting & finance
Rippling MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Rippling and the rest of your systems. It gives your agent 362 Rippling actions (205 reads, 122 writes and 35 that wait for a confirmation) and holds the Rippling credential itself, so the agent never does. It paces Rippling's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "rippling.users.list", intent: "check which Rippling account is connected"}# List users · read · 1 upstream call- 362actionsin one signed file
- 205readlook, never change
- 122writecreate and update
- 35wait for a yesdestructive, confirmed first
Set up
Connect Rippling in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Rippling.
Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
api_tokenRippling API token: create one in Rippling > Settings > Company settings > API Tokens (an admin action) with the…hostWhere your Rippling lives: your host
account { op: "connections.requirements", service: "rippling" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "rippling.users.list" }# list users · read · 1 upstream callcheck { action: "rippling.teams.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Rippling at a glance
- Sign-in
- Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
api_token- Setup fields
host- Limits we pace to
- 10 calls a second, per connection
- API covered
- Rippling REST API 2024-08-01 (OpenAPI 3.0.3)
rest.ripplingapis.com - Built from
- Rippling's documentation, read 22 October 2026developer.rippling.comdeveloper.rippling.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 205 of 205 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 7, so ask can line Rippling up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Rippling.
362 actions in 107 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 205readlook, never change
- 122writecreate and update
- 35destructivewait for a confirmation
Custom objects
208 read · 8 write · 4 destructive
Create a new custom object · List custom objects · Create a new custom object field · List custom object fields
Agents
179 read · 7 write · 1 destructive
Create a new agent · List agents · Deploy an agent source revision · List agent deployments
Functions
138 read · 5 write · 0 destructive
Create a new function · Create a new function dev bundle · List functions · Create a new function deployment
Metadata
106 read · 4 write · 0 destructive
Extract metadata components by identifier · Deploy a metadata component package · Validate metadata components · Start an async metadata deployment run
Listing
92 read · 6 write · 1 destructive
Create a new listing · List listing · Delist listing · Retrieve a specific listing
Packages
94 read · 4 write · 1 destructive
Create a new package · List packages · Create a package version from a published version · Create a new package version
Sites
83 read · 4 write · 1 destructive
Create a new site · Apply file operations to a site bundle · List Sites · Create a presigned staged upload batch
Supergroups
75 read · 2 write · 0 destructive
List supergroups · List supergroup exclusion members · List supergroup inclusion members · List supergroup members
99 more areas · 269 actions
- Workflows 7
- Job assignments 6
- Job codes 6
- Background check candidates 5
- Custom apps 5
- Custom pages 5
- Custom settings 5
- Job dimensions 5
- Kiosk badges 5
- Levels 5
- Object categories 5
- Sandboxes 5
- Shift inputs 5
- Software deployments 5
- Teams 5
- Time entries 5
- Titles 5
- Tracks 5
- Variable compensation payout types 5
- Work locations 5
- Worker time splits 5
- Business partner groups 4
- Business partners 4
- Business structure paths 4
- Departments 4
- Leave requests 4
- Payroll runs 4
- Schedules 4
- Shiftassignments 4
- Unassignedshifts 4
- Variable compensation payout labels 4
- Earnings inputs 3
- Job pay rate exceptions 3
- Leave accruals 3
- Package versions 3
- Scheduled job assignments 3
- Variable compensation payouts 3
- Activity log 2
- App users 2
- Bill payments 2
- Break policies 2
- Break types 2
- Card transactions 2
- Company legal entities 2
- Company legal entity workers 2
- Compensation bands details 2
- Compensations 2
- Developer program application 2
- Device orders 2
- Devices 2
- Draft transitions 2
- Employment types 2
- Files 2
- Headcount positions 2
- Headcount priorities 2
- Job functions 2
- Leave balances 2
- Leave types 2
- Legal entities 2
- Listing submissions 2
- Location factors 2
- Package installs 2
- Package managed installs 2
- Package sandbox links 2
- Package uninstalls 2
- Package upgrades 2
- Package version component updates 2
- Reimbursements 2
- Report runs 2
- Reports 2
- Spend categories 2
- Spend vendors 2
- Time cards 2
- Unassigned shifts 2
- Users 2
- Worker changes 2
- Workers 2
- Candidate applications 1
- Candidates 1
- Companies 1
- Custom fields 1
- Developer users 1
- Draft hires 1
- Earning types 1
- Employee documents 1
- Entitlements 1
- Hire requirements 1
- Hires 1
- Job requisitions 1
- Job requisitions write 1
- Leave program evaluations 1
- Listing transitions 1
- Payroll payment mode changes 1
- Permissions 1
- Platform capabilities 1
- Shift assignments 1
- SSO me 1
- Worker change fields 1
- Workflow action executions 1
Top actions
The Rippling API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 38 of Rippling's 38 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
rippling.users.listList users | List users. | read | identity.user.list474 connectors |
rippling.teams.listList teams | List teams. | read | identity.group.list262 connectors |
rippling.workers.listList workers | List workers. | read | hr.employee.list61 connectors |
rippling.departments.listList departments | List departments. | read | hr.department.list40 connectors |
rippling.work_locations.listList work locations | List work locations. | read | hr.location.list32 connectors |
rippling.sso_me.getRetrieve my SSO information | Retrieve my SSO information. | read | identity.current_user.get307 connectors |
rippling.candidates.listList candidates | List candidates. | read | hr.candidate.list22 connectors |
rippling.teams.createCreate a new team | Create a new team. | write | identity.group.create205 connectors |
rippling.users.getRetrieve a specific user | Retrieve a specific user. | read | identity.user.get399 connectors |
rippling.departments.createCreate a new department | Create a new department. | write | hr.department.create32 connectors |
rippling.work_locations.createCreate a new work location | Create a new work location. | write | hr.location.create23 connectors |
rippling.teams.deleteDelete a team | Delete a team. | destructive | identity.group.delete181 connectors |
Try it
Prompts to paste into Claude.
Each one names the Rippling actions it will call, so you know what it reads and what it changes before you send it.
- Readread
List everyone in Rippling with their department and start date.
calls
rippling.workers.list - Writewrite
Create a new team in Rippling. Show me exactly what you will send before you save it.
calls
rippling.teams.create
Governance for Rippling
Destructive actions wait for a yes.
35 Rippling actions are destructive. The first 10:
- Delete a team
rippling.teams.delete - Delete a work location
rippling.work_locations.delete - Delete a time entry
rippling.time_entries.delete - Delete a title
rippling.titles.delete - Delete a site
rippling.sites.delete - Delete an agent
rippling.agents.delete - Delete a level
rippling.levels.delete - Delete a track
rippling.tracks.delete - Delete a package
rippling.packages.delete - Delete a job code
rippling.job_codes.delete
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete a team?
intent: the user asked me to delete a team
account { op: "keys.create", name: "rippling-agent", allowed_actions: ["rippling.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "rippling.teams.delete", approver: "[email protected]" }, { match: "rippling.work_locations.delete", approver: "[email protected]" }, { match: "rippling.time_entries.delete", approver: "[email protected]" } ]}Cost
What Rippling costs on actionlake.
Every Rippling action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Rippling refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 362 Rippling actions
- 362actions pageeach page of a long list is one call
- 205reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Rippling action.
362 actions by area: the id your agent calls, what it does, and its effect.
Custom objects20
rippling.custom_objects.createCreate a new custom objectwriterippling.custom_objects.listList custom objectsreadrippling.custom_objects_fields.createCreate a new custom object fieldwriterippling.custom_objects_fields.listList custom object fieldsreadrippling.custom_objects.deleteDelete a custom objectdestructiverippling.custom_objects.getRetrieve a specific custom objectread- and 14 more in this area
Agents17
rippling.agents.createCreate a new agentwriterippling.agents.listList agentsreadrippling.agents_deployments.createDeploy an agent source revisionwriterippling.agents_deployments.listList agent deploymentsreadrippling.agents.deleteDelete an agentdestructiverippling.agents.getRetrieve an agentread- and 11 more in this area
Functions13
rippling.functions.createCreate a new functionwriterippling.functions.create_dev_bundleCreate a new function dev bundlewriterippling.functions.listList functionsreadrippling.functions_deployments.createCreate a new function deploymentwriterippling.functions.getRetrieve a specific functionreadrippling.functions.updateUpdate a functionwrite- and 7 more in this area
Metadata10
rippling.metadata.extract_by_identifiersExtract metadata components by identifierreadrippling.metadata_components.deployDeploy a metadata component packagewriterippling.metadata_components.validateValidate metadata componentswriterippling.metadata_deployment_runs.createStart an async metadata deployment runwriterippling.metadata.extractExtract existing metadata componentsreadrippling.metadata_deployment_runs.getGet async metadata deployment run statusread- and 4 more in this area
Listing9
rippling.listing.createCreate a new listingwriterippling.listing.delistDelist listingwriterippling.listing.getRetrieve a specific listingreadrippling.listing.listList listingreadrippling.listing.publishPublish listingwriterippling.listing.resubmitResubmit listingwrite- and 3 more in this area
Packages9
rippling.packages.createCreate a new packagewriterippling.packages.listList packagesreadrippling.packages_next_versions.createCreate a package version from a published versionwriterippling.packages_versions.createCreate a new package versionwriterippling.packages.deleteDelete a packagedestructiverippling.packages.getRetrieve a specific packageread- and 3 more in this area
Sites8
rippling.sites.createCreate a new sitewriterippling.sites.file_operationsApply file operations to a site bundlewriterippling.sites.listList Sitesreadrippling.sites.upload_batches_presignCreate a presigned staged upload batchwriterippling.sites.deleteDelete a sitedestructiverippling.sites.filesList files in the active bundleread- and 2 more in this area
Supergroups7
rippling.supergroups.listList supergroupsreadrippling.supergroups_exclusion_members.listList supergroup exclusion membersreadrippling.supergroups_inclusion_members.listList supergroup inclusion membersreadrippling.supergroups_members.listList supergroup membersreadrippling.supergroups.getRetrieve a specific supergroupreadrippling.supergroups_exclusion_members.updateUpdate supergroup exclusion memberswrite- and 1 more in this area
Workflows7
rippling.workflows.createCreate a workflowwriterippling.workflows.getRetrieve a workflowreadrippling.workflows.listList workflowsreadrippling.workflows_executions.createExecute a workflowwriterippling.workflows.deleteDelete a workflowdestructiverippling.workflows.updateUpdate a workflowwrite- and 1 more in this area
Job assignments6
rippling.job_assignments.createCreate a new job assignmentwriterippling.job_assignments.getRetrieve a specific job assignmentreadrippling.job_assignments.listList job assignmentsreadrippling.job_assignments.list_change_logList attribute change logsreadrippling.job_assignments.deleteDelete a job assignmentdestructiverippling.job_assignments.updateUpdate a job assignmentwrite
Job codes6
rippling.job_codes.createCreate a new job codewriterippling.job_codes.getRetrieve a specific job codereadrippling.job_codes.listList job codesreadrippling.job_codes.list_change_logList attribute change logsreadrippling.job_codes.deleteDelete a job codedestructiverippling.job_codes.updateUpdate a job codewrite
Background check candidates5
rippling.background_check_candidates.createCreate a new background check candidatewriterippling.background_check_candidates.deleteDelete a background check candidatedestructiverippling.background_check_candidates.getRetrieve a specific background check candidatereadrippling.background_check_candidates.listList background check candidatesreadrippling.background_check_candidates.updateUpdate a background check candidatewrite
Custom apps5
rippling.custom_apps.createCreate a new CustomAppwriterippling.custom_apps.deleteDelete a CustomAppdestructiverippling.custom_apps.getRetrieve a specific CustomAppreadrippling.custom_apps.listList CustomAppreadrippling.custom_apps.updateUpdate a CustomAppwrite
Custom pages5
rippling.custom_pages.createCreate a new CustomPagewriterippling.custom_pages.deleteDelete a CustomPagedestructiverippling.custom_pages.getRetrieve a specific CustomPagereadrippling.custom_pages.listList CustomPagereadrippling.custom_pages.updateUpdate a CustomPagewrite
Custom settings5
rippling.custom_settings.createCreate a new Settingwriterippling.custom_settings.deleteDelete a Settingdestructiverippling.custom_settings.getRetrieve a specific Settingreadrippling.custom_settings.listList Settingreadrippling.custom_settings.updateUpdate a Settingwrite
Job dimensions5
rippling.job_dimensions.createCreate a new job dimensionwriterippling.job_dimensions.deleteDelete a job dimensiondestructiverippling.job_dimensions.getRetrieve a specific job dimensionreadrippling.job_dimensions.listList job dimensionsreadrippling.job_dimensions.updateUpdate a job dimensionwrite
Kiosk badges5
rippling.kiosk_badges.createCreate a new kiosk badgewriterippling.kiosk_badges.deleteDelete a kiosk badgedestructiverippling.kiosk_badges.getRetrieve a specific kiosk badgereadrippling.kiosk_badges.listList kiosk badgesreadrippling.kiosk_badges.updateUpdate a kiosk badgewrite
Levels5
rippling.levels.createCreate a new levelwriterippling.levels.deleteDelete a leveldestructiverippling.levels.getRetrieve a specific levelreadrippling.levels.listList levelsreadrippling.levels.updateUpdate a levelwrite
Object categories5
rippling.object_categories.createCreate a new object categorywriterippling.object_categories.deleteDelete an object categorydestructiverippling.object_categories.getRetrieve a specific object categoryreadrippling.object_categories.listList object categoriesreadrippling.object_categories.updateUpdate an object categorywrite
Sandboxes5
rippling.sandboxes.createCreate a new sandboxwriterippling.sandboxes.developer_sandbox_entry_rolesGet the company and administrator role used to enter a developer sandbox.readrippling.sandboxes.getRetrieve a specific sandboxreadrippling.sandboxes.listList sandboxesreadrippling.sandboxes.deleteDelete a sandboxdestructive
Shift inputs5
rippling.shift_inputs.createCreate a new shift inputwriterippling.shift_inputs.deleteDelete a shift inputdestructiverippling.shift_inputs.getRetrieve a specific shift inputreadrippling.shift_inputs.listList shift inputsreadrippling.shift_inputs.updateUpdate a shift inputwrite
Software deployments5
rippling.software_deployments.createCreate a new software deploymentwriterippling.software_deployments.deleteDelete a software deploymentdestructiverippling.software_deployments.getRetrieve a specific software deploymentreadrippling.software_deployments.listList software deploymentsreadrippling.software_deployments.updateUpdate a software deploymentwrite
Teams5
rippling.teams.createCreate a new teamwriterippling.teams.getRetrieve a specific teamreadrippling.teams.listList teamsreadrippling.teams.updateUpdate a teamwriterippling.teams.deleteDelete a teamdestructive
Time entries5
rippling.time_entries.createCreate a new time entrywriterippling.time_entries.getRetrieve a specific time entryreadrippling.time_entries.listList time entriesreadrippling.time_entries.updateUpdate a time entrywriterippling.time_entries.deleteDelete a time entrydestructive
Titles5
rippling.titles.createCreate a new titlewriterippling.titles.getRetrieve a specific titlereadrippling.titles.listList titlesreadrippling.titles.updateUpdate a titlewriterippling.titles.deleteDelete a titledestructive
Tracks5
rippling.tracks.createCreate a new trackwriterippling.tracks.deleteDelete a trackdestructiverippling.tracks.getRetrieve a specific trackreadrippling.tracks.listList tracksreadrippling.tracks.updateUpdate a trackwrite
Variable compensation payout types5
rippling.variable_compensation_payout_types.createCreate a new variable compensation payout typewriterippling.variable_compensation_payout_types.deleteDelete a variable compensation payout typedestructiverippling.variable_compensation_payout_types.getRetrieve a specific variable compensation payout typereadrippling.variable_compensation_payout_types.listList variable compensation payout typesreadrippling.variable_compensation_payout_types.updateUpdate a variable compensation payout typewrite
Work locations5
rippling.work_locations.createCreate a new work locationwriterippling.work_locations.getRetrieve a specific work locationreadrippling.work_locations.listList work locationsreadrippling.work_locations.updateUpdate a work locationwriterippling.work_locations.deleteDelete a work locationdestructive
Worker time splits5
rippling.worker_time_splits.createCreate a new worker time splitwriterippling.worker_time_splits.deleteDelete a worker time splitdestructiverippling.worker_time_splits.getRetrieve a specific worker time splitreadrippling.worker_time_splits.listList worker time splitsreadrippling.worker_time_splits.updateUpdate a worker time splitwrite
Business partner groups4
rippling.business_partner_groups.createCreate a new business partner groupwriterippling.business_partner_groups.deleteDelete a business partner groupdestructiverippling.business_partner_groups.getRetrieve a specific business partner groupreadrippling.business_partner_groups.listList business partner groupsread
Business partners 4Business structure paths 4Departments 4Leave requests 4Payroll runs 4Schedules 4Shiftassignments 4Unassignedshifts 4Variable compensation payout labels 4Earnings inputs 3Job pay rate exceptions 3Leave accruals 3Package versions 3Scheduled job assignments 3Variable compensation payouts 3Activity log 2App users 2Bill payments 2Break policies 2Break types 2Card transactions 2Company legal entities 2Company legal entity workers 2Compensation bands details 2Compensations 2Developer program application 2Device orders 2Devices 2Draft transitions 2Employment types 2Files 2Headcount positions 2Headcount priorities 2Job functions 2Leave balances 2Leave types 2Legal entities 2Listing submissions 2Location factors 2Package installs 2Package managed installs 2Package sandbox links 2Package uninstalls 2Package upgrades 2Package version component updates 2Reimbursements 2Report runs 2Reports 2Spend categories 2Spend vendors 2Time cards 2Unassigned shifts 2Users 2Worker changes 2Workers 2Candidate applications 1Candidates 1Companies 1Custom fields 1Developer users 1Draft hires 1Earning types 1Employee documents 1Entitlements 1Hire requirements 1Hires 1Job requisitions 1Job requisitions write 1Leave program evaluations 1Listing transitions 1Payroll payment mode changes 1Permissions 1Platform capabilities 1Shift assignments 1SSO me 1Worker change fields 1Workflow action executions 1
This index shows a sample of each area. All 362 actions, with their inputs and prices, are in the catalogue, which a free sandbox key can search.
Questions
The Rippling MCP server, answered.
Is there a Rippling MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 362 Rippling actions across custom objects, agents, functions and metadata, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Rippling.
What do I need to connect Rippling?
Rippling API token: create one in Rippling > Settings > Company settings > API Tokens (an admin action) with the…. Plus your host. The free call account { op: "connections.requirements", service: "rippling" } lists exactly what to paste.
Can an AI agent delete or change things in Rippling?
Only if its key allows it, and only with an explicit confirmation. 35 Rippling actions are destructive, including delete a team, delete a work location and delete a time entry. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Rippling API limit?
actionlake paces every call to the limits in the Rippling service file: 10 calls a second per connection. Repeated reads are answered from cache (205 Rippling actions can be), which never reaches Rippling.
What does a Rippling action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (362 Rippling actions page). Cache hits, searches, dry runs and calls Rippling refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Rippling API does it cover?
The Rippling REST API 2024-08-01 (OpenAPI 3.0.3) at rest.ripplingapis.com by default, or the base URL set when you connect. It is built from Rippling's documentation as read on 22 October 2026. 362 actions in 107 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Rippling data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Rippling credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Rippling today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.