# Gumloop MCP connector

Connecting Gumloop to Elaichi lets Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent look up your Gumloop flows, agents, automation runs, files, and audit logs through one governed endpoint, with every action tied to the person who asked for it.

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

## Facts

| | |
| --- | --- |
| Application | Gumloop |
| Category | IPAAS |
| AI tools | 38 |
| 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 | No. 38 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Gumloop is connected

- List the Gumloop agents created this month.
- Which Gumloop flows ran the most last week?
- Show artifacts produced by our onboarding Gumloop agent.

## Connect Gumloop in Elaichi

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

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

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

### Check overnight automation runs before standup

Operations. Ask which Gumloop automations ran last night, which finished cleanly, and which need a second look, then open the details of any single run without leaving the chat.

### Find the flow that already does this

Marketing. Before anyone rebuilds a lead enrichment or content flow, list the Gumloop flows and workbooks the team already has and see what each one is for.

### Load a batch of files into Gumloop

Revenue operations. Drop a stack of call transcripts or spreadsheets into Gumloop in one go so the next flow has everything it needs, then confirm each file landed.

### Request an export and collect it later

Data. Kick off a Gumloop data export, then come back and fetch the finished export by its ID when the run has produced it.

### Adjust a Gumloop agent's instructions after review

Product. List the Gumloop agents your team runs, read how one is set up, and update its instructions or model choice from a plain description of the change.

### Review who changed what in Gumloop

IT and admin. Pull the Gumloop audit log for a date range, see which member did what, and move a person to a different permission group when a role changes.

## Frequently asked questions

### How do I connect Gumloop to Claude?

First connect Gumloop in Elaichi by pasting a Gumloop API key when prompted, which takes a minute. Then in Claude go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. There is no OAuth application to register in Gumloop and no client ID or secret to generate, so the whole setup is two steps.

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

Yes. Once Gumloop is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent. You connect Gumloop once and every client picks it up.

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

It can list your Gumloop flows, workbooks, agents, and models, check recent automation runs and open the details of one, fetch the files and artifacts a run produced, request a data export, read the audit log, and create or update Gumloop agents. Because Gumloop exposes a lot of actions, the agent searches for the right one as you ask, so short concrete requests like "show failed runs from yesterday" work better than long paragraphs.

### Does connecting Gumloop give the AI everything in my workspace?

No. Access follows the person who signed in to Elaichi, so an AI client sees only the Gumloop flows, runs, files, and audit entries that person's Gumloop access already allows. Elaichi can narrow that further per team or per action, and it never widens what someone could already do in Gumloop.

### Can my team share one Gumloop connection?

Yes. One person connects Gumloop with an API key and shares the connection with a team in Elaichi, and nobody else ever handles the key. Each teammate still signs in to Elaichi as themselves, so the audit log names the actual person who checked a run or updated an agent, not a shared account.

### Can I stop an agent from changing things in Gumloop?

Yes. Restrictions in Elaichi work per action, so you can allow reading Gumloop runs, flows, and files while blocking actions that create or update agents, upload files, or change permission groups. A blocked action is never advertised to Claude, ChatGPT, Cursor, or any other client, so no prompt can reach it.

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

Offboarding that person in Elaichi ends their access to Gumloop through every AI client at once. If they had shared a Gumloop connection with a team, it keeps working for everyone else. If you want the connection gone entirely, disconnecting Gumloop once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client at the same time.

## All 38 Gumloop tools

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

