ebp-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ebp-mcplist recent invoices from Hubbix Comptabilité"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ebp-mcp
Projet de serveur MCP communautaire pour consulter les données EBP Cloud/SaaS via des outils métier. Non affilié à EBP Informatique.
État : implémentation v0.1 lancée dans Paperclip ; aucun serveur exécutable ni paquet npm publié dans ce dépôt à cette date. L'analyse, les contrats et le plan ont été validés le 2026-10-06. Le corpus est publié sur GitHub ; T01 est en cours et T02–T14 attendent leurs dépendances.
Dépôt : GoulvenF/ebp-mcp, licence MIT, paquet @goulvenf/ebp-mcp. La publication GitHub du corpus précède le développement ; la publication npm fait l'objet du jalon T24.
Périmètre cible : Hubbix Comptabilité, Hubbix Gestion Commerciale, SaaS Gestion Commerciale et SaaS Bâtiment. Première livraison prévue : socle TypeScript/Node 24, transport stdio, 17 outils Hubbix testés sur mocks. Identifiants EBP fournis par l'utilisateur ; lecture seule. Les données exposées au client MCP peuvent être transmises au fournisseur de modèle qu'il utilise.
Configuration
config.json vit sous $XDG_CONFIG_HOME/ebp-mcp (sinon ~/.config/ebp-mcp). Voir
examples/config.demo.json pour un profil avec des dossiers
synthétiques en prod et en preprod. Secrets (clientSecret, subscriptionKey) recommandés en
variables d'environnement plutôt qu'en fichier — voir .env.example. La précédence
normative (CLI > env > profil > défaut) est décrite dans 07 §2 et vérifiée
par la table de tests tests/config/precedence.test.ts.
Related MCP server: week7-mcp-server
Développement
Paquet non publié ("private": true). Depuis un clone, après npm ci :
npm ci # installation reproductible depuis package-lock.json
npm run typecheck # tsc --noEmit sur src/ et tests/
npm test # vitest run (déclenche le build si nécessaire)
npm run build # tsc -p tsconfig.build.json → dist/
npm run verify:pack # contrôle du tarball npm (après build)Tests sans réseau. npm test charge une garde réseau (tests/cli/garde-reseau.mjs)
dans chaque worker vitest (setupFiles) et, via NODE_OPTIONS=--import, dans chaque processus Node
enfant (tests/garde/global-setup.ts). Seul le loopback est permis ;
toute autre émission (fetch, net, tls, dns) est bloquée et journalisée, et la suite échoue
en fin d'exécution avec les cibles en cause, même si le test a avalé l'erreur. Preuve :
tests/garde/garde-globale.test.ts.
Contrôle du tarball. npm run verify:pack (scripts/verifier-paquet.mjs)
lance npm pack --dry-run --json et refuse le paquet si un fichier sort de dist/**, package.json,
README.md, LICENSE, porte un nom sensible (.env*, config.json, tokens.json,
generations.json, *.pem, *.key, *.har, fixtures de corpus, tests) ou contient un motif de
secret (Authorization: Bearer avec valeur, JWT, clé privée PEM, refresh_token/access_token
littéral, e-mail hors domaines d'exemple). Les refus citent fichier, ligne et règle, jamais la
valeur. Les vrais positifs légitimes sont listés et justifiés dans EXCEPTIONS. La CI l'exécute
après le build.
Binaire ebp-mcp
Non publié ni installé globalement : après npm run build, le binaire est dist/cli.js
(exécutable, shebang Node). Toujours l'invoquer explicitement avec node dans ce dépôt :
node dist/cli.js <commande> [options]Commandes : serve (défaut), login [--no-browser], logout, status [--json],
dossiers list [--json], dossiers add --famille <hubbix-compta|hubbix-gescom> --id <guid> --alias <alias> [--nom <nom>], dossiers remove --alias <alias>.
Options communes : --profile <p>, --env <prod|preprod>, --mock (données synthétiques,
aucun réseau réel). --help/-h et --version existent au niveau global et par commande.
Codes de sortie : 0 succès ; 2 entrée/config invalide ou usage (commande/option inconnue) ;
3 authentification requise ; 1 toute autre erreur.
Démonstration hors ligne (--mock)
node dist/cli.js login --mock # écrit des tokens simulés sous <racine>/mock/
node dist/cli.js serve --mock # serveur MCP sur stdio, données synthétiquesAucune émission réseau réelle en mode mock (transport simulé, identité OAuth simulée). Les
réponses portent meta.mode: "mock" ; les données exposées sont synthétiques (jeu de démo
src/mock/donnees/), jamais des données EBP réelles.
MCP Inspector local
npx @modelcontextprotocol/inspector node dist/cli.js serve --mockRelated MCP Connectors
Read-only MCP access to a documented IT fleet: state, changes, posture. 15 tools.
Read-only developer, date, finance, and text utilities. Authless remote MCP server by Clean.tools.
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
Related MCP Servers
- AlicenseAqualityCmaintenanceRead-only MCP server for Dynamics 365 Business Central, enabling AI clients to query live ERP data like customers, items, orders, and invoices via GET-only APIs with dual authentication and stdio/HTTP transports.10MIT
- FlicenseNot gradedqualityCmaintenanceEnables MCP-compatible clients to retrieve invoice and purchase order data live over stdio through tools for listing invoices, getting invoice details, and fetching purchase orders.-
- FlicenseNot gradedqualityCmaintenanceEnables querying enterprise records and retention policies from any MCP client over stdio, with read-only tools for searching records, fetching retention verdicts, identifying archival candidates, summarizing departments, forecasting retentions, and viewing audit history.-
- AlicenseNot gradedqualityBmaintenanceEnables MCP-based integration with the Priority ERP OData REST API, with strict environment validation and a read-only default. As of the current README, no tools are registered yet; the server only boots and waits on stdio.MIT