# MRPeasy MCP connector

Connect MRPeasy to Elaichi and Claude, ChatGPT, Cursor, or any MCP client can look up and update customer orders, bills of materials, items, customers, and invoices, with each person signed in as themselves.

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

## Facts

| | |
| --- | --- |
| Application | MRPeasy |
| Category | Erp |
| AI tools | 90 |
| Authentication | Connects with an API key |
| Bring 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. Connected tools are never listed one by one, however few there are. The endpoint advertises `search_tools` and `execute_tool` instead |

## What you can ask once MRPeasy is connected

- Which customer orders are due this week?
- Show the bill of materials for the steel bracket.
- Create an invoice for Northwind's latest customer order.

## Connect MRPeasy in Elaichi

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

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

## MRPeasy MCP connector for 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.

## MRPeasy MCP connector for 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.

## MRPeasy MCP connector for 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 MRPeasy 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

Every scope the client asks for starts ticked except "Delete data and remove access", which you tick yourself. Calling a MRPeasy tool needs "Run your connected tools". 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. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with MRPeasy through Elaichi

### Enter the customer order after the call

Sales. Tell the agent what the customer agreed to and it creates the customer order in MRPeasy, or updates the one already open. The record is caught up before the next call starts.

### Check a bill of materials before a run

Production. Ask what goes into a product and the agent reads the bill of materials straight from MRPeasy. Planners confirm components and quantities without opening the app.

### Revise a bill of materials when a part changes

Engineering. When a component is swapped, the agent updates the bill of materials and the item record in MRPeasy in one go. The change is logged against the engineer who asked for it.

### Raise the invoice once the order ships

Finance. Ask the agent to create the invoice for a finished customer order and it drafts it in MRPeasy from the order details. Corrections to amounts or dates are an update, not a retype.

### Answer where an order stands

Customer service. A customer asks about delivery and the agent pulls the customer order from MRPeasy by name or number. The answer is current, not from yesterday's export.

### Keep the item list clean

Inventory. Find duplicate or outdated items in MRPeasy, fix descriptions, and remove what is no longer stocked. Deletion can be switched off for anyone who should only read.

## Elaichi vs Zapier MCP vs Composio for MRPeasy

All three can connect MRPeasy to an AI assistant, and all three have admin controls. They differ in where access lives and how you pay.

| What to check | Elaichi | Zapier MCP | Composio |
| --- | --- | --- | --- |
| Where the AI connects | One address for the whole organization. Endpoint: https://api.elaichi.ai/mcp | A server per member, created at sign-in. | An MCP endpoint per team, or an SDK. |
| Control over MRPeasy tools | Allow or restrict single MRPeasy tools, per role or user. | App and action restrictions on the account. | Role permissions, down to the action. |
| Record of calls | One audit entry per MRPeasy call. | A History tab of tool calls. | A log of every tool call. |
| Single sign-on | SAML or OIDC, plus SCIM, on Gold. | SAML on Enterprise. | SAML and OIDC on Enterprise. |
| Price | $15 per user per month. | 2 tasks per successful call. | Billed per tool call. |

