eyeot ERP

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

我该使用它吗

质量与安全性

B
描述质量
64%
模式完整度
62%
命名质量
94%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

发现(17)

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

基于对工具定义和协议合规性的自动分析。

上下文开销

~4,368token 数(工具定义)
~954 B典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 3.41%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

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

远程端点

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

它能做什么

工具清单

工具(33)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢whoami

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

输入模式

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

Lister les clients (CRM)

输入模式

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

Créer un client

输入模式

{
  "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

输入模式

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

Mettre à jour un client

输入模式

{
  "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

输入模式

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

Créer une opportunité

输入模式

{
  "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

输入模式

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

Lister les devis

输入模式

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

Créer un devis

输入模式

{
  "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)

输入模式

{
  "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

输入模式

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

Lister les factures

输入模式

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

Créer une facture

输入模式

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

Créer une facture à partir d'un devis

输入模式

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

Lister les produits / catalogue

输入模式

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

Créer un produit (catalogue stock)

输入模式

{
  "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

输入模式

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

Dashboard stock (KPIs)

输入模式

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

Lister les employés

输入模式

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

Créer un employé

输入模式

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

Lister les demandes de congés

输入模式

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

Demander un congé

输入模式

{
  "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

输入模式

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

Créer un ticket IT

输入模式

{
  "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

输入模式

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

Lister les bons de commande

输入模式

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

Créer un bon de commande

输入模式

{
  "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

输入模式

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

Alertes du dashboard

输入模式

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

Recherche globale cross-module

输入模式

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

输入模式

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

输入模式

{
  "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
}

社区

评价此服务器

证据

最近观测

已验证未记录版本33 个工具
已验证未记录版本33 个工具
已验证未记录版本33 个工具