Skip to content

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.

Deletes · 1Changes · 18

33 tools: 1 can delete or cancel things, 18 change things and 14 only read.

Scanned Oct 21, 2026

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/mcp

Tools

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
  • 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/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.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.