Sources: Zapier MCP [docs](https://docs.zapier.com/mcp/get-started/quickstart), [security](https://docs.zapier.com/mcp/manage/security), [usage](https://docs.zapier.com/mcp/features/usage); Composio [docs](https://docs.composio.dev/docs/composio-connect), [gateway](https://composio.dev/mcp-gateway), [enterprise](https://composio.dev/enterprise), [pricing](https://composio.dev/pricing). Checked September 2026.

Longer take: [Zapier MCP alternative](/blog/zapier-mcp-alternative/) and [when you don't need an MCP gateway](/blog/when-you-dont-need-an-mcp-gateway/).

## Frequently asked questions

### How do I connect MRPeasy to Claude?

Connect MRPeasy in Elaichi by pasting the API key from your MRPeasy account. There is no OAuth application to register and no client ID or secret to generate. Then open Claude, go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Sign in to Elaichi when Claude asks and MRPeasy is available in your chat.

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

Yes. Once MRPeasy 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 MRPeasy once and every client uses it.

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

With MRPeasy connected, an agent can look up and create customer orders, read and revise bills of materials, add or update customers and items, and raise or correct invoices. You ask in plain language, for example which customer orders are due this week, and it reads the live records. Short, specific asks work better than long paragraphs.

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

No. Every call into MRPeasy runs under the access of the person who signed in, so the agent sees only what that person could see in MRPeasy. Elaichi can narrow that further by restricting actions per toolbox, but it can never widen it beyond what the MRPeasy account allows.

### Can my team share one MRPeasy connection?

Yes. One person connects MRPeasy with the API key and shares the connection with a team in Elaichi, so nobody else ever handles the key. Each teammate still signs in to Elaichi as themselves, so the audit log names who created an order or changed an invoice.

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

Yes. In Elaichi you restrict actions individually, so you can allow reading customer orders in MRPeasy while blocking deletion of orders, items, invoices, or bills of materials. A restricted action is left out of the AI client's tool list entirely, so it cannot be called whatever the prompt says.

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

Offboarding a person in Elaichi ends their access to MRPeasy through every client at once. A connection shared with a team keeps working for everyone else. If you disconnect MRPeasy once in Elaichi, it is removed from Claude, ChatGPT, Cursor, and every other client at the same time.

### Does the MRPeasy MCP connector work with Gemini, Codex, Claude Code or other MCP clients?

Yes. MRPeasy is reached over the same MCP endpoint every client uses, so anything that speaks MCP can call it — Gemini, Codex, Claude Code, Windsurf, Cline, Zed and OpenCode among them — alongside Claude, ChatGPT, Cursor, and the Elaichi Agent. The tools on offer and the access behind them are identical whichever client asks. Only the setup screen differs.

### Is Elaichi an alternative to Zapier MCP for MRPeasy?

Yes. Both let Claude, ChatGPT or Cursor use MRPeasy. Zapier MCP fits a team that already automates in Zapier, since each person signs in and acts as themselves in that account. Elaichi fits when IT wants one address for the whole company, per-tool rules by role, and a record of every MRPeasy call.

### How is Elaichi different from Composio for MRPeasy?

Composio gives AI agents tools and sign-in handling across 1,000+ apps, for developers building agents or people using an assistant, billed per tool call. Elaichi gives a company's own people governed access to MRPeasy: one address, restrictions per role or user, and $15 per user per month. Both have role permissions and a log of every call.

## All 90 MRPeasy tools

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

- **List all MRPeasy boms** (List). List bills of materials in MRPeasy. Returns: bom_id, product_id, code, title, type, routings, components.
- **Create a MRPeasy bom** (Create). Create a BOM in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: product_id, title, components.
- **Get single MRPeasy bom by ID** (Get). Get a BOM in MRPeasy by id. Returns: bom_id, product_id, code, title, type, routings, components. Required: id.
- **Update a MRPeasy bom by ID** (Update). Update a BOM in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id.
- **Delete a MRPeasy bom by ID** (Delete). Delete a BOM in MRPeasy by id. Returns an empty 204 response on success. Required: id.
- **List all MRPeasy customer orders** (List). List customer orders in MRPeasy. Returns: cust_ord_id, code, reference, customer_id, customer_code, customer_name, shipping_address_id, shipping_address, and 28 more fields.
- **Create a MRPeasy customer order** (Create). Create a customer order in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: customer_id, products. Status Confirmed (30) or higher books available stock; Shipped (70) or Delivered (80) also creates a shipment.
- **Get single MRPeasy customer order by ID** (Get). Get a customer order in MRPeasy by id. Returns: cust_ord_id, code, reference, customer_id, customer_code, customer_name, shipping_address_id, shipping_address, and 28 more fields. Required: id.
- **Update a MRPeasy customer order by ID** (Update). Update a customer order in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id. Status Confirmed (30) or higher books available stock; Shipped (70) or Delivered (80) also creates a shipment.
- **Delete a MRPeasy customer order by ID** (Delete). Delete (cancel) a customer order in MRPeasy by id. Returns an empty 204 response on success. Required: id. Fails with an error when MRPeasy cannot delete the record.
- **List all MRPeasy customers** (List). List customers in MRPeasy. Returns: customer_id, code, title, reg_nr, tax_nr, created, next_contact, status, and 5 more fields.
- **Create a MRPeasy customer** (Create). Create a customer in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: title.
- **Get single MRPeasy customer by ID** (Get). Get a customer in MRPeasy by id. Returns: customer_id, code, title, reg_nr, tax_nr, created, next_contact, status, and 5 more fields. Required: id.
- **Update a MRPeasy customer by ID** (Update). Update a customer in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id.
- **List all MRPeasy invoices** (List). List invoices in MRPeasy. Returns: invoice_id, code, customer_id, customer_code, customer_name, cust_ord_id, customer_order_code, customer_orders, and 36 more fields.
- **Create a MRPeasy invoice** (Create). Create an invoice in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: customer_id, type, status, products.
- **Get single MRPeasy invoice by ID** (Get). Get an invoice in MRPeasy by id. Returns: invoice_id, code, customer_id, customer_code, customer_name, cust_ord_id, customer_order_code, customer_orders, and 36 more fields. Required: id.
- **Update a MRPeasy invoice by ID** (Update). Update an invoice in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id.
- **Delete a MRPeasy invoice by ID** (Delete). Delete (cancel) an invoice in MRPeasy by id. Returns an empty 204 response on success. Required: id. Fails with an error when MRPeasy cannot delete the record.
- **List all MRPeasy items** (List). List stock items in MRPeasy. Returns: article_id, product_id, code, title, icon, unit_id, group_id, group_code, and 22 more fields. Per-site default-location filters use the query name def_location_ plus the site ID, such as def_location_1.
- **Create a MRPeasy item** (Create). Create a stock item in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: title.
- **Get single MRPeasy item by ID** (Get). Get a stock item in MRPeasy by id. Returns: article_id, product_id, code, title, icon, unit_id, group_id, group_code, and 22 more fields. Required: id.
- **Update a MRPeasy item by ID** (Update). Update a stock item in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id.
- **Delete a MRPeasy item by ID** (Delete). Delete a stock item in MRPeasy by id. Returns an empty 204 response on success. Required: id. Fails with an error when MRPeasy cannot delete the record.
- **List all MRPeasy lots** (List). List stock lots in MRPeasy. Returns: lot_id, code, article_id, product_id, item_code, item_title, unit_id, unit, and 24 more fields.
- **Get single MRPeasy lot by ID** (Get). Get a lot in MRPeasy by id. Returns: lot_id, code, article_id, product_id, item_code, item_title, unit_id, unit, and 24 more fields. Required: id.
- **List all MRPeasy manufacturing orders** (List). List manufacturing orders in MRPeasy. Returns: man_ord_id, code, article_id, product_id, item_code, item_title, unit_id, unit, and 22 more fields.
- **Create a MRPeasy manufacturing order** (Create). Create a manufacturing order in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: article_id, quantity, assigned_id.
- **Get single MRPeasy manufacturing order by ID** (Get). Get a manufacturing order in MRPeasy by id. Returns: man_ord_id, code, article_id, product_id, item_code, item_title, unit_id, unit, and 25 more fields. Required: id.
- **Update a MRPeasy manufacturing order by ID** (Update). Update a manufacturing order in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id.
- **Delete a MRPeasy manufacturing order by ID** (Delete). Delete (cancel) a manufacturing order in MRPeasy by id. Returns an empty 204 response on success. Required: id. Fails with an error when MRPeasy cannot delete the record.
- **List all MRPeasy parameters** (List). List parameters in MRPeasy. Returns: parameter_id, title, changes_quantity, values.
- **Create a MRPeasy parameter** (Create). Create a parameter in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: title, values.
- **Get single MRPeasy parameter by ID** (Get). Get a parameter in MRPeasy by id. Returns: parameter_id, title, changes_quantity, values. Required: id.
- **Update a MRPeasy parameter by ID** (Update). Update a parameter in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id.
- **Delete a MRPeasy parameter by ID** (Delete). Delete a parameter in MRPeasy by id. Returns an empty 204 response on success. Required: id. Fails with an error when MRPeasy cannot delete the record.
- **List all MRPeasy product groups** (List). List product groups in MRPeasy. Returns: group_id, code, title.
- **Create a MRPeasy product group** (Create). Create a product group in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: title.
- **Get single MRPeasy product group by ID** (Get). Get a product group in MRPeasy by id. Returns: group_id, code, title. Required: id.
- **Update a MRPeasy product group by ID** (Update). Update a product group in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id.
- **Delete a MRPeasy product group by ID** (Delete). Delete a product group in MRPeasy by id. Returns an empty 204 response on success. Required: id.
- **List all MRPeasy purchase orders** (List). List purchase orders in MRPeasy. Returns: pur_ord_id, code, vendor_id, vendor_code, vendor_title, status, total_price, total_price_cur, and 35 more fields.
- **Get single MRPeasy purchase order by ID** (Get). Get a purchase order in MRPeasy by id. Returns: pur_ord_id, code, vendor_id, vendor_code, vendor_title, status, total_price, total_price_cur, and 35 more fields. Required: id.
- **List all MRPeasy relations** (List). List relations in MRPeasy. Returns: relation_id, code, title, lines.
- **Create a MRPeasy relation** (Create). Create a relation in MRPeasy. Returns the new record’s database ID as a bare integer, not the full record. Required: title, lines.
- **Get single MRPeasy relation by ID** (Get). Get a relation in MRPeasy by id. Returns: relation_id, code, title, lines. Required: id.
- **Update a MRPeasy relation by ID** (Update). Update a relation in MRPeasy by id using a JSON request body. Returns no content on success (HTTP 202 Accepted). Required: id, lines.
- **Delete a MRPeasy relation by ID** (Delete). Delete a relation in MRPeasy by id. Returns an empty 204 response on success. Required: id. Fails with an error when MRPeasy cannot delete the record.
- **List all MRPeasy CRM shippeds** (List). List rows of the MRPeasy CRM "Goods shipped" report (CRM -&gt; Statistics) for a period. Returns: article_id, product_id, item_code, item_title, unit_id, unit, group_id, group_code, and 11 more fields. The period defaults to the current month and cannot exceed one month.
- **List all MRPeasy production coproducts** (List). List the co-products made during a period in MRPeasy (production co-products report). Returns: article_id, quantity, product_id, product_code, product_title. The period defaults to the current month and cannot exceed one month.
- ...and 40 more tools. Call `tools/list` via the MCP endpoint, or see the full catalog via the API, for the complete set.
