# Torii MCP connector

Connect Torii to Elaichi and your app inventory, users, contracts, and audit logs become available to Claude, ChatGPT, Cursor, and the Elaichi Agent, with each person working inside their own Torii access and every call logged.

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

## Facts

| | |
| --- | --- |
| Application | Torii |
| Category | SSO |
| AI tools | 26 |
| 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 Torii is connected

- List Torii applications with no active users this quarter.
- Which Torii contracts renew in the next 60 days?
- Show users in Torii holding more than ten applications.

## Connect Torii in Elaichi

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

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

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

### Check who still uses an app before renewal

IT. Ask which people are assigned to a given application in Torii and how many of them are still active, so the renewal conversation starts with real numbers instead of a guess.

### Pull every contract renewing this quarter

Finance. List the Torii contracts coming up for renewal, compare their values, and update a contract's terms or owner once the vendor confirms the new pricing.

### Log a new contract the day it is signed

Procurement. Create the contract record in Torii, attach the signed PDF, and link it to the right application so nobody has to hunt for the paperwork later.

### Review what changed in Torii and who did it

Security. Read the Torii audit log to see which users, applications, and contracts were edited, and check role assignments when an access review comes around.

### Confirm a leaver's app list during offboarding

People operations. Look up every application a departing employee holds in Torii, mark them as offboarded, and update their user record so the license count is right by the end of the day.

### Add a newly discovered app to the inventory

IT. Search Torii to see whether a tool someone expensed is already tracked, and if not, create the app record and assign an owner so it stops being shadow IT.

## Frequently asked questions

### How do I connect Torii to Claude?

Two steps. First, connect Torii in Elaichi by pasting a Torii API key, which you can generate from your Torii admin settings; there is no OAuth application to register and no client ID or secret to create. Second, open Claude, go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. Claude then asks you to sign in to Elaichi, and from that point Torii is available inside your conversations.

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

Yes. Once Torii 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 Torii once and use it from whichever client you happen to be working in.

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

With Torii connected, an agent can look up the applications in your inventory, see which people are assigned to each one, and read or update user records. It can list, create, update, and delete contracts, attach files such as signed agreements, search for an app by name, and read the Torii audit log and workflow history. In practice that means asking questions like which contracts renew next month, or which apps a leaving employee still holds, and getting an answer from live Torii records.

### Does connecting Torii give the AI access to my whole Torii workspace?

No. Every call to Torii runs with the access of the person who signed in to Elaichi, so an agent sees only the applications, users, and contracts that person could already see in Torii. Elaichi can narrow that access further, for example by blocking contract deletion for a whole team, but it can never grant more than the person's own Torii permissions allow.

### Can my team share one Torii connection?

Yes. One administrator connects Torii in Elaichi with an API key and shares that connection with a team, and nobody else on the team ever sees or handles the key. Each teammate still signs in to Elaichi as themselves, so the audit log records exactly who asked for a contract update or a user change, even though they are all working through the same Torii connection.

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

Yes. Restrictions in Elaichi apply per action, so you can allow reading Torii contracts and applications while blocking deletion, or allow user lookups while blocking updates. A blocked action is never advertised to Claude, ChatGPT, Cursor, or any other client, so there is no prompt, accidental or otherwise, that can reach it.

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

When you offboard a person in Elaichi, their access to Torii through every connected client ends immediately, and a shared Torii connection keeps working for everyone else on the team. If you want to remove Torii entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client at the same time.

## All 26 Torii tools

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

