We run a small event-technology company and drive Rentman through the MCP daily from an LLM — intake of enquiries, building projects, calculating, preparing quote texts. Reading is excellent: projects, subprojects, equipment, functions, costs, rates, contacts all come back reliably, and create_costs, create_tasks and contact creation work well.
The blocker is that almost every write path for actual project content is missing, so a workflow that is otherwise fully automated ends with a list of “now please do these five things by hand in the UI”. That manual tail is where errors get introduced, and it removes most of the benefit of the automation.
1. projectequipment — read-only
We cannot add, change or remove equipment on a project. Concretely missing: create, update, delete, and write access to quantity, unit_price, discount, factor, the billing period of a line, external_remark / internal_remark, equipment_group and order.
Real cases from the last weeks: a customer declined a lighting package twice and we still could not remove the group; a laptop line needed its billing period stretched from one day to three so the degressive factor would apply; every customer-facing item description has to be typed into the UI even though the text was already written.
2. projectequipmentgroup — read-only
No create / update / delete. A group created implicitly is called “Neue Materialgruppe” and that name appears on the quote — we cannot rename it, set its remark, or reorder groups.
3. projectfunctions — no update or delete
projects.create_projectfunctions exists, but afterwards nothing can be changed. Missing: update and delete, plus write access to name_external, remark_client, remark_planner, the plan period, and — importantly — a manual fixed-price override on a function. When a day exceeds the flat-rate threshold, Rentman adds an overage; deciding to absorb it is a normal commercial call, and today it is only possible by clicking.
4. projects — create only, no update
This is the sharpest one. A project created via the API cannot be linked to its customer — customer is UI-only. The same applies to location, cust_contact, project_type, reference, status and the plan/usage period. So an automatically created project is always an orphan that a human has to adopt.
5. subprojects — no update
Name, discount, status and location cannot be set after creation.
6. Quotes and invoices — read-only
There is no way to generate a quote from a project or fetch the resulting PDF. Everything upstream can be automated, and then the final step — the document the customer actually receives — has to be produced manually.
Priority, if it helps: (4) project update including customer, then (1) equipment write, then (3) function update with fixed-price override, then (6) quote generation.
Secondary, API-level: filters only support exact matches — there is no like/contains, so finding a contact means pulling the full list and filtering client-side. list on projects without a filter returns a 400. Virtual combination articles do not appear in list_equipment at all, so their IDs have to be read out of a browser URL.
Happy to test any of this in beta and report back — we have a fairly wide range of real projects to run it against.