# O'Reilly MCP connector

The O'Reilly connector brings learner account management into Elaichi, so once connected, Claude, ChatGPT, Cursor, or any MCP client can list, create, update, and remove O'Reilly user accounts inside each person's own permissions, with every change logged.

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

## Facts

| | |
| --- | --- |
| Application | O'Reilly |
| Category | HRIS |
| AI tools | 11 |
| 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 | Yes |

## What you can ask once O'Reilly is connected

- List O'Reilly SCIM users added this month.
- Create an O'Reilly SCIM user for our new analyst.
- Which O'Reilly users are marked inactive right now?

## Connect O'Reilly in Elaichi

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

1. Open Connections, choose Add connection, and pick O'Reilly.
2. Optionally set Share with, then press Connect.
3. Paste an O'Reilly API key. One person generates a token in O'Reilly 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 O'Reilly tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect O'Reilly 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 O'Reilly 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 O'Reilly 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 O'Reilly 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 O'Reilly 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 O'Reilly through Elaichi

### Set up a new hire's learning seat

People Operations. Create the O'Reilly account for someone starting Monday with their name, work email, and active status, so they can sign in on day one without a ticket to IT.

### Remove access the day someone leaves

IT. Look up a departing employee's O'Reilly account by email and deactivate or delete it as part of the offboarding checklist, then confirm it is gone.

### Find out who actually has a seat

Learning and Development. Pull the full list of O'Reilly users, see who is active, and spot people who were provisioned months ago but never fit the current team roster.

### Fix a name or email after a change

IT. When someone changes their surname or moves to a new email domain, update just that field on their O'Reilly account rather than recreating the whole record.

### Onboard a whole squad at once

Engineering. Give a manager a way to request O'Reilly accounts for six new contractors in one go, with each account created from the list they paste in.

### Reconcile seats before the renewal

Finance. Count active O'Reilly accounts against the seats on the contract, and list the inactive ones so the renewal conversation starts from real numbers.

## Frequently asked questions

### How do I connect O'Reilly to Claude?

Two steps. In Elaichi, choose O'Reilly and paste the API key from your O'Reilly admin settings, 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 as the endpoint. Sign in to Elaichi as yourself and O'Reilly appears in Claude.

### Does O'Reilly work with ChatGPT and Cursor as well as Claude?

Yes. Once O'Reilly 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 O'Reilly once and use it everywhere you already work.

### What can an AI agent actually do with my O'Reilly accounts?

An agent connected through Elaichi can list every O'Reilly user account, look one up by its ID, create an account for a new hire, correct a name or email, mark someone inactive, or delete an account entirely. It can also read the account fields O'Reilly supports so it fills in records correctly. It works with learner accounts, not with course content or reading history.

### Does connecting O'Reilly give the AI full admin rights over every account?

No more than the person using it has. The O'Reilly API key sets the outer limit, and each person signs in to Elaichi as themselves, so their role decides which O'Reilly actions they can reach. Elaichi can narrow that further, for example to viewing accounts only, but it can never grant more than the O'Reilly key itself allows.

### Can my team share one O'Reilly connection?

Yes. One admin connects O'Reilly with the API key and shares the connection with the people team or IT, and nobody else ever sees or handles that key. Each teammate still signs in to Elaichi as themselves, so the audit log records exactly who created, changed, or removed each O'Reilly account.

### Can I stop an agent from deleting or changing O'Reilly accounts?

Yes. Restrictions in Elaichi apply per action, so you can allow listing and looking up O'Reilly users while blocking creating, updating, or deleting them. 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 an O'Reilly connection when someone leaves the company?

Offboarding that person in Elaichi ends their access to O'Reilly through every client at once, without touching the API key or anyone else. A connection they shared with the team keeps working for everyone who remains. If you ever want O'Reilly gone entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client together.

## All 11 O'Reilly tools

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

- **List all O'Reilly SCIM resource types** (List). List SCIM ResourceTypes available in O'Reilly. Returns: schemas, id, name, endpoint, description, schema, meta. No required parameters.
- **List all O'Reilly resource types users** (List). Get the SCIM ResourceType definition for the User resource type in O'Reilly. Returns: schemas, id, name, endpoint, description, schema, meta.
- **List all O'Reilly SCIM schemas** (List). List SCIM resource schemas available in the O'Reilly SCIM API. Returns: id, name, description, attributes, meta. Each schema describes its attributes' type, mutability, required flag, and sub-attributes.
- **List all O'Reilly SCIM users** (List). List SCIM users in O'Reilly. Returns: schemas, id, meta, active, name, displayName, userName, externalId, emails. Supports SCIM filter expressions on userName, name.givenName, name.familyName, id, active, and emails (primary email only).
- **Create a O'Reilly SCIM user** (Create). Create a new SCIM user in O'Reilly. Returns the created user object including id, userName, displayName, active, externalId, name, and emails.
- **Get single O'Reilly SCIM user by ID** (Get). Get a single SCIM user by id in O'Reilly. Returns: schemas, id, meta, active, displayName, userName, externalId, emails, example, name. Required: id.
- **Update a O'Reilly SCIM user by ID** (Update). Update a provisioned O'Reilly SCIM user by replacing all attributes. You must provide the full user record as if provisioning for the first time; use PATCH for partial updates. Returns: schemas, id, meta, active, displayName, userName, externalId, emails, example, name. Required: id.
- **Delete a O'Reilly SCIM user by ID** (Delete). Delete a provisioned O'Reilly SCIM user by id. This action is irreversible; to deactivate without removing data, use update with active set to false instead. Returns an empty 204 response on success. Required: id.
- **O'Reilly SCIM users partial update** (Update). Partially update an O'Reilly SCIM user's individual attributes using SCIM PATCH Operations. Returns: schemas, id, meta, active, name, displayName, userName, externalId, emails. Only add and replace operations are supported; remove is not supported. Required: id.
- **List all O'Reilly SCIM service provider configs** (List). Retrieve the O'Reilly SCIM ServiceProviderConfig describing supported SCIM features and authentication schemes. Returns: schemas, documentationUri, patch, bulk, filter, changePassword, sort, etag, authenticationSchemes.
- **List all O'Reilly SCIM user schemas** (List). Retrieve the O'Reilly SCIM User schema definition, which describes the supported attributes for user resources including userName, externalId, active, name (familyName, givenName), and emails. Returns: id, name, description, attributes, meta.
