eyeot ERP

ERP français avec serveur MCP natif : plus de 1 800 actions métier auto-générées via OpenAPI.

Sollte ich dies verwenden

Qualität und Sicherheit

B
Qualität der Beschreibung
64%
Vollständigkeit des Schemas
62%
Qualität der Benennung
94%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (17)

  • LOWTool 'whoami' description lacks action verbin whoami
  • LOWTool 'create_client' description lacks action verbin create_client
  • LOWTool 'get_client' description lacks action verbin get_client
  • LOWTool 'update_client' description lacks action verbin update_client
  • LOWTool 'create_opportunity' description lacks action verbin create_opportunity
  • LOWTool 'create_quote' description lacks action verbin create_quote
  • LOWTool 'accept_quote' description lacks action verbin accept_quote
  • LOWTool 'quote_pdf' description lacks action verbin quote_pdf
  • LOWTool 'create_invoice' description lacks action verbin create_invoice
  • LOWTool 'invoice_from_quote' description lacks action verbin invoice_from_quote

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~4,368Tokens (Tool-Definitionen)
~954 BTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (3.41% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "eyeot-erp": {
      "url": "https://erp.eyeot.fr/api/v1/mcp"
    }
  }
}

Remote-Endpunkte

https://erp.eyeot.fr/api/v1/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (33)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢whoami

Récupérer l'utilisateur authentifié + organisation active + permissions. À APPELER AVANT toute réponse mentionnant l'org/user/plan/role.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢list_clients

Lister les clients (CRM)

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟡create_client(body)

Créer un client

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "body": {
      "additionalProperties": false,
      "description": "Request body",
      "properties": {
        "address": {
          "type": [
            "string",
            "null"
          ]
        },
        "address_line1": {
          "maxLength": 255,
          "type": [
            "string",
            "null"
          ]
        },
        "address_line2": {
          "maxLength": 255,
          "type": [
            "string",
            "null"
          ]
        },
        "category": {
          "enum": [
            "prospect",
            "client"
          ],
          "type": "string"
        },
        "city": {
          "maxLength": 120,
          "type": [
            "string",
            "null"
          ]
        },
        "company": {
          "maxLength": 200,
          "type": [
            "string",
            "null"
          ]
        },
        "country": {
          "maxLength": 80,
          "type": [
            "string",
            "null"
          ]
        },
        "email": {
          "format": "email",
          "type": [
            "string",
            "null"
          ]
        },
        "first_name": {
          "maxLength": 100,
          "type": [
            "string",
            "null"
          ]
        },
        "icp_score": {
          "maximum": 100,
          "minimum": 0,
          "type": [
            "integer",
            "null"
          ]
        },
        "last_name": {
          "maxLength": 100,
          "type": [
            "string",
            "null"
          ]
        },
        "marketing_opt_in": {
          "type": "boolean"
        },
        "name": {
          "maxLength": 200,
          "minLength": 2,
          "type": [
            "string",
            "null"
          ]
        },
        "notes": {
          "type": [
            "string",
            "null"
          ]
        },
        "phone": {
          "pattern": "^\\+?[0-9\\s\\-().]{6,30}$",
          "type": [
            "string",
            "null"
          ]
        },
        "postal_code": {
          "maxLength": 20,
          "type": [
            "string",
            "null"
          ]
        },
        "siren": {
          "maxLength": 11,
          "type": [
            "string",
            "null"
          ]
        },
        "siret": {
          "maxLength": 17,
          "type": [
            "string",
            "null"
          ]
        },
        "status": {
          "enum": [
            "actif",
            "inactif",
            "archivé",
            null
          ],
          "type": [
            "string",
            "null"
          ]
        },
        "vat_number": {
          "maxLength": 32,
          "type": [
            "string",
            "null"
          ]
        },
        "website": {
          "pattern": "^(https?://)?[a-zA-Z0-9][a-zA-Z0-9.\\-]*\\.[a-zA-Z]{2,}(/.*)?$",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false
}
🟢get_client(client_id)

Récupérer un client par id

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "client_id": {
      "description": "(path parameter)",
      "type": "string"
    }
  },
  "required": [
    "client_id"
  ],
  "additionalProperties": false
}
🟡update_client(body, client_id)

