eyeot ERP
by Termi24 · remote · no sign-in to list tools · v1.1.1 · published by GitHub user Termi24
ERP français avec serveur MCP natif : plus de 1 800 actions métier auto-générées via OpenAPI.
33 tools: 1 can delete or cancel things, 18 change things and 14 only read.
Scanned Oct 21, 2026
- Deletes or cancels1Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things18Claude Code: ask: see these tools
- Only reads14Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http eyeot-erp https://erp.eyeot.fr/api/v1/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
33 tools
Deletes or cancels 1Claude Code: deny
eyeot_callExécute une action eyeot ERP par son nom canonique.No findings
Why it is in this group
- The name "eyeot_call" says "call": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Exécute une action eyeot ERP par son nom canonique. Format action : `<module>.<resource>.<verb>` (ex: 'clients.list', 'rh.employes.create', 'quotes.send'). Toujours utiliser eyeot_help d'abord pour connaître l'action + les params attendus. Les params path (ex: id) et le body JSON sont passés dans `params`.
Annotations the server declares
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
- title: eyeot_call
Changes things 18Claude Code: ask
accept_quoteMarquer un devis accepté (par le client)No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Marquer un devis accepté (par le client)
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
convert_opportunity_to_quoteConvertir une opportunité en devisNo findings
Why it is in this group
- The name "convert_opportunity_to_quote" says "convert": a word for a change.
Description, as the server wrote it Convertir une opportunité en devis
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
create_clientCréer un clientNo findings
Why it is in this group
- The name "create_client" says "create": a word for a change.
Description, as the server wrote it Créer un client
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
create_employeeCréer un employéNo findings
Why it is in this group
- The name "create_employee" says "create": a word for a change.
Description, as the server wrote it Créer un employé
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
create_invoiceCréer une factureNo findings
Why it is in this group
- The name "create_invoice" says "create": a word for a change.
Description, as the server wrote it Créer une facture
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
create_opportunityCréer une opportunitéNo findings
Why it is in this group
- The name "create_opportunity" says "create": a word for a change.
Description, as the server wrote it Créer une opportunité
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
create_orderCréer un bon de commandeNo findings
Why it is in this group
- The name "create_order" says "create": a word for a change.
Description, as the server wrote it Créer un bon de commande
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
create_productCréer un produit (catalogue stock)No findings
Why it is in this group
- The name "create_product" says "create": a word for a change.
Description, as the server wrote it Créer un produit (catalogue stock)
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
create_quoteCréer un devisNo findings
Why it is in this group
- The name "create_quote" says "create": a word for a change.
Description, as the server wrote it Créer un devis
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
create_ticketCréer un ticket ITNo findings
Why it is in this group
- The name "create_ticket" says "create": a word for a change.
Description, as the server wrote it Créer un ticket IT
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
dashboard_alertsAlertes du dashboardNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Alertes du dashboard
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
dashboard_kpisKPIs du dashboard principalNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it KPIs du dashboard principal
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
eyeot_helpCatalog des actions disponibles sur eyeot ERP.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Catalog des actions disponibles sur eyeot ERP. Sans argument : liste les modules et compteur d'actions. Avec `module='rh'` : liste toutes les actions RH (employes, conges, paie, formations…). Avec `action='rh.employes.create'` : retourne le détail (path, méthode, params, schema body). Avec `search='facture'` : recherche les actions matchant. Toujours appeler eyeot_help AVANT eyeot_call pour découvrir l'action exacte.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: eyeot_help
invoice_from_quoteCréer une facture à partir d'un devisNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Créer une facture à partir d'un devis
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
quote_pdfRécupérer le PDF d'un devisNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Récupérer le PDF d'un devis
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
request_leaveDemander un congéNo findings
Why it is in this group
- The name "request_leave" says "request": a word for a change.
Description, as the server wrote it Demander un congé
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
stock_dashboardDashboard stock (KPIs)No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Dashboard stock (KPIs)
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
update_clientMettre à jour un clientNo findings
Why it is in this group
- The name "update_client" says "update": a word for a change.
Description, as the server wrote it Mettre à jour un client
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
Only reads 14Claude Code: allow
get_clientRécupérer un client par idNo findings
Why it is in this group
- The name "get_client" says "get": a word for reading.
Description, as the server wrote it Récupérer un client par id
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
list_clientsLister les clients (CRM)No findings
Why it is in this group
- The name "list_clients" says "list": a word for reading.
Description, as the server wrote it Lister les clients (CRM)
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
list_employeesLister les employésNo findings
Why it is in this group
- The name "list_employees" says "list": a word for reading.
Description, as the server wrote it Lister les employés
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
list_invoicesLister les facturesNo findings
Why it is in this group
- The name "list_invoices" says "list": a word for reading.
Description, as the server wrote it Lister les factures
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
list_leavesLister les demandes de congésNo findings
Why it is in this group
- The name "list_leaves" says "list": a word for reading.
Description, as the server wrote it Lister les demandes de congés
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
list_opportunitiesLister les opportunités commercialesNo findings
Why it is in this group
- The name "list_opportunities" says "list": a word for reading.
Description, as the server wrote it Lister les opportunités commerciales
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
list_ordersLister les bons de commandeNo findings
Why it is in this group
- The name "list_orders" says "list": a word for reading.
Description, as the server wrote it Lister les bons de commande
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
list_productsLister les produits / catalogueNo findings
Why it is in this group
- The name "list_products" says "list": a word for reading.
Description, as the server wrote it Lister les produits / catalogue
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
list_quotesLister les devisNo findings
Why it is in this group
- The name "list_quotes" says "list": a word for reading.
Description, as the server wrote it Lister les devis
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
list_stock_alertsAlertes stock bas / ruptureNo findings
Why it is in this group
- The name "list_stock_alerts" says "list": a word for reading.
Description, as the server wrote it Alertes stock bas / rupture
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
list_suppliersLister les fournisseursNo findings
Why it is in this group
- The name "list_suppliers" says "list": a word for reading.
Description, as the server wrote it Lister les fournisseurs
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
list_ticketsLister les tickets ITNo findings
Why it is in this group
- The name "list_tickets" says "list": a word for reading.
Description, as the server wrote it Lister les tickets IT
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
searchRecherche globale cross-moduleNo findings
Why it is in this group
- The name "search" says "search": a word for reading.
Description, as the server wrote it Recherche globale cross-module
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
whoamiRécupérer l'utilisateur authentifié + organisation active + permissions.No findings
Why it is in this group
- The name "whoami" says "whoami": a word for reading.
Description, as the server wrote it Récupérer l'utilisateur authentifié + organisation active + permissions. À APPELER AVANT toute réponse mentionnant l'org/user/plan/role.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.1.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http eyeot-erp https://erp.eyeot.fr/api/v1/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__eyeot-erp__whoami",
"mcp__eyeot-erp__list_clients",
"mcp__eyeot-erp__get_client",
"mcp__eyeot-erp__list_opportunities",
"mcp__eyeot-erp__list_quotes",
"mcp__eyeot-erp__list_invoices",
"mcp__eyeot-erp__list_products",
"mcp__eyeot-erp__list_stock_alerts",
"mcp__eyeot-erp__list_employees",
"mcp__eyeot-erp__list_leaves",
"mcp__eyeot-erp__list_tickets",
"mcp__eyeot-erp__list_suppliers",
"mcp__eyeot-erp__list_orders",
"mcp__eyeot-erp__search"
],
"ask": [
"mcp__eyeot-erp__create_client",
"mcp__eyeot-erp__update_client",
"mcp__eyeot-erp__create_opportunity",
"mcp__eyeot-erp__convert_opportunity_to_quote",
"mcp__eyeot-erp__create_quote",
"mcp__eyeot-erp__accept_quote",
"mcp__eyeot-erp__quote_pdf",
"mcp__eyeot-erp__create_invoice",
"mcp__eyeot-erp__invoice_from_quote",
"mcp__eyeot-erp__create_product",
"mcp__eyeot-erp__stock_dashboard",
"mcp__eyeot-erp__create_employee",
"mcp__eyeot-erp__request_leave",
"mcp__eyeot-erp__create_ticket",
"mcp__eyeot-erp__create_order",
"mcp__eyeot-erp__dashboard_kpis",
"mcp__eyeot-erp__dashboard_alerts",
"mcp__eyeot-erp__eyeot_help"
],
"deny": [
"mcp__eyeot-erp__eyeot_call"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as eyeot-erp. Review it before you use it.
