# Riza MCP connector

The Riza connector lets Claude, ChatGPT, Cursor, or any MCP client run code, call tools, and manage runtimes and secrets in Riza, with each request tied to the person who signed in and recorded in an audit log.

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

## Facts

| | |
| --- | --- |
| Application | Riza |
| Category | Application Development |
| AI tools | 19 |
| 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 Riza is connected

- Which Riza commands failed in the last 24 hours?
- List every Riza runtime revision created this week.
- Summarize Riza execution volume by runtime for the sprint.

## Connect Riza in Elaichi

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

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

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

### Run a snippet safely before shipping it

Engineering. Ask the agent to execute a piece of code in a Riza runtime and report what came back. Check the result without touching a laptop or a production box.

### Set up a new runtime with its packages

Platform. Describe the language and dependencies you need, and the agent creates the Riza runtime and a revision to match. List what already exists first so nothing is duplicated.

### Turn a one-off script into a reusable tool

Data. Give the agent a working function and have it saved as a Riza tool, then run it again with new inputs whenever the question comes up. Update the tool as the logic changes.

### Keep credentials out of the code itself

Security. Store an API token as a Riza secret so scripts can reference it by name. Review the list of secrets in place before a new runtime goes live.

### Reproduce a customer problem in isolation

Support. Run the exact code a customer sent inside a Riza runtime and see the error for yourself. Pull up the execution afterward to share the output with the engineer who owns the fix.

### Review what ran and clean up old runtimes

Operations. List recent Riza executions and check a single one by ID when something looks off. Remove runtimes nobody uses any more so the account stays tidy.

## Frequently asked questions

### How do I connect Riza to Claude?

Connect Riza in Elaichi first: paste the API key from your Riza account when prompted, and the connection is ready. Then in Claude open Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp as the endpoint. There is no OAuth application to register in Riza and no client ID or secret to generate.

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

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

### What can an AI agent actually do with my Riza account?

Through Elaichi an agent can run code, call a saved function, or execute a tool in Riza and hand you the output. It can create and list runtimes, add revisions with new packages, save and update tools, store secrets, and look up past executions by ID. It cannot delete tools, secrets, or executions, because Riza does not expose that through this connector.

### Does connecting Riza give the AI access to everything in my Riza account?

An agent working through Elaichi can only do what the Riza API key it was connected with allows, and Elaichi can narrow that further with restrictions. It never widens access beyond what the person who connected Riza already has. Every call is recorded against the person who made it.

### Can my team share one Riza connection?

Yes. One person connects Riza in Elaichi and shares the connection with a team, and nobody else ever sees or handles the Riza API key. Each teammate still signs in to Elaichi as themselves, so the audit log shows exactly who ran which code or created which runtime.

### Can I stop an agent from deleting runtimes or changing tools in Riza?

Yes. Restrictions in Elaichi apply per action, so you can allow running code in Riza while blocking runtime deletion or tool updates. A blocked action is never shown to Claude, ChatGPT, Cursor, or any other client, so no prompt can reach it.

### What happens to a Riza connection when someone leaves the company?

Offboarding a person in Elaichi ends their access to Riza at once, across every client they used. If they had shared a Riza connection with a team, it keeps working for everyone else. Disconnecting Riza once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client at the same time.

## All 19 Riza tools

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

- **Create a Riza command** (Create). Execute a script in riza's secure, isolated sandbox environment. Returns: id, exit_code, stdout, stderr, and duration (in milliseconds). Required: language, code.
- **List all Riza executions** (List). List executions in your Riza project. Returns: id, language, exit_code, duration, started_at, and details (per-execution request/response detail object). Optionally filter to only failed executions using only_non_zero_exit_codes.
- **Get single Riza execution by ID** (Get). Retrieve a single Riza execution by id. Returns: id, language, exit_code, duration, started_at, and details (per-execution request/response detail object). Required: id.
- **Create a Riza runtime** (Create). Create a new runtime in riza with a specified language and manifest file. Returns: id, name, language, engine, revision_id, status. Required: name, language, manifest_file.
- **Delete a Riza runtime by ID** (Delete). Delete a riza runtime by id. Returns: id, deleted. Required: id.
- **List all Riza runtimes** (List). List all runtimes in your riza project. Returns: id, name, language, engine, revision_id, status for each runtime. Max 100 per page.
- **Get single Riza runtime by ID** (Get). Retrieve a single riza runtime by id. Returns: id, name, language, engine, revision_id, status. Required: id.
- **Create a Riza runtime revision** (Create). Create a new revision for a Riza runtime. Returns: id, runtime_id, status, manifest_file, and additional_python_imports. Required: runtime_id and manifest_file.
- **List all Riza runtime revisions** (List). List all revisions for a Riza runtime. Returns: id, runtime_id, status, manifest_file, and additional_python_imports for each revision. Required: runtime_id.
- **Get single Riza runtime revision by ID** (Get). Retrieve a single Riza runtime revision by id. Returns: id, runtime_id, status, manifest_file, and additional_python_imports. Required: runtime_id and id.
- **Create a Riza secret** (Create). Create a secret in your Riza project. Returns: id, name. Required: name, value.
- **List all Riza secrets** (List). List all secrets in your Riza project. Returns: id, name per secret.
- **Create a Riza tool** (Create). Create a new tool in your riza project. Returns: id, name, language, code, description, input_schema, revision_id, and runtime_revision_id. Required: name, language, code.
- **List all Riza tools** (List). List all tools in your riza project. Returns: id, name, language, code, description, input_schema, and revision_id for each tool. Max 100 per page.
- **Update a Riza tool by ID** (Update). Update an existing riza tool's name, language, source code, input schema, or runtime revision by id. Returns: id, name, language, code, description, input_schema, revision_id, and runtime_revision_id. Required: id.
- **Get single Riza tool by ID** (Get). Retrieve a single riza tool by id. Returns: id, name, language, code, description, input_schema, revision_id, and runtime_revision_id. Required: id.
- **Create a Riza code execution** (Create). Execute a code script in Riza by submitting code in a specified programming language. Returns the execution result including exit_code, stdout, stderr, and duration. Required: language, code.
- **Create a Riza function execution** (Create). Execute a function in Riza by submitting code that defines an `execute` function accepting a single argument and returning a JSON-serializable value. Returns: output, output_status, and an execution object containing id, exit_code, stdout, stderr, and duration. Required: language, code.
- **Create a Riza tool execution** (Create). Execute a Riza tool by its ID, passing an input payload that matches the tool's defined input schema. Returns: output (the JSON-serializable value produced by the tool's execute function). Required: tool_id.