- **List all Torii me** (List). Get the organization profile in Torii. Returns id, companyName, domain, and creationTime fields in the response.
- **List all Torii users** (List). List users in Torii. Returns key fields such as id, firstName, lastName, email, lifecycleStatus, isDeletedInIdentitySources, isExternal, and activeAppsCount.
- **Get single Torii user by ID** (Get). Get user in Torii using id. Returns key fields such as id, firstName, lastName, email, role, lifecycleStatus, and creationTime to identify the user's state and access details.
- **Update a Torii user by ID** (Update). Update a specific user in Torii using id. Requires lifecycleStatus in the request body. Returns user details including id, email, role, lifecycleStatus, and creationTime.
- **List all Torii application users** (List). List application users in Torii for a specific application using id_app. Returns users with key fields such as email, fullName, status, appName, and user activity details including creationTime, lastVisitTime, and lifecycleStatus.
- **List all Torii user applications** (List). List user applications for a specific user in Torii. Requires id_user. Returns each application's id, name, isUserRemovedFromApp, and state fields indicating the user's association and app status.
- **Get single Torii user application by ID** (Get). Get user application in Torii. Requires id_user and id. Returns app fields including id, name, isUserRemovedFromApp, and state.
- **Update a Torii user application by ID** (Update). Update a user application in Torii using id_user and id. Returns app fields including id, name, isUserRemovedFromApp, and state to confirm the update result.
- **List all Torii contracts** (List). List contracts in Torii for the organization. Returns an array of contract objects with fields such as id, name, status, and idApp. Multi-currency fields are returned in contract currency.
- **Create a Torii contract** (Create). Create a new contract in Torii. Requires name, idApp, and status in the request body. Returns contract fields including id, name, and status. Dates must be in ISOString format; currency cannot be a top-level field.
- **Get single Torii contract by ID** (Get). Get contract in Torii using id. Returns contract fields including id (unique identifier), name (contract name), and status (contract status). Rate limit: 800 requests per minute.
- **Delete a Torii contract by ID** (Delete). Delete a specific contract in Torii using id. Returns no content on success. Rate limit: 200 requests per minute.
- **Update a Torii contract by ID** (Update). Update a contract in Torii using id. Supports numeric or object-based amount fields for specifying currency values. Returns contract id, name, and status in the response.
- **List all Torii roles** (List). List roles in Torii for the organization. Returns each role with fields id, systemKey, name, description, isAdmin, and usersCount. Rate limit: 100 requests per minute.
- **List all Torii workflow action executions** (List). List workflow-action-executions in Torii sorted by creationTime in descending order. Returns fields like id, idWorkflow, idAction, isRun, isCompleted, and creationTime for each execution along with nextCursor, count, and total in the response.
- **List all Torii apps** (List). List apps used in the organization in Torii. Returns each app’s id, name, state, category, description, tags, primaryOwner, and other relevant details.
- **Get single Torii app by ID** (Get). Get a specific app in Torii using id. Returns fields including id, name, state, category, url, description, and primaryOwner details for identification and ownership info. Rate limit: 400 requests per minute.
- **Create a Torii app** (Create). Create a new app in Torii. Returns the created app's id, name, state, url, category, description, tags, and isHidden fields. Rate limit: 200 requests per minute.
- **Update a Torii app by ID** (Update). Update app in Torii by id. Updates app fields including custom fields defined via custom Application Details. Returns app fields: id, name, state, url, category, description, tags, and isHidden.
- **Torii apps search** (Search). Search apps in Torii's catalog using the required parameter q. Returns an array of apps with fields: id, name, category, imageUrl, url, and isHidden.
- **Get single Torii file by ID** (Get). Get information about a specific file in Torii using id. Returns id, type, fileName, creationTime, and uploadedBy fields describing the file metadata.
- **Create a Torii file** (Create). Create a new file record in Torii using parameters path and type. Returns id, a unique file identifier for the stored record.
- **Torii files upload** (Upload). Upload a small file (up to 3MB) to Torii. Requires file and type. Supported formats include .csv, .xls, .xlsx, .pdf, .doc, .docx, .png, .jpg, .jpeg, .xml, .json, .zip. Returns id representing the uploaded file.
- **List all Torii audit logs** (List). List admin audit logs in Torii. Returns performedBy, performedByEmail, idTargetOrg, creationTime, type, requestDetails, and properties fields in the response. Results are sorted by creationTime in descending order.
- **List all Torii user custom fields** (List). List user custom fields in Torii for connected integrations. Returns fields with id, idOrg, sourceIdApp, name, type, key, and isDeleted.
- **List all Torii user field metadata** (List). List user fields metadata in Torii including predefined and custom fields. Returns key details such as name, systemKey, type for predefinedFields and idField, name, systemKey, type for customFields. The list of dropdown options is not included.
