eyeot ERP

io.github.Termi24v1.1.1更新於 Oct 9, 2026

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

已驗證Streamable HTTP可網頁執行Business & CommerceData & AnalyticsProductivity & Workflow

概覽

AI 產生的概覽

將助理連接到 eyeot ERP,提供數百個自動產生的業務操作,涵蓋 CRM、銷售、庫存、人力資源與財務。

功能
eyeot ERP 伺服器透過 HTTPS 以 MCP 工具形式暴露約 600 個業務操作,涵蓋 CRM、銷售、庫存、維護、人力資源、財務、IT 服務管理、文件管理、GDPR 合規以及若干市集模組。一個小型的 stdio 到 HTTP 橋接套件讓 Claude Desktop、Cursor 等本機 MCP 用戶端能存取這些工具。工具由 ERP 的 OpenAPI 規格自動產生,因此 initialize、tools/list 與 tools/call 的行為符合 MCP 用戶端的預期。橋接程式本身不含業務邏輯;驗證、權限、稽核記錄與租戶隔離都在伺服器端完成。
適用情境
當助理需要讀取或操作 eyeot ERP 租戶中的資料時適合使用,例如列出發票、檢查庫存門檻、建立支援工單或查詢營收預測。它適合已在使用 eyeot、希望以對話方式存取 ERP 記錄的團隊。
執行需求
需要本機 Python 執行環境來安裝 eyeot-mcp 橋接套件,並需要連線至 ERP 端點的網路。必須進行驗證:可透過登入指令使用瀏覽器 OAuth 裝置流程並在本機儲存憑證,或透過 EYEOT_TOKEN 環境變數提供 API 金鑰。自架部署可用基礎 URL 參數指定。
安裝前請注意
此伺服器不僅能讀取,還能建立與修改業務記錄,因此工具呼叫可能寫入 ERP 資料。憑證儲存在本機設定檔中,API 金鑰透過 EYEOT_TOKEN 環境變數傳入,兩者都應視為機密。存取權限由伺服器端角色控管,每個操作都會記錄使用者、租戶與 IP。若訂閱到期,寫入操作會回傳與付費相關的錯誤。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 eyeot ERP,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

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

README

eyeot-mcp

Plug Claude Desktop into your ERP.

Official stdio ↔ HTTP bridge for the eyeot ERP MCP server. ~600 business tools, one pip install.


[PyPI version] [Python] [License: MIT] [MCP]

[Dependencies] [LOC] [Auditable] [Auth]

Landing page · Docs · PyPI · Issues



⚡ 60-second install

bash
pip install eyeot-mcp        # 1.  install the bridgeeyeot-mcp login              # 2.  authenticate via browser (OAuth Device Flow)

Then paste into your Claude Desktop config:

json
{  "mcpServers": {    "eyeot": {      "command": "eyeot-mcp"    }  }}

Restart Claude Desktop. Done. Ask: "List my last 5 invoices."

Config location · macOS ~/Library/Application Support/Claude/claude_desktop_config.json · Windows %APPDATA%\Claude\claude_desktop_config.json


🧩 What is this?

The eyeot ERP exposes ~600 business actions — CRM, sales, stock, maintenance, HR, finance, IT service management, GED, RGPD compliance, plus 6 V2 marketplace modules (POS, delivery & routing, recruitment, BPM, field service, supply chain) — as MCP tools over HTTPS.

But Claude Desktop, Cursor, and most local agents only speak MCP over stdio.

eyeot-mcp is the missing piece between them.

mermaid
flowchart LR    A["🤖 Claude Desktop<br/>Cursor / custom agent"] -- "JSON-RPC<br/>over stdio" --> B["📦 eyeot-mcp<br/>(this package)"]    B -- "HTTPS POST<br/>Bearer token" --> C["🏢 eyeot ERP<br/>(your tenant)"]    C -. "Auth · RBAC · audit<br/>multi-tenant isolation<br/>license guard" .-> C
    style A fill:#eef2ff,stroke:#6366f1,color:#1e293b    style B fill:#f0fdf4,stroke:#10b981,color:#065f46    style C fill:#fef3c7,stroke:#f59e0b,color:#78350f

Zero business logic in the bridge. Everything happens server-side — auth, RBAC, audit logging, license enforcement, multi-tenant isolation, idempotency. The CLI is ~290 lines of Python standard library. You can audit it in 10 minutes.


🎯 What can your agent do?

After install, your MCP client gets access to actions like:

