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.
- package/LICENSE +21 -0
- package/README.md +201 -0
- package/dist/constants.d.ts +32 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +35 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +47 -0
- package/dist/index.js.map +1 -0
- package/dist/schemas/index.d.ts +347 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +364 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/services/boond-client.d.ts +12 -0
- package/dist/services/boond-client.d.ts.map +1 -0
- package/dist/services/boond-client.js +123 -0
- package/dist/services/boond-client.js.map +1 -0
- package/dist/tools/absences.d.ts +3 -0
- package/dist/tools/absences.d.ts.map +1 -0
- package/dist/tools/absences.js +116 -0
- package/dist/tools/absences.js.map +1 -0
- package/dist/tools/actions.d.ts +3 -0
- package/dist/tools/actions.d.ts.map +1 -0
- package/dist/tools/actions.js +100 -0
- package/dist/tools/actions.js.map +1 -0
- package/dist/tools/advantages.d.ts +3 -0
- package/dist/tools/advantages.d.ts.map +1 -0
- package/dist/tools/advantages.js +47 -0
- package/dist/tools/advantages.js.map +1 -0
- package/dist/tools/application.d.ts +3 -0
- package/dist/tools/application.d.ts.map +1 -0
- package/dist/tools/application.js +60 -0
- package/dist/tools/application.js.map +1 -0
- package/dist/tools/candidates.d.ts +3 -0
- package/dist/tools/candidates.d.ts.map +1 -0
- package/dist/tools/candidates.js +90 -0
- package/dist/tools/candidates.js.map +1 -0
- package/dist/tools/companies.d.ts +3 -0
- package/dist/tools/companies.d.ts.map +1 -0
- package/dist/tools/companies.js +79 -0
- package/dist/tools/companies.js.map +1 -0
- package/dist/tools/contacts.d.ts +3 -0
- package/dist/tools/contacts.d.ts.map +1 -0
- package/dist/tools/contacts.js +85 -0
- package/dist/tools/contacts.js.map +1 -0
- package/dist/tools/crud-factory.d.ts +16 -0
- package/dist/tools/crud-factory.d.ts.map +1 -0
- package/dist/tools/crud-factory.js +146 -0
- package/dist/tools/crud-factory.js.map +1 -0
- package/dist/tools/deliveries.d.ts +3 -0
- package/dist/tools/deliveries.d.ts.map +1 -0
- package/dist/tools/deliveries.js +48 -0
- package/dist/tools/deliveries.js.map +1 -0
- package/dist/tools/expenses.d.ts +3 -0
- package/dist/tools/expenses.d.ts.map +1 -0
- package/dist/tools/expenses.js +119 -0
- package/dist/tools/expenses.js.map +1 -0
- package/dist/tools/index.d.ts +19 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +19 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/invoices.d.ts +3 -0
- package/dist/tools/invoices.d.ts.map +1 -0
- package/dist/tools/invoices.js +119 -0
- package/dist/tools/invoices.js.map +1 -0
- package/dist/tools/opportunities.d.ts +3 -0
- package/dist/tools/opportunities.d.ts.map +1 -0
- package/dist/tools/opportunities.js +88 -0
- package/dist/tools/opportunities.js.map +1 -0
- package/dist/tools/orders.d.ts +3 -0
- package/dist/tools/orders.d.ts.map +1 -0
- package/dist/tools/orders.js +118 -0
- package/dist/tools/orders.js.map +1 -0
- package/dist/tools/payments.d.ts +3 -0
- package/dist/tools/payments.d.ts.map +1 -0
- package/dist/tools/payments.js +48 -0
- package/dist/tools/payments.js.map +1 -0
- package/dist/tools/positionings.d.ts +3 -0
- package/dist/tools/positionings.d.ts.map +1 -0
- package/dist/tools/positionings.js +100 -0
- package/dist/tools/positionings.js.map +1 -0
- package/dist/tools/products.d.ts +3 -0
- package/dist/tools/products.d.ts.map +1 -0
- package/dist/tools/products.js +22 -0
- package/dist/tools/products.js.map +1 -0
- package/dist/tools/projects.d.ts +3 -0
- package/dist/tools/projects.d.ts.map +1 -0
- package/dist/tools/projects.js +101 -0
- package/dist/tools/projects.js.map +1 -0
- package/dist/tools/resources.d.ts +3 -0
- package/dist/tools/resources.d.ts.map +1 -0
- package/dist/tools/resources.js +112 -0
- package/dist/tools/resources.js.map +1 -0
- package/dist/tools/timesheets.d.ts +3 -0
- package/dist/tools/timesheets.d.ts.map +1 -0
- package/dist/tools/timesheets.js +116 -0
- package/dist/tools/timesheets.js.map +1 -0
- package/dist/types.d.ts +37 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- 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
|
+
[](https://github.com/fauguste/boondmanager-mcp-server/actions/workflows/ci.yml)
|
|
4
|
+
[](https://www.npmjs.com/package/boondmanager-mcp-server)
|
|
5
|
+
[](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"}
|
package/dist/index.d.ts
ADDED
|
@@ -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"}
|