Skip to content

Connectors · Work & projects

TravelPerk (Perk) MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to TravelPerk (Perk) and the rest of your systems. It gives your agent 41 TravelPerk (Perk) actions (26 reads, 13 writes and 2 that wait for a confirmation) and holds the TravelPerk (Perk) credential itself, so the agent never does. It paces TravelPerk (Perk)'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/mcp
the first call
do {  action: "travelperk.users.list",  intent: "check which TravelPerk (Perk) account is connected"}# List users · read · 1 upstream call
  • 41actionsin one signed file
  • 26readlook, never change
  • 13writecreate and update
  • 2wait for a yesdestructive, confirmed first

Set up

Connect TravelPerk (Perk) in three steps.

  1. 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
  2. 02

    Connect TravelPerk (Perk).

    API key. 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_keyPerk (TravelPerk) API key
    account { op: "connections.requirements", service: "travelperk" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "travelperk.users.list" }# list users · read · 1 upstream callcheck { action: "travelperk.scim_users.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

TravelPerk (Perk) at a glance

Sign-in
API key. 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_key
Limits we pace to
200 calls a minute and 10 a second, per connection
API covered
Perk API v1 (Api-Version: 1) and Perk SCIM 2.0api.perk.com
Built from
TravelPerk (Perk)'s documentation, read 23 October 2026developers.perk.comdevelopers.perk.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
24 of 26 reads, for up to 5 minutes; a write clears what it affects
Shared entities
3, so ask can line TravelPerk (Perk) up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in TravelPerk (Perk).

41 actions in 16 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 26readlook, never change
  • 13writecreate and update
  • 2destructivewait for a confirmation
  1. Cost centers

    7

    2 read · 5 write · 0 destructive

    Create a cost center · List cost centers · Bulk update cost centers · Get a cost center

  2. Scim users

    6

    2 read · 3 write · 1 destructive

    Create a user (SCIM) · Get a user (SCIM) · Update a user (SCIM PATCH) · List users (SCIM)

  3. Webhooks

    6

    2 read · 3 write · 1 destructive

    Create a webhook endpoint · List webhook endpoints · Update a webhook endpoint · Get a webhook endpoint

  4. Scim schemas

    5

    5 read · 0 write · 0 destructive

    List SCIM schemas · Get the SCIM core user schema · Get the Perk custom fields user extension schema · Get the SCIM enterprise user extension schema

  5. Custom field options

    3

    1 read · 2 write · 0 destructive

    Create select options on a custom field · List a custom field's select options · Archive or unarchive a select option

  6. Trips

    3

    3 read · 0 write · 0 destructive

    List trips · Get a trip · Get a trip's custom field values

  7. Invoices

    2

    2 read · 0 write · 0 destructive

    List invoices · Get an invoice

  8. Bookings

    1

    1 read · 0 write · 0 destructive

    List bookings

8 more areas · 8 actions
  • Companies 1
  • Invoice lines 1
  • Invoice profiles 1
  • Scim resource types 1
  • Scim service provider config 1
  • Suppliers 1
  • Users 1
  • Webhook events 1

Top actions

The TravelPerk (Perk) API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 17 of TravelPerk (Perk)'s 17 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
travelperk.users.listList usersList users.readidentity.user.list474 connectors
travelperk.scim_users.createCreate a user (SCIM)Create a user (SCIM).writeidentity.user.create262 connectors
travelperk.scim_users.updateUpdate a user (SCIM PATCH)Update a user (SCIM PATCH).writeidentity.user.update280 connectors
travelperk.suppliers.listList suppliers of booked servicesList suppliers of booked services.readasset.supplier.list41 connectors
travelperk.webhooks.createCreate a webhook endpointCreate a webhook endpoint.writeautomation.webhook.create209 connectors
travelperk.webhooks.listList webhook endpointsList webhook endpoints.readautomation.webhook.list202 connectors
travelperk.webhook_events.listList the webhook event typesList the webhook event types.readautomation.webhook_event_type.list18 connectors
travelperk.invoices.listList invoicesList invoices.readplatform.invoice.list26 connectors
travelperk.webhooks.deleteDelete a webhook endpointDelete a webhook endpoint.destructiveautomation.webhook.delete211 connectors
travelperk.invoices.getGet an invoiceGet an invoice.readplatform.invoice.get18 connectors
travelperk.trips.listList tripsList trips.readthis connector
travelperk.bookings.listList bookingsList bookings.readthis connector

Try it

Prompts to paste into Claude.

Each one names the TravelPerk (Perk) actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    Who has access in TravelPerk (Perk)? List every user and their role.

    callstravelperk.users.list

  2. Writewrite

    Create a user (SCIM) in TravelPerk (Perk). Show me exactly what you will send before you save it.

    callstravelperk.scim_users.create

Governance for TravelPerk (Perk)

Destructive actions wait for a yes.

2 TravelPerk (Perk) actions are destructive. These are all of them:

  • Delete a webhook endpointtravelperk.webhooks.delete
  • Deactivate a user (SCIM)travelperk.scim_users.deactivate

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.

dotravelperk.webhooks.deleteconfirm_policy: human

Delete a webhook endpoint?

intent: the user asked me to delete a webhook endpoint