Mettre à jour un client

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "body": {
      "additionalProperties": false,
      "description": "Request body",
      "properties": {
        "address": {
          "type": [
            "string",
            "null"
          ]
        },
        "address_line1": {
          "maxLength": 255,
          "type": [
            "string",
            "null"
          ]
        },
        "address_line2": {
          "maxLength": 255,
          "type": [
            "string",
            "null"
          ]
        },
        "category": {
          "enum": [
            "prospect",
            "client"
          ],
          "type": "string"
        },
        "city": {
          "maxLength": 120,
          "type": [
            "string",
            "null"
          ]
        },
        "company": {
          "maxLength": 200,
          "type": [
            "string",
            "null"
          ]
        },
        "country": {
          "maxLength": 80,
          "type": [
            "string",
            "null"
          ]
        },
        "email": {
          "format": "email",
          "type": [
            "string",
            "null"
          ]
        },
        "first_name": {
          "maxLength": 100,
          "type": [
            "string",
            "null"
          ]
        },
        "icp_score": {
          "maximum": 100,
          "minimum": 0,
          "type": [
            "integer",
            "null"
          ]
        },
        "last_name": {
          "maxLength": 100,
          "type": [
            "string",
            "null"
          ]
        },
        "marketing_opt_in": {
          "type": "boolean"
        },
        "name": {
          "maxLength": 200,
          "minLength": 2,
          "type": [
            "string",
            "null"
          ]
        },
        "notes": {
          "type": [
            "string",
            "null"
          ]
        },
        "phone": {
          "pattern": "^\\+?[0-9\\s\\-().]{6,30}$",
          "type": [
            "string",
            "null"
          ]
        },
        "postal_code": {
          "maxLength": 20,
          "type": [
            "string",
            "null"
          ]
        },
        "siren": {
          "maxLength": 11,
          "type": [
            "string",
            "null"
          ]
        },
        "siret": {
          "maxLength": 17,
          "type": [
            "string",
            "null"
          ]
        },
        "status": {
          "enum": [
            "actif",
            "inactif",
            "archivé"
          ],
          "type": "string"
        },
        "vat_number": {
          "maxLength": 32,
          "type": [
            "string",
            "null"
          ]
        },
        "website": {
          "pattern": "^(https?://)?[a-zA-Z0-9][a-zA-Z0-9.\\-]*\\.[a-zA-Z]{2,}(/.*)?$",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "client_id": {
      "description": "(path parameter)",
      "type": "string"
    }
  },
  "required": [
    "body",
    "client_id"
  ],
  "additionalProperties": false
}
🟢list_opportunities

Lister les opportunités commerciales

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟡create_opportunity(body)

Créer une opportunité

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "body": {
      "additionalProperties": false,
      "description": "Request body",
      "properties": {
        "amount": {
          "maximum": 9999999999.99,
          "minimum": 0,
          "type": [
            "number",
            "null"
          ]
        },
        "client_id": {
          "type": "string"
        },
        "expected_close_date": {
          "format": "date-time",
          "type": [
            "string",
            "null"
          ]
        },
        "notes": {
          "maxLength": 5000,
          "type": [
            "string",
            "null"
          ]
        },
        "probability": {
          "maximum": 100,
          "minimum": 0,
          "type": [
            "integer",
            "null"
          ]
        },
        "stage": {
          "maxLength": 40,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "client_id",
        "title"
      ],
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false
}
⚪convert_opportunity_to_quote(opportunity_id)

Convertir une opportunité en devis

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "opportunity_id": {
      "description": "(path parameter)",
      "type": "string"
    }
  },
  "required": [
    "opportunity_id"
  ],
  "additionalProperties": false
}
🟢list_quotes

Lister les devis

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟡create_quote(body)

