RIVIL

← Integrations

RIVIL ERP MCP server

Claude and Cursor on company data, through the MCP server

The MCP server lets a client like Claude or Cursor read your company data from RIVIL ERP and propose new records. It does not save on its own and cannot see other companies. The API key defines what it may read and whether it may propose writes.

erp.rivil.app/integrations/asistent
AI assistant
Chat
Prepare expenses from october.xlsx
Found 14 rows: 12 ready to approve, one duplicate, one missing amount.
Add client with VAT ID 2816464
Filled the record from RIVIL Companies: ALFA CONSTRUCT S.R.L. Pending approval.
Proposals to approve
Paper and toner$312.40 Proposed
Office rent$2,500.00 Proposed
Software subscription$189.00 Proposed
Client: Alfa Constructnew Proposed
Approve allReject
Nothing is saved until you approve.
How it works

Steps at a glance

Create an API key

In ERP under API. The key fixes the company and permissions: read only or propose as well, on chosen modules.

Add the server in the client

In Claude or Cursor set the server URL and Authorization header with the key. Without a key, the server responds unauthorized.

Client sees tools

It can list data types, search, and open a record. It cannot switch company.

Writes are proposals only

Create or update goes to a proposal list. Until you approve, nothing enters customers, expenses, or invoices.

You approve in the app

Proposals pass the same checks as forms; duplicates are flagged. What you reject is not saved.

Revoke the key when done

A disabled key cuts that client immediately. ERP users and other keys are unaffected.

What MCP is, briefly

MCP is how an AI assistant (Claude, Cursor, or another compatible client) can request tools from an app. At RIVIL that app is your company ERP. The client does not get the database or anyone’s password. It gets an URL, a key, and a short tool list: what data exists, field shapes, search, open a record, look up a company by id, and propose create or update.

The key is the boundary. It picks company and modules, and tools have no parameter to jump to another company. “Show customers” means customers for the key’s company, only if the module is on and the key allows read.

Which clients you connect

Cursor uses a config file, global or per project, with server URL and Authorization header. Claude Code configures from the terminal with the same URL and header. Claude Desktop has its own config and needs Node.js on the machine. Other MCP clients follow the same pattern; only the config file differs.

Do not put the key in a shared git repo. The key is like a company password: keep it in local config or an environment variable and rotate if it leaked.

erp.rivil.app/settings
Settings · Roles, fields, modules
Roles and access
AdministratorAll
ManagerTheir location
ReceptionAppointments, clients
AccountantInvoices, payments
Custom fields · Clients
AllergiesList
Last visit dateDate
Client sourceChoice
Internal notesText
+ Add field
Active modules

What it can read

The client can see resources the key allows, learn fields for each, search, and open a record. Search returns a limited number of rows per call so it does not pull the whole database in one response.

Given a company id it can look up the firm in RIVIL Firme: name, address, status, VAT, activity codes, and balance sheet figures. What a disabled module hides from users is hidden from the client too: if stock is off for your company, there is no stock resource for it.

What it can propose and what it never saves alone

Writes do not go straight into data. The client sends a create or update proposal on a short list of resources: expenses, customers, suppliers, products, services, cost centers, and projects. There is no delete tool.

A proposal can include many rows, up to a hundred at once. Sending the same proposal twice is treated as duplicate; rows that fail validation return reasons, not half-saved data. You approve or reject in ERP; approval runs the same checks as in-app forms.

erp.rivil.app/integrations/asistent
AI assistant
Chat
Prepare expenses from october.xlsx
Found 14 rows: 12 ready to approve, one duplicate, one missing amount.
Add client with VAT ID 2816464
Filled the record from RIVIL Companies: ALFA CONSTRUCT S.R.L. Pending approval.
Proposals to approve
Paper and toner$312.40 Proposed
Office rent$2,500.00 Proposed
Software subscription$189.00 Proposed
Client: Alfa Constructnew Proposed
Approve allReject
Nothing is saved until you approve.

MCP and in-app chat

ERP also has its own chat with your AI provider key. There you can attach an Excel of expenses or a photo of an invoice, and the assistant still prepares records as proposals. MCP is for working in Cursor or Claude with your own model on company data.

Proposals from both land in the same list, so one place to approve. MCP setup is for whoever administers API; a user with chat only does not see the company key.

Safety and limits

The model is instructed to treat database and file text as data, not commands, to search before creating to avoid duplicates, and not to invent values. Those are instructions, not a guarantee a model never misstates a proposal. That is why proposals wait for approval and you see rows before they enter data.

The server does not send invoices to tax authority, does not email customers, and does not delete anything. There is no server “across all companies”: each key belongs to one company. For automation that actually writes data, use the classic API with per-module keys.

Questions

What people ask

Can the client change data without me knowing?

No. It can only propose, and only if the key allows write on that module. Proposals wait for your approval in ERP.

Can it delete records?

No. There is no delete tool. It can read, search a company by id, and propose create or update.

Can it see another company’s data?

No. The key fixes the company; tools cannot switch to another.

Is it the same as ERP chat?

No. ERP chat uses your AI provider key and can take Excel or photos. MCP is for Claude, Cursor, and other clients with their own model. Proposals share the same list.

Which resources can it propose?

Expenses, customers, suppliers, products, services, cost centers, and projects, if the module is on and the key allows write. The rest is read only.

Where do I put the key in Cursor?

In MCP config, global or project: server URL and Authorization header with the key. Do not commit it to git.

Want it wired to your company?

Tell us on a call what you use today and we show the integration on a demo environment, free for 7 days.

Popular pages