- **Create a Gumloop agent** (Create). Create a new agent in Gumloop. The authenticated caller must have permission to create agents on the target team. Returns: id, name, team_id.
- **List all Gumloop agents** (List). List Gumloop agents the caller has access to, optionally filtered by team, name, tool, or trigger. Returns: id, name, team_id.
- **Get single Gumloop agent by ID** (Get). Retrieve a single Gumloop agent by id. Returns: id, name, team_id. Required: id.
- **Update a Gumloop agent by ID** (Update). Update an existing Gumloop agent by id; only fields included in the request body are changed — omitted fields remain untouched. Returns: id, name, team_id. Required: id.
- **Get single Gumloop artifact by ID** (Get). Download a gumloop artifact by id. Returns a signed download URL for the artifact along with its filename, media_type, and size; follow download_url to fetch the file bytes. Required: id.
- **List all Gumloop artifacts** (List). List artifacts (files) produced by a gumloop agent. Returns a collection of artifact records, each including id, filename, media_type, and size. Optionally scope to a specific session, search by filename, or sort results. Required: agent_id.
- **Create a Gumloop chat completion** (Create). Create an OpenAI-compatible chat completion in Gumloop, multiplexed across Anthropic, OpenAI, Google Gemini, and OpenRouter models. Set stream: true for Server-Sent Events or omit for a unary JSON response; include "image" in modalities to dispatch image-generation models (gpt-image-*, gemini-*-image-preview, dall-e-*). Returns: id, model, choices (with message, finish_reason, and images for image-gen), and usage. Required: model, messages.
- **Get single Gumloop file by ID** (Get). Download a single file from Gumloop. Returns the file as an opaque binary or encoded payload whose structure and encoding depend on the file's content type.
- **List all Gumloop files** (List). Download multiple files from Gumloop. Returns an opaque payload containing the file content for each requested file; the structure and encoding of each file depends on its content type.
- **Create a Gumloop file** (Create). Upload a single file to Gumloop using multipart form encoding. Returns a dynamic response payload confirming the upload whose structure depends on the uploaded content. Required: file.
- **Gumloop files bulk create** (Create). Upload multiple files to Gumloop using multipart form encoding. Returns a dynamic response payload confirming the uploads whose structure depends on the files processed. Required: file.
- **List all Gumloop flows** (List). List saved flows (automations) in Gumloop for a specific user. Returns: saved_item_id, name, user_id. Required: user_id.
- **List all Gumloop workbooks** (List). List gumloop workbooks and their saved flows. Returns workbook objects including their saved_flows. Required: user_id.
- **Get single Gumloop automation by ID** (Get). Retrieve the input schema for a gumloop automation (saved item). Returns the automation-specific input field definitions for the identified pipeline; the exact schema is determined by the automation's configuration in gumloop. Required: saved_item_id.
- **List all Gumloop automation runs** (List). List automation run history in gumloop, returning the 10 most recent runs for a given user across automations. Returns: id and pipeline-specific run attributes. Required: user_id.
- **Create a Gumloop mcp tool** (Create). Execute a batch of 1–5 MCP tool calls concurrently in Gumloop. Calls run in parallel and each result independently reports its own outcome. Returns: status per call result. HTTP 200 on full success, 207 for partial success, 400/401/403 otherwise. Batch size is limited to 5 calls.
- **List all Gumloop mcp servers** (List). List Gumloop MCP servers visible to the caller, spanning Gumloop-hosted (gumcp_server), user-deployed Gumstack (gumstack_server), and custom (mcp_server) types. Returns: id, type, connection_state, allowed_tool_call_ids.
- **Get single Gumloop mcp server by ID** (Get). Retrieve a single Gumloop MCP server by id. Returns the server record including id, type, connection_state, and allowed_tool_call_ids listing the tool calls the caller may invoke on this server. Required: id.
- **List all Gumloop mcp server tools** (List). List the tools exposed by a gumloop MCP server. Returns: name, description, inputSchema for each tool. When the server is not in a connected state, the tools list is empty. Required: server_id.
- **List all Gumloop models** (List). List the LLMs and preset model chains available in gumloop, grouped for display in a model picker. Returns: id, name, type.
- **Create a Gumloop export datum** (Create). Create and initiate a data export job in Gumloop for an enterprise organization. Supports exporting workflows, agents, agent_interactions, or credit_logs data types. Returns the created export job including its id. Required: data_type. Non-credit-log exports also require at least one of workspace_ids, include_all_workspaces, include_personal_workspaces, or entity_ids; omitting all scoping parameters returns a 400 error.
- **Get single Gumloop data export by ID** (Get). Get the status of a Gumloop data export job, and access the exported CSV file when the job has completed successfully. Returns: status. Required: data_export_id.
- **List all Gumloop audit logs** (List). List audit logs for all users in a Gumloop organization over a specified time period. Returns a collection of audit log entries including user_id, action, and timestamp for each recorded event.
- **Update a Gumloop permission group user by ID** (Update). Add or remove users from a custom role (formerly permission group) in Gumloop. Adding a user to a role does not remove them from any other role they already belong to. Returns an empty 204 response on success.
- **Gumloop workspace users bulk update** (Update). Add or remove users from a Gumloop workspace as an organization administrator. Returns an empty 204 response on success.
- **Delete a Gumloop flow run by ID** (Delete). Kill a gumloop flow run and all its subflow runs via the kill_pipeline endpoint. Returns an empty 204 response on success.
- **Create a Gumloop flow run** (Create). Trigger a gumloop flow run via the start_pipeline endpoint. Returns an empty 204 response on success.
- **Get single Gumloop run by ID** (Get). Get details of a specific gumloop pipeline run, used to poll for completion and retrieve final flow outputs from output nodes. Returns: run_id, state, outputs. Required: run_id.
- **Delete a Gumloop session by ID** (Delete). Cancel an in-progress Gumloop session by id. If the session is currently `processing` or `queued`, the running stream is aborted and the session transitions to `failed`; if already in a terminal state, the current state is returned unchanged. Returns: id, agent_id, state. Required: id.
- **Create a Gumloop session** (Create). Create a new Gumloop session for an agent. When `input` is provided the agent begins processing and the session is returned in `processing` or `queued` state (HTTP 202); when `input` is omitted an idle stub session is created (HTTP 201). Returns: id, agent_id, state. Required: agent_id.
- **Get single Gumloop session by ID** (Get). Retrieve a Gumloop session by id, including its messages, current state, agent metadata, and participants. Returns: id, agent_id, state, messages, participants. Required: id.
- **Create a Gumloop skill** (Create). Upload a skill package to gumloop and create a new skill. The package may be a single `.md` file (stored as SKILL.md), or a `.zip` / `.skill` archive containing SKILL.md at its root; the file must include `name` and `description` frontmatter and an initial version is created automatically. Returns: skill_id, name, description, metadata. Required: file. Maximum upload size is 10 MB.
- **Delete a Gumloop skill by ID** (Delete). Delete a gumloop skill by id. The skill is soft-deleted and will no longer appear in listings or be usable by agents. Returns an empty 204 response on success. Required: id.
- **Get single Gumloop skill by ID** (Get). Generate a signed URL to download a gumloop skill's contents as a `.skill` archive (ZIP). Optionally supply version_id to retrieve a specific version; omit it to download the current draft. Returns: url. Required: id.
- **List all Gumloop skills** (List). List gumloop skills accessible to the caller. Optionally filter by team, name, creator, MCP server, or agent. Returns: skill_id, name, description, metadata.
- **Update a Gumloop skill by ID** (Update). Replace a gumloop skill's package with a new upload. Reparses SKILL.md to update the skill's name, description, and metadata, and creates a new version. Returns: skill_id, name, description, metadata. Required: id, file. Maximum upload size is 10 MB.
- **List all Gumloop teams** (List). List Gumloop teams that the authenticated caller belongs to. Returns: id, name.
- **Create a Gumloop session message** (Create). Send a message to a gumloop session and receive the agent's final response. Returns the agent's response object for the session. Required: session_id.