Créer un devis

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "body": {
      "description": "Request body",
      "properties": {
        "client_id": {
          "type": "string"
        },
        "currency": {
          "type": "string"
        },
        "discount_percent": {
          "maximum": "100",
          "minimum": "0",
          "type": [
            "number",
            "null"
          ]
        },
        "intervention_date": {
          "format": "date",
          "type": [
            "string",
            "null"
          ]
        },
        "items": {
          "items": {
            "properties": {
              "discount_percent": {
                "type": "object"
              },
              "product_id": {
                "type": "object"
              },
              "product_name": {
                "type": "object"
              },
              "quantity": {
                "type": "object"
              },
              "tva_rate": {
                "type": "object"
              },
              "unit_price": {
                "type": "object"
              }
            },
            "required": [
              "quantity",
              "unit_price"
            ],
            "type": "object"
          },
          "minItems": 1,
          "type": "array"
        },
        "notes": {
          "type": [
            "string",
            "null"
          ]
        },
        "opportunity_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "technician_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "valid_until": {
          "format": "date",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "client_id",
        "items"
      ],
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false
}
⚪accept_quote(quote_id)

Marquer un devis accepté (par le client)

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "quote_id": {
      "description": "(path parameter)",
      "type": "string"
    }
  },
  "required": [
    "quote_id"
  ],
  "additionalProperties": false
}
🟢quote_pdf(quote_id)

Récupérer le PDF d'un devis

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "quote_id": {
      "description": "(path parameter)",
      "type": "string"
    }
  },
  "required": [
    "quote_id"
  ],
  "additionalProperties": false
}
🟢list_invoices

Lister les factures

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟡create_invoice

Créer une facture

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
⚪invoice_from_quote(quote_id)

Créer une facture à partir d'un devis

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "quote_id": {
      "description": "(path parameter)",
      "type": "string"
    }
  },
  "required": [
    "quote_id"
  ],
  "additionalProperties": false
}
🟢list_products

Lister les produits / catalogue

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟡create_product(body)

Créer un produit (catalogue stock)

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "body": {
      "additionalProperties": false,
      "description": "Request body",
      "properties": {
        "auto_reorder": {
          "type": "boolean"
        },
        "barcode": {
          "pattern": "^[0-9A-Za-z\\-]{1,64}$",
          "type": [
            "string",
            "null"
          ]
        },
        "category": {
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "cost_price": {
          "minimum": "0.00",
          "type": [
            "number",
            "null"
          ]
        },
        "name": {
          "maxLength": 300,
          "minLength": 1,
          "type": "string"
        },
        "quantity_in_stock": {
          "minimum": "0.000",
          "type": "number"
        },
        "reorder_quantity": {
          "minimum": "0.000",
          "type": [
            "number",
            "null"
          ]
        },
        "site_id": {
          "format": "uuid",
          "type": [
            "string",
            "null"
          ]
        },
        "sku": {
          "maxLength": 50,
          "minLength": 1,
          "type": "string"
        },
        "sold_by_weight": {
          "type": "boolean"
        },
        "threshold": {
          "minimum": "0.000",
          "type": "number"
        },
        "unit": {
          "maxLength": 30,
          "type": "string"
        },
        "unit_precision": {
          "maximum": 3,
          "minimum": 0,
          "type": "integer"
        },
        "unit_price": {
          "minimum": "0.00",
          "type": "number"
        },
        "valuation_method": {
          "enum": [
            "FIFO",
            "LIFO",
            "CMP"
          ],
          "type": "string"
        }
      },
      "required": [
        "category",
        "name",
        "sku",
        "unit_price"
      ],
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false
}
🟢list_stock_alerts

Alertes stock bas / rupture

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢stock_dashboard

Dashboard stock (KPIs)

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢list_employees

Lister les employés

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟡create_employee

Créer un employé

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢list_leaves

Lister les demandes de congés

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
⚪request_leave(body)

Demander un congé

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "body": {
      "description": "Request body",
      "properties": {
        "end_date": {
          "format": "date",
          "type": "string"
        },
        "half_day_end": {
          "type": "boolean"
        },
        "half_day_start": {
          "type": "boolean"
        },
        "leave_type_id": {
          "format": "uuid",
          "type": [
            "string",
            "null"
          ]
        },
        "reason": {
          "maxLength": 2000,
          "type": [
            "string",
            "null"
          ]
        },
        "start_date": {
          "format": "date",
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "end_date",
        "start_date",
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false
}
🟢list_tickets

Lister les tickets IT

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟡create_ticket(body)

Créer un ticket IT

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "body": {
      "additionalProperties": false,
      "description": "Request body",
      "properties": {
        "cart_lines": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "discount_cents": {
                "type": "object"
              },
              "label": {
                "type": "object"
              },
              "product_id": {
                "type": "object"
              },
              "qty": {
                "type": "object"
              },
              "tax_rate_percent": {
                "type": "object"
              },
              "total_ht_cents": {
                "type": "object"
              },
              "total_ttc_cents": {
                "type": "object"
              },
              "total_tva_cents": {
                "type": "object"
              },
              "unit_price_ht_cents": {
                "type": "object"
              }
            },
            "required": [
              "label",
              "qty",
              "tax_rate_percent",
              "total_ht_cents",
              "total_ttc_cents",
              "total_tva_cents",
              "unit_price_ht_cents"
            ],
            "type": "object"
          },
          "minItems": 1,
          "type": "array"
        },
        "client_id": {
          "format": "uuid",
          "type": [
            "string",
            "null"
          ]
        },
        "payments": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "amount_cents": {
                "type": "object"
              },
              "card_brand": {
                "type": "object"
              },
              "change_cents": {
                "type": "object"
              },
              "charge_id": {
                "type": "object"
              },
              "last4": {
                "type": "object"
              },
              "method": {
                "type": "object"
              },
              "payment_intent_id": {
                "type": "object"
              },
              "provider": {
                "type": "object"
              },
              "reader_id": {
                "type": "object"
              }
            },
            "required": [
              "amount_cents",
              "method"
            ],
            "type": "object"
          },
          "minItems": 1,
          "type": "array"
        },
        "session_id": {
          "format": "uuid",
          "type": "string"
        }
      },
      "required": [
        "cart_lines",
        "payments",
        "session_id"
      ],
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false
}
🟢list_suppliers