DomainTry saying…
💼 CRM"Create a quote for ACME — 10 units of PROD-001 at standard tariff."
📊 Sales"List my last 5 invoices and their payment status."
📦 Stock"Which products in Lyon site are below the critical threshold?"
🔧 Maintenance"Which equipment is overdue for preventive maintenance this week?"
👥 HR"Show me pending leave requests for my team."
💰 Finance"What's the revenue forecast for Q3 by business unit?"
🎫 IT support"Open a ticket: VPN is down for the marketing team, P1."
📄 GED"Find all signed NDAs for partner XYZ."
🧠 Intelligence"Customer-health distribution across all active accounts."
🧾 POS / Caisse"Today's Z-report total for the Lyon register."
🚚 Delivery"Optimize today's route for vehicle TL-204 and notify recipients."
🧑‍💼 Recruitment"Shortlist candidates for the senior developer posting."
⚙️ Process / BPM"Which approval tasks are pending in my inbox?"
🏗️ Field service"Schedule a site intervention for client XYZ next Tuesday."
🔩 Supply chain"Run MRP and list the components to reorder this week."

…and ~590 more, auto-generated from the OpenAPI spec.


🔐 Authentication

Two modes, same Bearer header on the wire, same Authorization decorator server-side.

🤖 OAuth 2.1 (humans)

🔑 API key (services)

For Claude Desktop, Cursor, personal agents.

bash
eyeot-mcp login

Opens browser → approve → done. Credentials saved to ~/.eyeot-mcp/config.json (mode 0600).

  • Token format: eya_<base64> access + eyr_<base64> refresh
  • Lifetime: 1 h access / 30 d refresh
  • PKCE S256 mandatory (public clients)
  • Refresh rotation with replay detection — a stolen refresh kills the whole token family
  • The CLI auto-refreshes the access token (proactively before expiry + on a 401) — stay connected for the full 30-day refresh window without re-running login

For CI/CD agents, batch jobs, server-to-server.

json
{  "mcpServers": {    "eyeot": {      "command": "eyeot-mcp",      "env": { "EYEOT_TOKEN": "eyk_xxx_xxx" }    }  }}

Issued by an org admin from the eyeot ERP settings panel.

  • Token format: eyk_<prefix>_<secret>
  • Lifetime: until revoked
  • Scope: org-wide, configurable RBAC

🛡️ Security model

🔒

OAuth 2.1 + PKCE

Public clients use PKCE S256. Refresh rotation with replay detection.

👮

Server-side RBAC

Every tool call goes through the same @permissions_required decorators as the UI.

📝

Full audit trail

Every action logged with user + tenant + IP. RGPD-compliant retention.

💳

License grace

Subscription lapsed? GETs still work so the agent can inform you. POSTs return 402 with activate_url.

Local credentials stored at ~/.eyeot-mcp/config.json with file mode 0600 (POSIX). On Windows, file ACLs apply. No telemetry, no phone-home.


🏗️ Self-hosting

Point the bridge at any eyeot deployment with --base-url:

bash
eyeot-mcp --base-url https://erp.example.com login
json
{  "mcpServers": {    "eyeot": {      "command": "eyeot-mcp",      "args": ["--base-url", "https://erp.example.com"]    }  }}

Same protocol, same auth, your infra.


📚 Commands

CommandDescription
eyeot-mcpStart the stdio bridge using saved credentials (default mode — what Claude Desktop runs)
eyeot-mcp loginBrowser-based OAuth Device Authorization Grant
eyeot-mcp logoutRevoke refresh token server-side, delete local credentials
eyeot-mcp --token eyk_...One-shot mode with an explicit API key
eyeot-mcp --base-url URL ...Target a self-hosted deployment

🔧 How it works (under the hood)

  1. Claude Desktop spawns eyeot-mcp as a child process, exchanges JSON-RPC 2.0 over its stdin/stdout pipes.
  2. For each line received on stdin, the bridge POSTs the JSON to ${base_url}/api/v1/mcp with Authorization: Bearer <token>.
  3. The HTTP response is written verbatim to stdout, framed as line-delimited JSON.
  4. The server speaks MCP 2024-11-05 and auto-generates ~600 tools from the OpenAPI spec — initialize, tools/list, tools/call all work exactly as MCP clients expect.

No state in the bridge. No protocol translation beyond transport. No surprises.


📖 Resources

Landing & install
API
Spec & protocol

🧭 Versioning

  • This package: Semantic Versioning. Major bumps may change CLI flags or the on-disk config schema.
  • MCP protocol: 2024-11-05 (negotiated server-side).
  • ERP API: /api/v1 (stable). Breaking changes ship as /api/v2.

📄 License

MIT — fork it, package it, audit it, build on top of it.

The eyeot ERP backend is a separate, proprietary product of Eyeot Software. This bridge is open-source so anyone can audit it, fork it, package it for their distro, or use it as a reference for building their own MCP clients.



ERP by Eyeot Software

Multi-tenant, AI-native ERP for SMBs. Built to be operated by AI agents from day one.

Every action you can do in the UI, you can do via this bridge.

🌐 erp.eyeot.fr · ✉️ [email protected]

來源:README.md,提交 3490502

工具

0
工具後設資料尚未被收錄。

版本歷史

1
  1. v1.1.1最新Sep 16, 2026