# Egencia MCP connector

The Egencia connector brings your company's business travel bookings, traveler profiles, approvals, receipts and duty of care reports into Claude, ChatGPT, Cursor and any MCP client, so each person works with Egencia in their own access and every action is logged.

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

## Facts

| | |
| --- | --- |
| Application | Egencia |
| Category | Travel |
| AI tools | 44 |
| Authentication | App credentials |
| 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. 44 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Egencia is connected

- Which Egencia bookings are waiting on approval today?
- List Egencia users added to the Sales group this month.
- Show denied Egencia booking items from last week.

## Connect Egencia in Elaichi

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

1. Open Connections, choose Add connection, and pick Egencia.
2. Optionally set Share with, then press Connect.
3. Paste your Egencia app credentials. Egencia authenticates the app rather than a person. One person supplies the credentials once, and everyone else works through Share with.

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

## Connect Egencia 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 Egencia 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 Egencia 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 Egencia 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 Egencia 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 Egencia through Elaichi

### Clear the approval queue before flights sell out

Travel management. Ask which Egencia bookings are waiting on you, see the traveler, route and cost, and approve or deny the whole trip or just one flight or hotel in it.

### Find every traveler in a city right now

Security and risk. When there is a strike, storm or incident, run an Egencia duty of care search for bookings in that location and get a report of who is there and when they leave.

### Pull the receipt for an expense query

Finance. Look up an Egencia booking by its reference and fetch the receipt, so a disputed hotel or airfare line can be matched without logging into the portal.

### Build the monthly travel spend report

Finance. Create an Egencia report across air, hotel, car and rail, or air only, to see spend by cost center before the month closes.

### Set up a new hire's traveler profile

HR and people operations. Create the Egencia user, add them to the right travel group, and fill in the cost center and project codes your company tracks as custom fields.

### Cancel one leg without losing the trip

Executive assistants. When plans change, cancel a single hotel night or flight segment in an Egencia booking rather than the entire itinerary, and confirm what remains.

## Frequently asked questions

### How do I connect Egencia to Claude?

Connect Egencia in Elaichi first. The Egencia sign-in step asks for the app credentials your company's Egencia account already provides, and there is no OAuth application to register and no client ID or secret to generate. Then in Claude open Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp as the endpoint. Sign in with your Elaichi account and Egencia is ready to use.

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

Yes. Once Egencia 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 Egencia once and every client you use picks it up.

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

With Egencia connected, an agent can look up a booking and its receipt, approve or deny trips and individual flights or hotels waiting for a decision, cancel a booking or one item in it, create and update traveler profiles and their group membership, and run duty of care searches and spend reports. Because Egencia offers many actions, the agent searches for the right one as you ask, so short concrete requests like "show approvals waiting on me" work better than long paragraphs.

### Does connecting Egencia give the AI access to every traveler and booking in my company?

No. Every request to Egencia runs as the person who signed in, so an agent sees only the travelers, bookings and reports that person can already see in Egencia. Elaichi can narrow that further, for example by hiding cancellations or user changes from a team, but it can never grant more than the person's own Egencia access.

### Can my team share one Egencia connection?

Yes. One person connects Egencia in Elaichi and shares it with a team, and nobody else ever handles the Egencia credentials. Each teammate still signs in to Elaichi as themselves, so every approval, cancellation or report is recorded under their own name in the audit log.

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

Yes. Restrictions in Elaichi work per action, so you can allow reading Egencia bookings and receipts while blocking cancellations, deletions or changes to traveler profiles. A blocked action is never shown to Claude, ChatGPT or any other client at all, so no prompt, accidental or otherwise, can reach it.

### What happens to an Egencia connection when someone leaves?

Offboarding the person in Elaichi ends their access to Egencia through every connected client at once. If they had shared an Egencia connection with a team, it keeps working for everyone else. If you want Egencia removed entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client together.

## All 44 Egencia tools

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