Lister les fournisseurs

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢list_orders

Lister les bons de commande

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟡create_order(body)

Créer un bon de commande

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "body": {
      "additionalProperties": false,
      "description": "Request body",
      "properties": {
        "expected_delivery_date": {
          "format": "date",
          "type": [
            "string",
            "null"
          ]
        },
        "items": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "product_id": {
                "type": "object"
              },
              "quantity": {
                "type": "object"
              },
              "unit_price": {
                "type": "object"
              }
            },
            "required": [
              "product_id",
              "quantity"
            ],
            "type": "object"
          },
          "minItems": 1,
          "type": "array"
        },
        "notes": {
          "type": [
            "string",
            "null"
          ]
        },
        "order_type": {
          "enum": [
            "MANUAL",
            "AUTO"
          ],
          "type": "string"
        },
        "site_id": {
          "format": "uuid",
          "type": [
            "string",
            "null"
          ]
        },
        "supplier_id": {
          "format": "uuid",
          "type": "string"
        }
      },
      "required": [
        "items",
        "supplier_id"
      ],
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "additionalProperties": false
}
🟢dashboard_kpis

KPIs du dashboard principal

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢dashboard_alerts

Alertes du dashboard

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢search

Recherche globale cross-module

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢eyeot_help(action, module, search)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "action": {
      "description": "Action exacte au format `<module>.<resource>.<verb>` (ex: 'rh.employes.create'). Retourne le schéma complet.",
      "type": "string"
    },
    "module": {
      "description": "Nom du module (ex: 'rh', 'finance', 'clients'). Optionnel.",
      "type": "string"
    },
    "search": {
      "description": "Recherche textuelle dans les noms d'action et descriptions. Optionnel.",
      "type": "string"
    }
  },
  "additionalProperties": false
}
🔴eyeot_call(action, params)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "action": {
      "description": "Nom canonique de l'action (ex: 'rh.employes.create').",
      "type": "string"
    },
    "params": {
      "additionalProperties": true,
      "description": "Tous les paramètres mélangés : path params (id, ...), query params (limit, cursor, ...) et body fields. Le serveur route automatiquement selon la spec OpenAPI.",
      "type": "object"
    }
  },
  "required": [
    "action"
  ],
  "additionalProperties": false
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet33 Tools
verifiziertVersion nicht aufgezeichnet33 Tools