AI agents (MCP and CLI)
RentProg opens your company data to AI agents (Claude, ChatGPT, Claude Code, Cursor, Codex and any MCP client) through the MCP protocol. The agent acts on your behalf and connects in one of two ways:
- OAuth connector — for claude.ai, Claude Desktop, Claude Code with the RentProg plugin and ChatGPT. No key is needed: you sign in to RentProg and choose access by area on the consent screen. Step by step — in the article “Connecting the RentProg connector in Claude and ChatGPT (OAuth)” in this section.
- Personal key — for the RentProg CLI, Cursor, Codex and other clients that do not support OAuth. Sections 1, 4 and 5 of this article cover this way.
You choose what the agent can do in each area separately — when you issue a key or on the consent screen. The agent never gets more than your own rights: the same branches, records and fields you see in the interface.
1. Agent key
The “MCP for AI agents” service must be included in your company's plan. If the keys tab says the service is not included, contact RentProg support.
- Open Profile → tab “AI agent keys”.
- Click “Create key” and give it a name (e.g. “Claude Code — laptop”).
- Choose access by area (section 2) and click “Create”.
- Copy the key: it starts with
rpa_and is shown once. The same tab shows the MCP server address for your company — you will need it to connect.
Up to 5 active keys per employee, valid for one year. A key can be revoked on the same tab at any time and stops working immediately. Partners and agents (external roles) cannot issue keys. Every tool call is logged: who, which tool, when, outcome.
The same tab shows a hint on which connector to add in Claude and ChatGPT, and two lists: “Connected applications” (OAuth connections) and your keys. A revoked application or key loses access on its next request to RentProg. A superadmin sees the access of all employees of the company group in both lists.
Where the data goes. Everything the key or a connected application can see, including your clients' personal data, is sent by the agent to the AI service you connect (Claude, ChatGPT and others). Your company chooses that service and, as the data controller, is responsible for sharing data with it: make sure such a transfer is permitted by the laws of your country and your agreements with clients. If the agent does not need clients' personal data, issue the key to an employee with the guest role and set CRM to “No access”: guest does not see names, phones and other data of individual clients, while CRM leads and conversations contain client contacts for any role.
2. Access by area
A key covers four areas, each with its own level:
| Area | What it includes |
|---|---|
| CRM | leads, pipeline, conversations with clients (including Teletype), CRM tasks |
| Fleet and bookings | bookings, cars, clients, schedule, fines, booking documents, inventory and add-ons, rent-to-own, telematics, marketplaces, taxi, tasks, to-dos and checklists |
| Money | payments and cash desks, transfers, debts, invoices, deposits, investors, contractors, money for a period, fleet economics, staff performance, suspicious operations |
| Staff | employees and agents, their balances, shifts and shift templates, ratings |
| Level | What the agent can do |
|---|---|
| No access | does not see the area |
| Read | only looks at data |
| Write with approval | prepares a change that runs only after you approve it (section 7) |
| Write with preview | first gets the result of the change (for example, the reply text to a client) and then confirms it itself; the result is valid for 10 minutes |
| Write immediately | makes the change at once, without preview or confirmation |
The same areas and levels are chosen on the consent screen when you connect the connector. By default a new key only reads: CRM, fleet and money — “Read”, staff — “No access”. Levels above what your role allows are not offered. If your role or rights are reduced later, the key immediately works within the new rights. We recommend “Write with approval” for money and “Write with preview” for CRM. Combining CRM read access with “Write immediately” for money is risky: a client's message could push the agent into a payment, and the key dialog warns about it.
Keys issued before access by area was introduced are marked “Read only, previous format”: they see the previous 16 tools without CRM. Reissue the key to get the new tools.
3. Installing the plugin in Claude Code
In Claude Code run:
/plugin marketplace add RentProg/rentprog-claude-plugin
/plugin install rentprog@rentprog
Plugin 3.0.0 and later asks only for the MCP address (take it from your RentProg profile, tab
“AI agent keys”). The plugin does not need a key: open
/mcp, select the rentprog server and complete the RentProg sign-in and consent in the
browser. To check, run /mcp: it lists the rentprog server with its tools. If you had
plugin 2.x with a key, update the plugin; revoke the key on the tab if nothing else uses it.
Claude Code can also be connected without the plugin, with a key:
claude mcp add --transport http rentprog MCP_address_from_profile --header "Authorization: Bearer rpa_your_key".
Ready-made scenarios (skills): morning brief, debtors, fleet load, client dossier, period summary — for
example, /rentprog:morning-brief. You can also ask in your own words: “what's going out today”,
“who owes for more than five days”, “which leads are waiting for a reply”. Every record in an answer links to its
card in RentProg. Plugin repository: github.com/RentProg/rentprog-claude-plugin.
4. Other MCP clients
The server is plain MCP over HTTP: any client that lets you set a request header will work. No separate account or setup on our side is needed — the key is the same.
Cursor. Create .cursor/mcp.json in your project (or ~/.cursor/mcp.json
for all projects):
{
"mcpServers": {
"rentprog": {
"url": "MCP_address_from_your_profile",
"headers": { "Authorization": "Bearer rpa_your_key" }
}
}
}
Reload the MCP server list in Cursor settings — the rentprog server appears with the same tools
as in Claude Code. Skills are Claude Code commands and are not available in Cursor: ask in your own words, the
tool descriptions are self-contained. Do not commit the file with the key; if it leaks, revoke the key on the tab.
ChatGPT connects in chat with the OAuth connector (article “Connecting the RentProg connector in
Claude and ChatGPT (OAuth)”). ChatGPT agent mode with a terminal works through the RentProg CLI with a
key (section 5). Codex connects the server the same way as Cursor: codex mcp add rentprog --url
MCP_address_from_profile --bearer-token-env-var RENTPROG_API_KEY, with the key in the
RENTPROG_API_KEY environment variable; the CLI works too.
For any client: the MCP address from your profile (tab “AI agent keys”), header
Authorization: Bearer rpa_… (Streamable HTTP). Per-key limits are counted separately: reads — 60 calls
per minute and 1000 per hour, changes — 20 per minute and 300 per hour.
5. CLI for agents with a terminal
For agents that run commands in a terminal (ChatGPT agent mode, Codex and similar), RentProg provides a CLI —
the command-line program @rentprog/cli. The CLI works with a personal key. Every
tool from sections 6 and 7 is a CLI command; the access is the same as the key's.
- Issue a key (section 1). In the key window copy the command for agents with a terminal: it already contains the key and your company's MCP address.
- Give the command to the agent or run it in the agent's terminal. Node.js 20.18 or newer is required — ChatGPT already has it. The command checks the key, shows its owner and levels and saves the settings.
- From then on the agent works with commands:
npx -y @rentprog/cli@0 tools— what the key can do,npx -y @rentprog/cli@0 help list_bookings— the tool's arguments,npx -y @rentprog/cli@0 list_bookings --active— a call.
The CLI answers an agent in JSON and a person in a terminal with a table; --format csv — export,
--all — every page of a list. Changes follow the key's levels: with preview the CLI shows the result and
applies it only after confirmation — the --yes flag, a “y” answer in a terminal or the continuation
command the CLI prints; with approval --wait waits for your decision in RentProg. The exit
code tells the agent what to do next: 0 — done, 10 — waiting for approval, 11 — preview shown, 3 — refused,
4 — try again later.
Codex runs commands without network by default: sign in outside its sandbox and allow network for the CLI commands. The CLI keeps the key in a settings file only you can read; if the key may have leaked, revoke it on the tab. Description and source code: github.com/RentProg/rentprog-cli.
6. What the agent can look at
Reading mirrors the RentProg screens: the agent sees what you see on those screens, within your role and the key's levels. Tool names are in brackets — useful if you connect the agent manually or want to ask for something specific.
- General: branches with their local time and the company dictionaries (company_reference); the key owner and the key's levels by area (whoami); the result of an operation waiting for approval or running in the background (operation_status).
- Bookings: the bookings screen lists and the occupancy calendar (list_bookings, occupancy); search by number, car, client and phone (search_bookings); the card, change history, handover and return photos (get_card, booking_history, booking_photos); handovers and returns for dates, overdue returns (schedule); an agent's bookings (agent_bookings).
- Fleet: the cars list and catalogue search (list_cars, search_cars); cars free for dates with the price (availability_quote); the fleet state right now, idle cars and maintenance (fleet_status); the car card, inspections, repairs and files (get_card, car_details, car_files); service payments (service_payments); telematics (telematics); inventory and add-ons (store); Yandex Pro taxi (taxi).
- Clients: search and the card (search_clients, get_card); a summary before a call — rental history, debts, fines, expiring documents (client_dossier); client files (client_file_download); reliability check (client_checks); the client's online payments (provider_payments).
- Fines, tasks and the log: fines of the screen and for a period (list_fines, fines); tasks, personal to-dos and checklists (tasks, todos, check_lists); the employees' action log with text search (action_log); the change feed (recent_changes); rent-to-own (rent_to_own_contracts); message templates (message_templates).
- Money: the payments journal and an employee's cash desk (payments, cashboxes); debts by booking and the debts screen (receivables, list_debts); invoices and the printed invoice form (list_invoices, invoice_print); money for a period, fleet economics, staff performance, suspicious operations (money_report, fleet_economics, staff_performance, anomalies); investors and their analytics (list_investors, investor_analytics); contractors (contractors).
- CRM: leads as a list, a pipeline and unread (crm_leads); the lead card, conversation, tasks and history (crm_lead, crm_messages, crm_tasks); Teletype chats (teletype_messages).
- Staff: employees and agents of a branch (list_employees); the shift schedule and kinds of work (shifts, shift_templates).
Bookings, fleet, clients, fines, tasks and the log belong to the “Fleet and bookings” area; the other items to the areas of the same name from section 2. Lists come in pages of up to 50 rows with the total count and a next-page flag; search and filters are the same as on the screens. Tools unavailable to your role or the key's levels are simply not visible to the agent.
7. Changes through the agent and approval
The agent can make changes in all four areas — the same things an employee does on the RentProg screens:
- CRM: reply to a client (including in Teletype), create and edit a lead, move it through the pipeline, link a booking or a contact, save a file from the conversation, add a note and a task, mark as read, archive, convert to a client, add to the Avito blacklist.
- Fleet and bookings: create and edit a booking, change its status, hand over, take back, extend; add-ons, damages, handover and return photos, gifts; clients and their files; cars, prices, maintenance and insurance, inspections, repairs, car files; fines; inventory; rent-to-own contracts; a message to the client from a template; decisions on marketplace bookings; telematics and taxi; tasks, to-dos and checklists.
- Money: payments (create, post, cancel), booking payment, transfers between employees, debts, invoices, fine payment, investors, contractors.
- Staff: create and edit an employee or an agent, an employee's balance, shifts, ratings.
Changes go through the same checks as the interface: what the screen does not let your role do, the agent will not do either. The agent does not create documents — a contract is put together in the interface. The agent works with existing booking documents: it sends them to the client and requests a signature via DocuSeal or OkiDoki.
With the "Write with approval" level a prepared change goes to "Awaiting approval" (a menu item and a notification in the bell). There you see what the agent is going to do; an approved change runs right away, a rejected one does not. Without a decision the operation expires in 24 hours. A client signature passed by the agent always waits for approval: you see its image. The agent learns the outcome with its operation status tool.
Some actions go out into the world and cannot be undone: messages to clients (CRM, Teletype, from a template), the Avito blacklist, sending documents, commands to a car via telematics, decisions on marketplace bookings, taxi operations, paid client checks. The agent runs some of them in the background: it first gets an "accepted" answer and learns the outcome with the operation status tool. For money we recommend approval, for messages to clients — preview or approval.
Everything the agent changed is marked "via agent" in cards, payments and booking history: hovering over the mark shows which tool did it and when.
8. What the agent sees by role
The levels of a key or a connected application cap the agent from above, and the employee's role also limits the data scope and fields:
| Role | Data scope | Key levels | Fields and tools |
|---|---|---|---|
| superadmin | the whole branch group | up to “Write immediately” in every area | everything, including car cost and the money report |
| admin | own branch — the whole group only with the “change branch” right | up to “Write immediately” in every area | everything, including car cost and the money report |
| manager | own branch — the whole group only with the “change branch” right | up to “Write immediately” in every area | operational booking amounts; no car cost and no money report |
| user | own branch — the whole group only with the “change branch” right | up to “Write immediately”, except the Staff area | operational booking amounts; no car cost, money report, fleet economics, staff performance or suspicious operations |
| guest | the whole branch group | “Read” only, except the Staff area | money in full; no personal data of individual clients (name, phone, email, date of birth, tax ID, balance); companies in full; CRM leads and conversations as on the CRM screen, with contacts |
| partner, agent | — | no key is issued, applications cannot be connected | — |
The CRM area is available only if CRM is enabled for your company and the employee has CRM access — the same as the CRM screen in the interface. Otherwise the key dialog marks it “Not available for your role or plan”.
RentProg API reference for developers: Swagger. Pricing: rentprog.com/en/tariffs.