- **Egencia auth generate token** (Generate). Generate an OAuth2 access token for the Egencia API using the client credentials grant flow. Returns: access_token, token_type, expires_in. Required: client_id, grant_type.
- **List all Egencia users** (List). List all Egencia users for a company via the SCIM 2.0 User Sync API. Returns: schemas, id, userName, name, displayName, title, userType, active, emails, phoneNumbers, addresses, roles, groups, meta, urn:ietf:params:scim:schemas:extension:enterprise:2.0:User.0:User. Supports SCIM 2.0 standard filtering, sorting, and attribute selection.
- **Create a Egencia user** (Create). Create a user in Egencia using the SCIM v1 User Sync API. The request body follows the SCIM 2.0 core User schema and the enterprise extension schema. Returns the created SCIM user object including its id, schemas, and userName.
- **Get single Egencia user by ID** (Get). Get a single Egencia user by id via the SCIM 2.0 User Sync API. Returns the complete SCIM user profile including its id, schemas, core user attributes, and enterprise extension attributes. Required: id.
- **Update a Egencia user by ID** (Update). Update a complete Egencia user profile by id using the SCIM 2.0 protocol; the full user profile must be sent in the request body. Returns: id, schemas, userName, name, title, emails, phoneNumbers, addresses, active, roles, userType, meta. Required: id, schemas, userName.
- **Delete a Egencia user by ID** (Delete). Delete an Egencia user by id via the SCIM v1 User Sync API. Returns an empty 204 response on success. Required: id.
- **Egencia users partial update** (Update). Partially update a specific Egencia user profile by id using SCIM 2.0 PATCH operations. Returns the updated user resource including id, userName, schemas, active, and meta. Required: id. Supported operations are "add", "remove", and "replace".
- **List all Egencia groups** (List). List Egencia SCIM groups, including arranger groups used for travel arranger role associations. Returns each group with its id, displayName, members, schemas, and meta. Follows SCIM 2.0 protocol.
- **Get single Egencia group by ID** (Get). Get a specific Egencia arranger group by its id following the SCIM 2.0 protocol. Returns: schemas, id, displayName, members, meta. Required: id.
- **Egencia approvals approve booking** (Approve). Approve an Egencia booking by booking id. Returns an empty 204 response on success. Required: booking_id.
- **Egencia approvals deny booking** (Action). Deny an Egencia booking by booking id. Returns an empty 204 response on success. Required: booking_id.
- **Egencia approvals approve booking item** (Approve). Approve a specific item within an Egencia booking. Returns an empty 204 response on success. Required: booking_id, item_id.
- **Egencia approvals deny booking item** (Action). Deny a specific item within an Egencia booking. Returns an empty 204 response on success. Required: booking_id, item_id.
- **List all Egencia cdfs** (List). List all Custom Data Field (CDF) definitions for an Egencia company. Returns each definition's code, fieldType, id, maxLength, name, rules, and status. Required: company_id.
- **Egencia duty of care search bookings** (Search). Search Egencia Duty of Care bookings by partner and date range. Returns paginated booking data and metadata for travellers within the specified date range, including booking details by line of business (FLIGHT, CAR, HOTEL, TRAIN). Required: partner_id, start_date_time, end_date_time, company_id. Dates must use format YYYY-MM-DDTHH:MM:SSZ and cannot be in the future; start_date_time must not…
- **Egencia duty of care get report** (Get). Pull report data for a specific Egencia Duty of Care document by doc_id. Returns the report data as a HAL+JSON response; the upstream source does not document specific response fields. Required: doc_id.
- **Egencia bookings cancel** (Cancel). Cancel an entire Egencia booking at the trip level, cancelling all trip items in the booking. Returns per-item cancellation status along with error details for any items that fail. Returns: status, error_code, error_message. Required: booking_id.
- **Egencia bookings cancel item** (Cancel). Cancel a single trip item within an Egencia booking at the trip item level. Returns the action-level status of the cancellation request. Returns: status, error_code, error_message. Required: booking_id, item_id.
- **Delete a Egencia booking by ID** (Delete). Delete an entire Egencia booking at the trip level, deleting all eligible trip items and returning per-item statuses. Returns the action-level status along with per-item deletion results. Returns: status, error_code, error_message. Required: booking_id.
- **Egencia bookings delete item** (Delete). Delete a single trip item within an Egencia booking at the trip item level. Returns the action-level status of the deletion request. Returns: status, error_code, error_message. Required: booking_id, item_id.
- **Get single Egencia booking by ID** (Get). Get a single Egencia booking by id. The response is returned in HAL+JSON format. Returns: id. Required: id.
- **Get single Egencia receipt by ID** (Get). Get a receipt PDF from Egencia by item id. Returns the receipt as a binary PDF download (application/octet-stream). Required: id.
- **Egencia reports create all lob** (Create). Create a transaction report covering all Lines of Business in Egencia. Returns the created report object including its id and report attributes. Required: start_date, end_date.
- **Egencia reports create air** (Create). Create an air booking transaction report in Egencia, supporting report levels of ticket, segment, or leg. Returns the created report object including its id and report attributes.
- **Egencia reports create hotel** (Create). Create a hotel booking transaction report in Egencia. Returns the created report object including its id and report attributes.
- **Egencia reports create car** (Create). Create a car booking transaction report in Egencia's Business Intelligence API. Returns a generated report covering car rental transactions for the requested date range. Required: start_date, end_date.
- **Egencia reports create train** (Create). Create transaction reports for train bookings in Egencia. Supports report_level: ticket. Returns: data. Required: report_level.
- **Create a Egencia validate field** (Create). Validate booking fields in Egencia against configured CDF validation rules. Returns: errors, valid. Requires a CDFValidationRequest JSON body.
- **Get single Egencia company by ID** (Get). Get Egencia company information for a specific company by id, including its name, display_name, and other company details. Required: id.
- **Egencia SSO create context** (Create). Create an Egencia SSO context to enable a seamless Single Sign-On login experience allowing travelers to log in with their company credentials. Returns: context_id.
- **Egencia SSO get context** (Get). Get an Egencia SSO context by context_id to retrieve the Single Sign-On login context for a traveler. Returns: context_id. Required: context_id.
- **List all Egencia users v 2** (List). List all users of a company in Egencia following the SCIM 2.0 protocol. Returns a collection of user records from the Resources array, each including standard SCIM attributes such as id, userName, name, emails, and active.
- **Create a Egencia users v 2** (Create). Create a new Egencia user via the SCIM 2.0 User Sync API (v2). Returns the created user resource including id, userName, name, emails, and active. Required: schemas, userName.
- **Get single Egencia users v 2 by ID** (Get). Get a single Egencia user by id via the SCIM v2 User Sync API. Returns the SCIM 2.0 user resource including schemas, id, userName, name, displayName, emails, phoneNumbers, active, title, and meta. Required: id.
- **Update a Egencia users v 2 by ID** (Update). Update a complete Egencia user profile by id via SCIM v2. The entire user profile must be sent in the request body — partial updates require the PATCH endpoint. Returns: schemas, id, userName, name, displayName, emails, phoneNumbers, active, title, meta. Required: id.
- **Egencia users v 2 partial update** (Update). Update specific fields in an Egencia user profile using SCIM PATCH operations. Returns the updated user object including id, userName, userType, emails, and roles. Required: id, schemas, Operations. Supported operations: add, remove, and replace.
- **Delete a Egencia users v 2 by ID** (Delete). Delete an Egencia user by id via the SCIM v2 User Sync API. Returns an empty 204 response on success. Required: id.
- **List all Egencia cdf values** (List). List all CDF values for a company and CDF definition in Egencia. Returns: id, value, description, childCount, parentCount. Required: company_id, definition_id.
- **Create a Egencia cdf value** (Create). Create a new CDF value for a CDF of field type List in Egencia. Returns: id, value, description, childCount, parentCount. Required: company_id, definition_id, value.
- **Get single Egencia cdf value by ID** (Get). Get a single linked CDF value by id in Egencia, including its child and parent linked values. Returns: id, value, description, childCount, parentCount, links. Required: company_id, definition_id, id.
- **Update a Egencia cdf value by ID** (Update). Update a CDF value for a CDF of field type List in Egencia. Returns: id, value, description, childCount, parentCount. Required: company_id, definition_id, id, value.
- **Delete a Egencia cdf value by ID** (Delete). Delete a CDF value for a CDF of field type List in Egencia. Returns an empty 204 response on success. Required: company_id, definition_id, id.
- **Egencia cdf values bulk update** (Update). Update a CDF value's child/parent links in Egencia by adding or removing link associations via JSON Patch operations. Returns: childCount, description, id, links, parentCount, value. Required: company_id, definition_id, value_id. Available for CC1/CC2 linking for offices in EU/APAC.
- **List all Egencia search users** (List). Search Egencia users using the SCIM 2.0 POST .search endpoint. Returns complete user profile details including id, userName, emails, displayName, and active status. The response follows the SCIM 2.0 core User schema.
