boondmanager-mcp-server 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +237 -96
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -4,64 +4,135 @@
4
4
  [![npm version](https://img.shields.io/npm/v/boondmanager-mcp-server.svg)](https://www.npmjs.com/package/boondmanager-mcp-server)
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
6
 
7
- Serveur MCP (Model Context Protocol) pour l'API BoondManager, permettant à Claude (Desktop, Cowork, Code) de rechercher, consulter, créer et modifier des enregistrements dans votre instance BoondManager.
8
-
9
- ## 🎯 Domaines couverts
10
-
11
- | Domaine | Outils | Description |
12
- |---------|--------|-------------|
13
- | **Candidats** | search, get, create, update, delete + 4 onglets | Gestion du vivier de candidats |
14
- | **Ressources** | search, get, create, update, delete + 6 onglets | Gestion des collaborateurs/consultants |
15
- | **Contacts** | search, get, create, update, delete + 3 onglets | Contacts clients et partenaires |
16
- | **Sociétés** | search, get, create, update, delete + 3 onglets | Entreprises clientes et prospects |
17
- | **Opportunités** | search, get, create, update, delete + 3 onglets | Pipeline commercial |
18
- | **Actions** | search, get, create, delete | Suivi d'activité (appels, emails, RDV) |
19
- | **Feuilles de temps** | search, get, resource timesheets | Consultation des temps saisis |
20
- | **Projets** | search, get, create, update, delete + 4 onglets | Gestion des missions / projets |
21
- | **Factures** | search, get, create, update, delete | Facturation client |
22
- | **Bons de commande** | search, get, create, update, delete | Bons de commande |
23
- | **Livraisons / CRA** | search, get | Comptes rendus d'activité |
24
- | **Absences** | search, get, create, update, delete | Congés, RTT, maladie |
25
- | **Notes de frais** | search, get, create, update, delete | Remboursement de frais |
26
- | **Produits** | search, get, create, update, delete | Catalogue de produits/prestations |
27
- | **Positionnements** | search, get, create, delete | Placement candidats/ressources |
28
- | **Paiements** | search, get | Suivi des règlements |
29
- | **Avantages** | search, get | Tickets restaurant, mutuelle, primes... |
30
- | **Application** | dictionnaire, utilisateur courant | Dictionnaires de référence et profil |
31
-
32
- **Total : 84 outils**
33
-
34
- ### Détail des onglets par entité
35
-
36
- | Entité | Onglets disponibles |
7
+ Serveur MCP (Model Context Protocol) pour l'API BoondManager, permettant a Claude (Desktop, Cowork, Code) de rechercher, consulter, creer et modifier des enregistrements dans votre instance BoondManager.
8
+
9
+ **158 outils** couvrant **36 domaines** de l'API BoondManager.
10
+
11
+ ## Domaines couverts
12
+
13
+ ### CRM & Commercial
14
+
15
+ | Domaine | Outils | Operations |
16
+ |---------|--------|------------|
17
+ | **Candidats** | 10 | CRUD + information, technical-data, administrative, actions, positionings |
18
+ | **Ressources** | 15 | CRUD + information, technical-data, administrative, advantages, actions, positionings, projects, times-reports, expenses-reports, absences-reports |
19
+ | **Contacts** | 11 | CRUD + information, actions, opportunities, projects, orders, invoices |
20
+ | **Societes** | 14 | CRUD + information, contacts, actions, opportunities, projects, orders, invoices, purchases, provider-invoices |
21
+ | **Opportunites** | 10 | CRUD + information, actions, positionings, projects, simulation |
22
+
23
+ ### Gestion de projets
24
+
25
+ | Domaine | Outils | Operations |
26
+ |---------|--------|------------|
27
+ | **Projets** | 12 | CRUD + information, actions, simulation, deliveries-groupments, orders, purchases, productivity |
28
+ | **Positionnements** | 4 | search, get, create, delete |
29
+ | **Livraisons / CRA** | 2 | search, get |
30
+ | **Achats / Sous-traitance** | 4 | search, get, create, delete |
31
+
32
+ ### Facturation & Finance
33
+
34
+ | Domaine | Outils | Operations |
35
+ |---------|--------|------------|
36
+ | **Factures client** | 5 | CRUD complet |
37
+ | **Factures fournisseur** | 2 | search, get |
38
+ | **Bons de commande** | 5 | CRUD complet |
39
+ | **Paiements** | 2 | search, get |
40
+ | **Notes de frais** | 5 | CRUD complet |
41
+ | **Produits** | 5 | CRUD complet |
42
+
43
+ ### RH & Temps
44
+
45
+ | Domaine | Outils | Operations |
46
+ |---------|--------|------------|
47
+ | **Absences** | 5 | CRUD complet |
48
+ | **Planning absences** | 1 | search (vue globale) |
49
+ | **Feuilles de temps** | 3 | search, get, resource timesheets |
50
+ | **Contrats** | 2 | get, create |
51
+ | **Avantages** | 2 | search, get |
52
+
53
+ ### Suivi d'activite
54
+
55
+ | Domaine | Outils | Operations |
56
+ |---------|--------|------------|
57
+ | **Actions** | 4 | search, get, create, delete |
58
+ | **Validations** | 2 | search, get |
59
+ | **Todolists** | 2 | search, get |
60
+
61
+ ### Reporting
62
+
63
+ | Domaine | Outils | Operations |
64
+ |---------|--------|------------|
65
+ | **Reporting societes** | 1 | search |
66
+ | **Reporting projets** | 1 | search |
67
+ | **Reporting ressources** | 1 | search |
68
+ | **Reporting synthese** | 1 | search |
69
+ | **Reporting plans de production** | 1 | search |
70
+
71
+ ### Administration & Configuration
72
+
73
+ | Domaine | Outils | Operations |
74
+ |---------|--------|------------|
75
+ | **Comptes utilisateurs** | 2 | search, get |
76
+ | **Agences** | 2 | search, get |
77
+ | **Business Units** | 2 | search, get |
78
+ | **Poles** | 2 | search, get |
79
+ | **Roles** | 2 | search, get |
80
+ | **Calendriers** | 2 | search, get |
81
+ | **Drapeaux / Etiquettes** | 2 | search, get |
82
+ | **Webhooks** | 2 | search, get |
83
+ | **Logs d'audit** | 2 | search, get |
84
+ | **Notifications** | 2 | search, get |
85
+ | **Fils de discussion** | 2 | search, get |
86
+ | **Application** | 2 | dictionnaire, utilisateur courant |
87
+
88
+ ### Detail des onglets par entite
89
+
90
+ Les entites principales disposent d'outils dedies par onglet pour un acces cible :
91
+
92
+ | Entite | Onglets disponibles |
37
93
  |--------|-------------------|
38
- | Candidats | information, technical, actions, documents |
39
- | Ressources | information, technical, financial, actions, contracts, documents |
40
- | Contacts | information, actions, documents |
41
- | Sociétés | information, actions, documents |
42
- | Opportunités | information, actions, documents |
43
- | Projets | information, planning, actions, documents |
94
+ | Candidats | information, technical-data, administrative, actions, positionings |
95
+ | Ressources | information, technical-data, administrative, advantages, actions, positionings, projects, times-reports, expenses-reports, absences-reports |
96
+ | Contacts | information, actions, opportunities, projects, orders, invoices |
97
+ | Societes | information, contacts, actions, opportunities, projects, orders, invoices, purchases, provider-invoices |
98
+ | Opportunites | information, actions, positionings, projects, simulation |
99
+ | Projets | information, actions, simulation, deliveries-groupments, orders, purchases, productivity |
44
100
 
45
- ## 📋 Prérequis
101
+ ## Prerequis
46
102
 
47
103
  - Node.js >= 20
48
- - Un compte BoondManager avec accès API activé
49
- - L'option "Allow API Rest calls using BasicAuth authentication" activée dans la configuration BoondManager (si BasicAuth)
104
+ - Un compte BoondManager avec acces API active
105
+ - L'option "Allow API Rest calls using BasicAuth authentication" activee dans la configuration BoondManager (si BasicAuth)
50
106
 
51
- ## 🚀 Installation
107
+ ## Installation
108
+
109
+ ### Via npm (recommande)
110
+
111
+ ```bash
112
+ npx boondmanager-mcp-server
113
+ ```
114
+
115
+ Ou installation globale :
52
116
 
53
117
  ```bash
54
- git clone <votre-repo>/boondmanager-mcp-server
118
+ npm install -g boondmanager-mcp-server
119
+ boondmanager-mcp-server
120
+ ```
121
+
122
+ ### Depuis les sources
123
+
124
+ ```bash
125
+ git clone https://github.com/fauguste/boondmanager-mcp-server.git
55
126
  cd boondmanager-mcp-server
56
127
  npm install
57
128
  npm run build
58
129
  ```
59
130
 
60
- ## ⚙️ Configuration
131
+ ## Configuration
61
132
 
62
133
  ### Variables d'environnement
63
134
 
64
- **Option 1 : BasicAuth (recommandé pour démarrer)**
135
+ **Option 1 : BasicAuth (recommande pour demarrer)**
65
136
  ```bash
66
137
  export BOOND_USER="votre_login"
67
138
  export BOOND_PASSWORD="votre_mot_de_passe"
@@ -72,11 +143,13 @@ export BOOND_PASSWORD="votre_mot_de_passe"
72
143
  export BOOND_API_TOKEN="votre_token_jwt"
73
144
  ```
74
145
 
75
- **Option 3 : URL personnalisée (si instance dédiée)**
146
+ **Option 3 : URL personnalisee (si instance dediee)**
76
147
  ```bash
77
148
  export BOOND_BASE_URL="https://votre-instance.boondmanager.com/api"
78
149
  ```
79
150
 
151
+ Par defaut, l'URL est `https://ui.boondmanager.com/api`.
152
+
80
153
  ### Configuration Claude Desktop / Cowork
81
154
 
82
155
  Ajoutez dans votre fichier de configuration Claude :
@@ -84,6 +157,23 @@ Ajoutez dans votre fichier de configuration Claude :
84
157
  **macOS** : `~/Library/Application Support/Claude/claude_desktop_config.json`
85
158
  **Windows** : `%APPDATA%\Claude\claude_desktop_config.json`
86
159
 
160
+ ```json
161
+ {
162
+ "mcpServers": {
163
+ "boondmanager": {
164
+ "command": "npx",
165
+ "args": ["-y", "boondmanager-mcp-server"],
166
+ "env": {
167
+ "BOOND_USER": "votre_login",
168
+ "BOOND_PASSWORD": "votre_mot_de_passe"
169
+ }
170
+ }
171
+ }
172
+ }
173
+ ```
174
+
175
+ Ou si installe depuis les sources :
176
+
87
177
  ```json
88
178
  {
89
179
  "mcpServers": {
@@ -99,59 +189,99 @@ Ajoutez dans votre fichier de configuration Claude :
99
189
  }
100
190
  ```
101
191
 
102
- ## 💬 Exemples d'utilisation
192
+ ## Exemples d'utilisation
103
193
 
104
- Une fois configuré, vous pouvez demander à Claude :
194
+ Une fois configure, vous pouvez demander a Claude :
105
195
 
106
- - *"Recherche les candidats avec des compétences en React à Paris"*
107
- - *"Montre-moi les détails de la ressource #12345"*
108
- - *"Crée un nouveau contact Jean Dupont chez Acme Corp"*
109
- - *"Liste toutes les opportunités en cours"*
110
- - *"Quelles sont les actions récentes sur le candidat #789 ?"*
111
- - *"Mets à jour l'email du contact #456"*
112
- - *"Affiche les feuilles de temps de la ressource #100 pour mars 2025"*
113
- - *"Crée un projet Mission Alpha pour la société #42"*
196
+ **CRM & Commercial**
197
+ - *"Recherche les candidats avec des competences en React a Paris"*
198
+ - *"Montre-moi les details techniques de la ressource #12345"*
199
+ - *"Cree un nouveau contact Jean Dupont chez Acme Corp"*
200
+ - *"Liste toutes les opportunites en cours"*
201
+ - *"Quels sont les positionnements de l'opportunite #20 ?"*
202
+
203
+ **Gestion de projets**
204
+ - *"Cree un projet Mission Alpha pour la societe #42"*
205
+ - *"Affiche le planning du projet #33"*
206
+ - *"Quels sont les bons de commande du projet #55 ?"*
207
+ - *"Affiche la productivite du projet #12"*
208
+
209
+ **Facturation & Finance**
114
210
  - *"Recherche les factures en attente de paiement"*
115
- - *"Liste les absences prévues ce mois-ci"*
211
+ - *"Liste les factures fournisseur de la societe #100"*
212
+ - *"Affiche les achats du projet #55"*
213
+
214
+ **RH & Temps**
215
+ - *"Affiche les feuilles de temps de la ressource #100 pour mars 2025"*
216
+ - *"Liste les absences prevues ce mois-ci"*
116
217
  - *"Affiche les notes de frais de la ressource #200"*
117
- - *"Quels sont les bons de commande du projet #55 ?"*
118
- - *"Récupère le dictionnaire des types d'actions"*
119
- - *"Positionne le candidat #10 sur l'opportunité #20"*
120
- - *"Affiche le planning du projet #33"*
218
+ - *"Quels sont les avantages de la ressource #50 ?"*
219
+
220
+ **Suivi d'activite**
221
+ - *"Quelles sont les actions recentes sur le candidat #789 ?"*
222
+ - *"Affiche les validations en attente"*
223
+ - *"Liste les taches de ma todolist"*
121
224
 
122
- ## 🏗️ Architecture
225
+ **Reporting**
226
+ - *"Affiche le reporting de synthese globale"*
227
+ - *"Quel est le reporting de productivite des ressources ?"*
228
+
229
+ **Administration**
230
+ - *"Recupere le dictionnaire des types d'actions"*
231
+ - *"Liste les agences et business units"*
232
+ - *"Affiche les webhooks configures"*
233
+
234
+ ## Architecture
123
235
 
124
236
  ```
125
237
  boondmanager-mcp-server/
126
238
  ├── src/
127
- │ ├── index.ts # Point d'entrée MCP (stdio)
128
- │ ├── constants.ts # Configuration et constantes
239
+ │ ├── index.ts # Point d'entree MCP (stdio)
240
+ │ ├── constants.ts # Configuration, API paths, onglets
129
241
  │ ├── types.ts # Types TypeScript (JSON:API)
130
242
  │ ├── services/
131
243
  │ │ └── boond-client.ts # Client HTTP API BoondManager
132
244
  │ ├── schemas/
133
- │ │ └── index.ts # Schémas Zod (validation)
245
+ │ │ └── index.ts # Schemas Zod (validation des entrees)
134
246
  │ └── tools/
135
- │ ├── index.ts # Export barrel
136
- │ ├── crud-factory.ts # Factory générique CRUD (DRY)
137
- │ ├── candidates.ts # Outils candidats (CRUD + onglets)
138
- │ ├── resources.ts # Outils ressources (CRUD + onglets)
139
- │ ├── contacts.ts # Outils contacts (CRUD + onglets)
140
- │ ├── companies.ts # Outils sociétés (CRUD + onglets)
141
- │ ├── opportunities.ts # Outils opportunités (CRUD + onglets)
142
- │ ├── actions.ts # Outils actions
143
- │ ├── timesheets.ts # Outils feuilles de temps
144
- │ ├── projects.ts # Outils projets (CRUD + onglets)
145
- │ ├── invoices.ts # Outils factures
146
- │ ├── orders.ts # Outils bons de commande
147
- │ ├── deliveries.ts # Outils livraisons / CRA
148
- │ ├── absences.ts # Outils absences
149
- │ ├── expenses.ts # Outils notes de frais
150
- │ ├── products.ts # Outils produits
151
- │ ├── positionings.ts # Outils positionnements
152
- │ ├── payments.ts # Outils paiements
153
- │ ├── advantages.ts # Outils avantages
154
- │ └── application.ts # Outils application (dictionnaires)
247
+ │ ├── index.ts # Barrel export de tous les domaines
248
+ │ ├── crud-factory.ts # Factory generique CRUD (DRY)
249
+ │ ├── candidates.ts # 10 outils (CRUD + 5 onglets)
250
+ │ ├── resources.ts # 15 outils (CRUD + 10 onglets)
251
+ │ ├── contacts.ts # 11 outils (CRUD + 6 onglets)
252
+ │ ├── companies.ts # 14 outils (CRUD + 9 onglets)
253
+ │ ├── opportunities.ts # 10 outils (CRUD + 5 onglets)
254
+ │ ├── projects.ts # 12 outils (CRUD + 7 onglets)
255
+ │ ├── actions.ts # 4 outils
256
+ │ ├── timesheets.ts # 3 outils
257
+ │ ├── invoices.ts # 5 outils
258
+ │ ├── orders.ts # 5 outils
259
+ │ ├── deliveries.ts # 2 outils
260
+ │ ├── absences.ts # 5 outils
261
+ │ ├── expenses.ts # 5 outils
262
+ │ ├── products.ts # 5 outils
263
+ │ ├── positionings.ts # 4 outils
264
+ │ ├── payments.ts # 2 outils
265
+ │ ├── advantages.ts # 2 outils
266
+ │ ├── contracts.ts # 2 outils
267
+ │ ├── purchases.ts # 4 outils
268
+ │ ├── provider-invoices.ts # 2 outils
269
+ │ ├── accounts.ts # 2 outils
270
+ │ ├── agencies.ts # 2 outils
271
+ │ ├── business-units.ts # 2 outils
272
+ │ ├── poles.ts # 2 outils
273
+ │ ├── roles.ts # 2 outils
274
+ │ ├── calendars.ts # 2 outils
275
+ │ ├── flags.ts # 2 outils
276
+ │ ├── webhooks.ts # 2 outils
277
+ │ ├── logs.ts # 2 outils
278
+ │ ├── notifications.ts # 2 outils
279
+ │ ├── threads.ts # 2 outils
280
+ │ ├── todolists.ts # 2 outils
281
+ │ ├── validations.ts # 2 outils
282
+ │ ├── reporting.ts # 5 outils
283
+ │ ├── planning-absences.ts # 1 outil
284
+ │ └── application.ts # 2 outils
155
285
  ├── dist/ # Build JavaScript
156
286
  ├── .github/ # CI/CD, templates, Dependabot
157
287
  ├── package.json
@@ -161,17 +291,18 @@ boondmanager-mcp-server/
161
291
  └── README.md
162
292
  ```
163
293
 
164
- ## 🔒 Sécurité
294
+ ## Securite
165
295
 
166
- - Les credentials ne transitent jamais via le réseau MCP — ils sont configurés en variables d'environnement locales
167
- - Le serveur tourne en local (stdio), pas de port réseau exposé
296
+ - Les credentials ne transitent jamais via le reseau MCP -- ils sont configures en variables d'environnement locales
297
+ - Le serveur tourne en local (stdio), pas de port reseau expose
168
298
  - Compatible avec les exigences ISO 27001
169
- - L'API BoondManager est hébergée en France et conforme RGPD
299
+ - L'API BoondManager est hebergee en France et conforme RGPD
300
+ - Authentification par BasicAuth (base64) ou JWT Bearer token
170
301
 
171
- ## 🔧 Développement
302
+ ## Developpement
172
303
 
173
304
  ```bash
174
- # Mode watch pour le développement
305
+ # Mode watch pour le developpement
175
306
  npm run dev
176
307
 
177
308
  # Build
@@ -181,21 +312,31 @@ npm run build
181
312
  npm start
182
313
 
183
314
  # Tests
184
- npm test
185
- npm run test:coverage
315
+ npm test # 255 tests
316
+ npm run test:coverage # Avec couverture
186
317
 
187
- # Lint
318
+ # Qualite
188
319
  npm run lint
189
320
  npm run typecheck
190
321
  ```
191
322
 
192
- ## 📚 Ressources
323
+ ### Stack technique
324
+
325
+ - **Runtime** : Node.js >= 20 (ES2022)
326
+ - **Langage** : TypeScript 5.8+ (mode strict)
327
+ - **MCP SDK** : @modelcontextprotocol/sdk 1.12+
328
+ - **Validation** : Zod 4
329
+ - **Tests** : Vitest 4 + couverture V8
330
+ - **Lint** : ESLint 10 + typescript-eslint
331
+ - **Transport** : stdio (pas de port reseau)
332
+
333
+ ## Ressources
193
334
 
194
335
  - [Documentation API BoondManager](https://doc.boondmanager.com/api-externe/)
195
336
  - [Collection Postman BoondManager](https://www.postman.com/boondmanager)
196
- - [Spécification MCP](https://modelcontextprotocol.io/)
197
- - [pyboondmanager (référence Python)](https://github.com/tominardi/pyboondmanager)
337
+ - [Specification MCP](https://modelcontextprotocol.io/)
338
+ - [pyboondmanager (reference Python)](https://github.com/tominardi/pyboondmanager)
198
339
 
199
- ## 📄 Licence
340
+ ## Licence
200
341
 
201
342
  MIT - Silamir
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "boondmanager-mcp-server",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "MCP Server for BoondManager API - Resources, Candidates & CRM",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",