boondmanager-mcp-server 1.0.0

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 (103) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +201 -0
  3. package/dist/constants.d.ts +32 -0
  4. package/dist/constants.d.ts.map +1 -0
  5. package/dist/constants.js +35 -0
  6. package/dist/constants.js.map +1 -0
  7. package/dist/index.d.ts +3 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +47 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/schemas/index.d.ts +347 -0
  12. package/dist/schemas/index.d.ts.map +1 -0
  13. package/dist/schemas/index.js +364 -0
  14. package/dist/schemas/index.js.map +1 -0
  15. package/dist/services/boond-client.d.ts +12 -0
  16. package/dist/services/boond-client.d.ts.map +1 -0
  17. package/dist/services/boond-client.js +123 -0
  18. package/dist/services/boond-client.js.map +1 -0
  19. package/dist/tools/absences.d.ts +3 -0
  20. package/dist/tools/absences.d.ts.map +1 -0
  21. package/dist/tools/absences.js +116 -0
  22. package/dist/tools/absences.js.map +1 -0
  23. package/dist/tools/actions.d.ts +3 -0
  24. package/dist/tools/actions.d.ts.map +1 -0
  25. package/dist/tools/actions.js +100 -0
  26. package/dist/tools/actions.js.map +1 -0
  27. package/dist/tools/advantages.d.ts +3 -0
  28. package/dist/tools/advantages.d.ts.map +1 -0
  29. package/dist/tools/advantages.js +47 -0
  30. package/dist/tools/advantages.js.map +1 -0
  31. package/dist/tools/application.d.ts +3 -0
  32. package/dist/tools/application.d.ts.map +1 -0
  33. package/dist/tools/application.js +60 -0
  34. package/dist/tools/application.js.map +1 -0
  35. package/dist/tools/candidates.d.ts +3 -0
  36. package/dist/tools/candidates.d.ts.map +1 -0
  37. package/dist/tools/candidates.js +90 -0
  38. package/dist/tools/candidates.js.map +1 -0
  39. package/dist/tools/companies.d.ts +3 -0
  40. package/dist/tools/companies.d.ts.map +1 -0
  41. package/dist/tools/companies.js +79 -0
  42. package/dist/tools/companies.js.map +1 -0
  43. package/dist/tools/contacts.d.ts +3 -0
  44. package/dist/tools/contacts.d.ts.map +1 -0
  45. package/dist/tools/contacts.js +85 -0
  46. package/dist/tools/contacts.js.map +1 -0
  47. package/dist/tools/crud-factory.d.ts +16 -0
  48. package/dist/tools/crud-factory.d.ts.map +1 -0
  49. package/dist/tools/crud-factory.js +146 -0
  50. package/dist/tools/crud-factory.js.map +1 -0
  51. package/dist/tools/deliveries.d.ts +3 -0
  52. package/dist/tools/deliveries.d.ts.map +1 -0
  53. package/dist/tools/deliveries.js +48 -0
  54. package/dist/tools/deliveries.js.map +1 -0
  55. package/dist/tools/expenses.d.ts +3 -0
  56. package/dist/tools/expenses.d.ts.map +1 -0
  57. package/dist/tools/expenses.js +119 -0
  58. package/dist/tools/expenses.js.map +1 -0
  59. package/dist/tools/index.d.ts +19 -0
  60. package/dist/tools/index.d.ts.map +1 -0
  61. package/dist/tools/index.js +19 -0
  62. package/dist/tools/index.js.map +1 -0
  63. package/dist/tools/invoices.d.ts +3 -0
  64. package/dist/tools/invoices.d.ts.map +1 -0
  65. package/dist/tools/invoices.js +119 -0
  66. package/dist/tools/invoices.js.map +1 -0
  67. package/dist/tools/opportunities.d.ts +3 -0
  68. package/dist/tools/opportunities.d.ts.map +1 -0
  69. package/dist/tools/opportunities.js +88 -0
  70. package/dist/tools/opportunities.js.map +1 -0
  71. package/dist/tools/orders.d.ts +3 -0
  72. package/dist/tools/orders.d.ts.map +1 -0
  73. package/dist/tools/orders.js +118 -0
  74. package/dist/tools/orders.js.map +1 -0
  75. package/dist/tools/payments.d.ts +3 -0
  76. package/dist/tools/payments.d.ts.map +1 -0
  77. package/dist/tools/payments.js +48 -0
  78. package/dist/tools/payments.js.map +1 -0
  79. package/dist/tools/positionings.d.ts +3 -0
  80. package/dist/tools/positionings.d.ts.map +1 -0
  81. package/dist/tools/positionings.js +100 -0
  82. package/dist/tools/positionings.js.map +1 -0
  83. package/dist/tools/products.d.ts +3 -0
  84. package/dist/tools/products.d.ts.map +1 -0
  85. package/dist/tools/products.js +22 -0
  86. package/dist/tools/products.js.map +1 -0
  87. package/dist/tools/projects.d.ts +3 -0
  88. package/dist/tools/projects.d.ts.map +1 -0
  89. package/dist/tools/projects.js +101 -0
  90. package/dist/tools/projects.js.map +1 -0
  91. package/dist/tools/resources.d.ts +3 -0
  92. package/dist/tools/resources.d.ts.map +1 -0
  93. package/dist/tools/resources.js +112 -0
  94. package/dist/tools/resources.js.map +1 -0
  95. package/dist/tools/timesheets.d.ts +3 -0
  96. package/dist/tools/timesheets.d.ts.map +1 -0
  97. package/dist/tools/timesheets.js +116 -0
  98. package/dist/tools/timesheets.js.map +1 -0
  99. package/dist/types.d.ts +37 -0
  100. package/dist/types.d.ts.map +1 -0
  101. package/dist/types.js +3 -0
  102. package/dist/types.js.map +1 -0
  103. package/package.json +55 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Silamir
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,201 @@
1
+ # BoondManager MCP Server
2
+
3
+ [![CI](https://github.com/fauguste/boondmanager-mcp-server/actions/workflows/ci.yml/badge.svg)](https://github.com/fauguste/boondmanager-mcp-server/actions/workflows/ci.yml)
4
+ [![npm version](https://img.shields.io/npm/v/boondmanager-mcp-server.svg)](https://www.npmjs.com/package/boondmanager-mcp-server)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
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 |
37
+ |--------|-------------------|
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 |
44
+
45
+ ## 📋 Prérequis
46
+
47
+ - Node.js >= 18
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)
50
+
51
+ ## 🚀 Installation
52
+
53
+ ```bash
54
+ git clone <votre-repo>/boondmanager-mcp-server
55
+ cd boondmanager-mcp-server
56
+ npm install
57
+ npm run build
58
+ ```
59
+
60
+ ## ⚙️ Configuration
61
+
62
+ ### Variables d'environnement
63
+
64
+ **Option 1 : BasicAuth (recommandé pour démarrer)**
65
+ ```bash
66
+ export BOOND_USER="votre_login"
67
+ export BOOND_PASSWORD="votre_mot_de_passe"
68
+ ```
69
+
70
+ **Option 2 : Token API (JWT)**
71
+ ```bash
72
+ export BOOND_API_TOKEN="votre_token_jwt"
73
+ ```
74
+
75
+ **Option 3 : URL personnalisée (si instance dédiée)**
76
+ ```bash
77
+ export BOOND_BASE_URL="https://votre-instance.boondmanager.com/api"
78
+ ```
79
+
80
+ ### Configuration Claude Desktop / Cowork
81
+
82
+ Ajoutez dans votre fichier de configuration Claude :
83
+
84
+ **macOS** : `~/Library/Application Support/Claude/claude_desktop_config.json`
85
+ **Windows** : `%APPDATA%\Claude\claude_desktop_config.json`
86
+
87
+ ```json
88
+ {
89
+ "mcpServers": {
90
+ "boondmanager": {
91
+ "command": "node",
92
+ "args": ["/chemin/absolu/vers/boondmanager-mcp-server/dist/index.js"],
93
+ "env": {
94
+ "BOOND_USER": "votre_login",
95
+ "BOOND_PASSWORD": "votre_mot_de_passe"
96
+ }
97
+ }
98
+ }
99
+ }
100
+ ```
101
+
102
+ ## 💬 Exemples d'utilisation
103
+
104
+ Une fois configuré, vous pouvez demander à Claude :
105
+
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"*
114
+ - *"Recherche les factures en attente de paiement"*
115
+ - *"Liste les absences prévues ce mois-ci"*
116
+ - *"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"*
121
+
122
+ ## 🏗️ Architecture
123
+
124
+ ```
125
+ boondmanager-mcp-server/
126
+ ├── src/
127
+ │ ├── index.ts # Point d'entrée MCP (stdio)
128
+ │ ├── constants.ts # Configuration et constantes
129
+ │ ├── types.ts # Types TypeScript (JSON:API)
130
+ │ ├── services/
131
+ │ │ └── boond-client.ts # Client HTTP API BoondManager
132
+ │ ├── schemas/
133
+ │ │ └── index.ts # Schémas Zod (validation)
134
+ │ └── 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)
155
+ ├── dist/ # Build JavaScript
156
+ ├── .github/ # CI/CD, templates, Dependabot
157
+ ├── package.json
158
+ ├── tsconfig.json
159
+ ├── vitest.config.ts
160
+ ├── eslint.config.js
161
+ └── README.md
162
+ ```
163
+
164
+ ## 🔒 Sécurité
165
+
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é
168
+ - Compatible avec les exigences ISO 27001
169
+ - L'API BoondManager est hébergée en France et conforme RGPD
170
+
171
+ ## 🔧 Développement
172
+
173
+ ```bash
174
+ # Mode watch pour le développement
175
+ npm run dev
176
+
177
+ # Build
178
+ npm run build
179
+
180
+ # Lancer le serveur
181
+ npm start
182
+
183
+ # Tests
184
+ npm test
185
+ npm run test:coverage
186
+
187
+ # Lint
188
+ npm run lint
189
+ npm run typecheck
190
+ ```
191
+
192
+ ## 📚 Ressources
193
+
194
+ - [Documentation API BoondManager](https://doc.boondmanager.com/api-externe/)
195
+ - [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)
198
+
199
+ ## 📄 Licence
200
+
201
+ MIT - Silamir
@@ -0,0 +1,32 @@
1
+ export declare const DEFAULT_BASE_URL = "https://ui.boondmanager.com/api";
2
+ export declare const CHARACTER_LIMIT = 50000;
3
+ export declare const DEFAULT_PAGE_SIZE = 20;
4
+ export declare const MAX_PAGE_SIZE = 100;
5
+ export declare const API_PATHS: {
6
+ readonly candidates: "/candidates";
7
+ readonly resources: "/resources";
8
+ readonly contacts: "/contacts";
9
+ readonly companies: "/companies";
10
+ readonly opportunities: "/opportunities";
11
+ readonly actions: "/actions";
12
+ readonly projects: "/projects";
13
+ readonly invoices: "/invoices";
14
+ readonly orders: "/orders";
15
+ readonly deliveries: "/deliveries";
16
+ readonly absences: "/absences";
17
+ readonly expenses: "/expenses";
18
+ readonly products: "/products";
19
+ readonly positionings: "/positionings";
20
+ readonly payments: "/payments";
21
+ readonly advantages: "/advantages";
22
+ readonly application: "/application";
23
+ };
24
+ export declare const ENTITY_TABS: {
25
+ readonly candidates: readonly ["information", "technical", "actions", "documents"];
26
+ readonly resources: readonly ["information", "technical", "financial", "actions", "contracts", "documents"];
27
+ readonly contacts: readonly ["information", "actions", "documents"];
28
+ readonly companies: readonly ["information", "actions", "documents"];
29
+ readonly opportunities: readonly ["information", "actions", "documents"];
30
+ readonly projects: readonly ["information", "planning", "actions", "documents"];
31
+ };
32
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,gBAAgB,oCAAoC,CAAC;AAClE,eAAO,MAAM,eAAe,QAAQ,CAAC;AACrC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,aAAa,MAAM,CAAC;AAGjC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;CAkBZ,CAAC;AAGX,eAAO,MAAM,WAAW;;;;;;;CAOd,CAAC"}
@@ -0,0 +1,35 @@
1
+ // BoondManager API constants
2
+ export const DEFAULT_BASE_URL = "https://ui.boondmanager.com/api";
3
+ export const CHARACTER_LIMIT = 50000;
4
+ export const DEFAULT_PAGE_SIZE = 20;
5
+ export const MAX_PAGE_SIZE = 100;
6
+ // API paths
7
+ export const API_PATHS = {
8
+ candidates: "/candidates",
9
+ resources: "/resources",
10
+ contacts: "/contacts",
11
+ companies: "/companies",
12
+ opportunities: "/opportunities",
13
+ actions: "/actions",
14
+ projects: "/projects",
15
+ invoices: "/invoices",
16
+ orders: "/orders",
17
+ deliveries: "/deliveries",
18
+ absences: "/absences",
19
+ expenses: "/expenses",
20
+ products: "/products",
21
+ positionings: "/positionings",
22
+ payments: "/payments",
23
+ advantages: "/advantages",
24
+ application: "/application",
25
+ };
26
+ // Tab names available on entities
27
+ export const ENTITY_TABS = {
28
+ candidates: ["information", "technical", "actions", "documents"],
29
+ resources: ["information", "technical", "financial", "actions", "contracts", "documents"],
30
+ contacts: ["information", "actions", "documents"],
31
+ companies: ["information", "actions", "documents"],
32
+ opportunities: ["information", "actions", "documents"],
33
+ projects: ["information", "planning", "actions", "documents"],
34
+ };
35
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,MAAM,CAAC,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAClE,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;AACrC,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC;AAEjC,YAAY;AACZ,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE,YAAY;IACvB,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,YAAY;IACvB,aAAa,EAAE,gBAAgB;IAC/B,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,aAAa;IACzB,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,WAAW;IACrB,YAAY,EAAE,eAAe;IAC7B,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,aAAa;IACzB,WAAW,EAAE,cAAc;CACnB,CAAC;AAEX,kCAAkC;AAClC,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,CAAU;IACzE,SAAS,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAU;IAClG,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,WAAW,CAAU;IAC1D,SAAS,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,WAAW,CAAU;IAC3D,aAAa,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,WAAW,CAAU;IAC/D,QAAQ,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAU;CAC9D,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,47 @@
1
+ #!/usr/bin/env node
2
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
3
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
4
+ import { initClient } from "./services/boond-client.js";
5
+ import { registerCandidateTools, registerResourceTools, registerContactTools, registerCompanyTools, registerOpportunityTools, registerActionTools, registerTimesheetTools, registerProjectTools, registerInvoiceTools, registerOrderTools, registerDeliveryTools, registerAbsenceTools, registerExpenseTools, registerProductTools, registerPositioningTools, registerPaymentTools, registerAdvantageTools, registerApplicationTools, } from "./tools/index.js";
6
+ const server = new McpServer({
7
+ name: "boondmanager-mcp-server",
8
+ version: "1.0.0",
9
+ });
10
+ // Register all domain tools
11
+ registerCandidateTools(server);
12
+ registerResourceTools(server);
13
+ registerContactTools(server);
14
+ registerCompanyTools(server);
15
+ registerOpportunityTools(server);
16
+ registerActionTools(server);
17
+ registerTimesheetTools(server);
18
+ registerProjectTools(server);
19
+ registerInvoiceTools(server);
20
+ registerOrderTools(server);
21
+ registerDeliveryTools(server);
22
+ registerAbsenceTools(server);
23
+ registerExpenseTools(server);
24
+ registerProductTools(server);
25
+ registerPositioningTools(server);
26
+ registerPaymentTools(server);
27
+ registerAdvantageTools(server);
28
+ registerApplicationTools(server);
29
+ // Initialize and run
30
+ async function main() {
31
+ try {
32
+ initClient();
33
+ }
34
+ catch (error) {
35
+ console.error("⚠️ Configuration warning:", error.message);
36
+ console.error("The server will start but API calls will fail without proper credentials.");
37
+ }
38
+ const transport = new StdioServerTransport();
39
+ await server.connect(transport);
40
+ console.error("🚀 BoondManager MCP Server running (stdio transport)");
41
+ console.error("📦 Domains: candidates, resources, contacts, companies, opportunities, actions, timesheets, projects, invoices, orders, deliveries, absences, expenses, products, positionings, payments, advantages, application");
42
+ }
43
+ main().catch((error) => {
44
+ console.error("Fatal error:", error);
45
+ process.exit(1);
46
+ });
47
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,yBAAyB;IAC/B,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,4BAA4B;AAC5B,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC/B,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAC9B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,wBAAwB,CAAC,MAAM,CAAC,CAAC;AACjC,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC5B,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC/B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC3B,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAC9B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,wBAAwB,CAAC,MAAM,CAAC,CAAC;AACjC,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC/B,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAEjC,qBAAqB;AACrB,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,UAAU,EAAE,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QACtE,OAAO,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;IACtE,OAAO,CAAC,KAAK,CAAC,mNAAmN,CAAC,CAAC;AACrO,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}