run suspended · waiting for a named person · key travelperk-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "travelperk-agent",  allowed_actions: ["travelperk.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "travelperk.webhooks.delete", approver: "[email protected]" },    { match: "travelperk.scim_users.deactivate", approver: "[email protected]" }  ]}
Illustrative. Scoped to TravelPerk (Perk) only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What TravelPerk (Perk) costs on actionlake.

Every TravelPerk (Perk) action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call TravelPerk (Perk) 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 41 TravelPerk (Perk) actions
  • 41actions pageeach page of a long list is one call
  • 24reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every TravelPerk (Perk) action.

41 actions by area: the id your agent calls, what it does, and its effect.

Cost centers7
  • travelperk.cost_centers.bulk_updateBulk update cost centerswrite
  • travelperk.cost_centers.createCreate a cost centerwrite
  • travelperk.cost_centers.getGet a cost centerread
  • travelperk.cost_centers.listList cost centersread
  • travelperk.cost_centers.set_accessSet a cost center's access configurationwrite
  • travelperk.cost_centers.set_usersSet the users assigned to a cost centerwrite
  • travelperk.cost_centers.updateUpdate a cost centerwrite
Scim users6
  • travelperk.scim_users.createCreate a user (SCIM)write
  • travelperk.scim_users.deactivateDeactivate a user (SCIM)destructive
  • travelperk.scim_users.getGet a user (SCIM)read
  • travelperk.scim_users.listList users (SCIM)read
  • travelperk.scim_users.replaceReplace a user (SCIM)write
  • travelperk.scim_users.updateUpdate a user (SCIM PATCH)write
Webhooks6
  • travelperk.webhooks.createCreate a webhook endpointwrite
  • travelperk.webhooks.deleteDelete a webhook endpointdestructive
  • travelperk.webhooks.getGet a webhook endpointread
  • travelperk.webhooks.listList webhook endpointsread
  • travelperk.webhooks.testSend a test notification to a webhook endpointwrite
  • travelperk.webhooks.updateUpdate a webhook endpointwrite
Scim schemas5
  • travelperk.scim_schemas.get_core_userGet the SCIM core user schemaread
  • travelperk.scim_schemas.get_custom_fields_userGet the Perk custom fields user extension schemaread
  • travelperk.scim_schemas.get_enterprise_userGet the SCIM enterprise user extension schemaread
  • travelperk.scim_schemas.get_travelperk_userGet the Perk user extension schemaread
  • travelperk.scim_schemas.listList SCIM schemasread
Custom field options3
  • travelperk.custom_field_options.createCreate select options on a custom fieldwrite
  • travelperk.custom_field_options.listList a custom field's select optionsread
  • travelperk.custom_field_options.set_archivedArchive or unarchive a select optionwrite
Trips3
  • travelperk.trips.getGet a tripread
  • travelperk.trips.get_custom_fieldsGet a trip's custom field valuesread
  • travelperk.trips.listList tripsread
Invoices2
  • travelperk.invoices.getGet an invoiceread
  • travelperk.invoices.listList invoicesread
Bookings1
  • travelperk.bookings.listList bookingsread
Companies1
  • travelperk.companies.listList the account's companiesread
Invoice lines1
  • travelperk.invoice_lines.listList invoice linesread
Invoice profiles1
  • travelperk.invoice_profiles.listList invoice profilesread
Scim resource types1
  • travelperk.scim_resource_types.listList SCIM resource typesread
Scim service provider config1
  • travelperk.scim_service_provider_config.getGet the SCIM service provider configurationread
Suppliers1
  • travelperk.suppliers.listList suppliers of booked servicesread
Users1
  • travelperk.users.listList usersread
Webhook events1
  • travelperk.webhook_events.listList the webhook event typesread

Questions

The TravelPerk (Perk) MCP server, answered.

Is there a TravelPerk (Perk) MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 41 TravelPerk (Perk) actions across cost centers, scim users, webhooks and scim schemas, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by TravelPerk (Perk).

What do I need to connect TravelPerk (Perk)?

Perk (TravelPerk) API key. The free call account { op: "connections.requirements", service: "travelperk" } lists exactly what to paste.

Can an AI agent delete or change things in TravelPerk (Perk)?

Only if its key allows it, and only with an explicit confirmation. 2 TravelPerk (Perk) actions are destructive, including delete a webhook endpoint and deactivate a user (SCIM). 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 TravelPerk (Perk) API limit?

actionlake paces every call to the limits in the TravelPerk (Perk) service file: 200 calls a minute and 10 a second per connection. Repeated reads are answered from cache (24 TravelPerk (Perk) actions can be), which never reaches TravelPerk (Perk).

What does a TravelPerk (Perk) action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (41 TravelPerk (Perk) actions page). Cache hits, searches, dry runs and calls TravelPerk (Perk) 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 TravelPerk (Perk) API does it cover?

The Perk API v1 (Api-Version: 1) and Perk SCIM 2.0 at api.perk.com. It is built from TravelPerk (Perk)'s documentation as read on 23 October 2026. 41 actions in 16 areas, each one in the signed service file (version 1.0.0).

Does actionlake keep my TravelPerk (Perk) 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 TravelPerk (Perk) 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 TravelPerk (Perk) today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.