boondmanager-mcp-server 1.7.4 → 1.8.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 (38) hide show
  1. package/dist/prompts/index.d.ts +9 -0
  2. package/dist/prompts/index.d.ts.map +1 -1
  3. package/dist/prompts/index.js +1 -1
  4. package/dist/prompts/index.js.map +1 -1
  5. package/dist/schemas/index.d.ts +50 -2
  6. package/dist/schemas/index.d.ts.map +1 -1
  7. package/dist/schemas/index.js +531 -168
  8. package/dist/schemas/index.js.map +1 -1
  9. package/dist/server.d.ts +1 -1
  10. package/dist/server.d.ts.map +1 -1
  11. package/dist/server.js +38 -7
  12. package/dist/server.js.map +1 -1
  13. package/dist/services/boond-client.d.ts +1 -5
  14. package/dist/services/boond-client.d.ts.map +1 -1
  15. package/dist/services/boond-client.js +85 -13
  16. package/dist/services/boond-client.js.map +1 -1
  17. package/dist/tools/index.d.ts +1 -0
  18. package/dist/tools/index.d.ts.map +1 -1
  19. package/dist/tools/index.js +1 -0
  20. package/dist/tools/index.js.map +1 -1
  21. package/dist/tools/notifications.d.ts.map +1 -1
  22. package/dist/tools/notifications.js +9 -2
  23. package/dist/tools/notifications.js.map +1 -1
  24. package/dist/tools/reporting.d.ts.map +1 -1
  25. package/dist/tools/reporting.js +46 -8
  26. package/dist/tools/reporting.js.map +1 -1
  27. package/dist/tools/timesheets.d.ts.map +1 -1
  28. package/dist/tools/timesheets.js +8 -5
  29. package/dist/tools/timesheets.js.map +1 -1
  30. package/dist/tools/validations.d.ts.map +1 -1
  31. package/dist/tools/validations.js +12 -2
  32. package/dist/tools/validations.js.map +1 -1
  33. package/dist/tools/workflows.d.ts +21 -0
  34. package/dist/tools/workflows.d.ts.map +1 -0
  35. package/dist/tools/workflows.js +43 -0
  36. package/dist/tools/workflows.js.map +1 -0
  37. package/manifest.json +2 -2
  38. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/tools/notifications.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAErH,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,YAAY,CACjB,4BAA4B,EAC5B;QACE,KAAK,EAAE,8BAA8B;QACrC,WAAW,EAAE;;kDAE+B;QAC5C,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC7E,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,CAAC;SACzF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,KAAK,EAAE,4BAA4B;QACnC,WAAW,EAAE,qEAAqE;QAClF,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,kBAAkB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;SAC3E,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/tools/notifications.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAErH,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,YAAY,CACjB,4BAA4B,EAC5B;QACE,KAAK,EAAE,8BAA8B;QACrC,WAAW,EAAE;;;;;;;;;kDAS+B;QAC5C,WAAW,EAAE,wBAAwB;QACrC,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC7E,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,CAAC;SACzF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,KAAK,EAAE,4BAA4B;QACnC,WAAW,EAAE,qEAAqE;QAClF,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,kBAAkB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;SAC3E,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"reporting.d.ts","sourceRoot":"","sources":["../../src/tools/reporting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsC9D"}
1
+ {"version":3,"file":"reporting.d.ts","sourceRoot":"","sources":["../../src/tools/reporting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAczE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4E9D"}
@@ -1,24 +1,62 @@
1
- import { SearchSchema } from "../schemas/index.js";
1
+ import { ReportingDateOptionalSchema, ReportingDateRequiredSchema } from "../schemas/index.js";
2
2
  import { apiRequest, buildSearchQuery, formatListResponse } from "../services/boond-client.js";
3
3
  export function registerReportingTools(server) {
4
4
  const reportingEndpoints = [
5
- { name: "companies", path: "/reporting-companies", title: "Reporting sociétés", description: "Recherche le reporting des sociétés (CA, marge, activité...).", entity: "reporting société" },
6
- { name: "projects", path: "/reporting-projects", title: "Reporting projets", description: "Recherche le reporting des projets (CA, marge, rentabilité...).", entity: "reporting projet" },
7
- { name: "resources", path: "/reporting-resources", title: "Reporting ressources", description: "Recherche le reporting des ressources (taux d'occupation, CA, productivité...).", entity: "reporting ressource" },
8
- { name: "synthesis", path: "/reporting-synthesis", title: "Reporting synthèse", description: "Recherche le reporting de synthèse globale.", entity: "reporting synthèse" },
9
- { name: "production_plans", path: "/reporting-production-plans", title: "Reporting plans de production", description: "Recherche le reporting des plans de production.", entity: "reporting plan de production" },
5
+ {
6
+ name: "companies",
7
+ path: "/reporting-companies",
8
+ title: "Reporting sociétés",
9
+ description: "Recherche le reporting des sociétés (CA, marge, activité...).",
10
+ entity: "reporting société",
11
+ datesRequired: true,
12
+ },
13
+ {
14
+ name: "projects",
15
+ path: "/reporting-projects",
16
+ title: "Reporting projets",
17
+ description: "Recherche le reporting des projets (CA, marge, rentabilité...).",
18
+ entity: "reporting projet",
19
+ datesRequired: false,
20
+ },
21
+ {
22
+ name: "resources",
23
+ path: "/reporting-resources",
24
+ title: "Reporting ressources",
25
+ description: "Recherche le reporting des ressources (taux d'occupation, CA, productivité...).",
26
+ entity: "reporting ressource",
27
+ datesRequired: true,
28
+ },
29
+ {
30
+ name: "synthesis",
31
+ path: "/reporting-synthesis",
32
+ title: "Reporting synthèse",
33
+ description: "Recherche le reporting de synthèse globale.",
34
+ entity: "reporting synthèse",
35
+ datesRequired: true,
36
+ },
37
+ {
38
+ name: "production_plans",
39
+ path: "/reporting-production-plans",
40
+ title: "Reporting plans de production",
41
+ description: "Recherche le reporting des plans de production.",
42
+ entity: "reporting plan de production",
43
+ datesRequired: true,
44
+ },
10
45
  ];
11
46
  for (const ep of reportingEndpoints) {
47
+ const schema = ep.datesRequired ? ReportingDateRequiredSchema : ReportingDateOptionalSchema;
48
+ const datesNote = ep.datesRequired ? "\n⚠️ `startDate` + `endDate` (YYYY-MM-DD) sont REQUIS par l'API." : "";
12
49
  server.registerTool(`boond_reporting_${ep.name}`, {
13
50
  title: ep.title,
14
- description: `${ep.description}
51
+ description: `${ep.description}${datesNote}
15
52
 
16
53
  Args:
54
+ - startDate, endDate (string${ep.datesRequired ? ", requis" : ", optional"}): YYYY-MM-DD
17
55
  - keywords (string, optional): Termes de recherche
18
56
  - page, pageSize: Pagination
19
57
 
20
58
  Returns: Données de reporting.`,
21
- inputSchema: SearchSchema,
59
+ inputSchema: schema,
22
60
  annotations: {
23
61
  readOnlyHint: true,
24
62
  destructiveHint: false,
@@ -1 +1 @@
1
- {"version":3,"file":"reporting.js","sourceRoot":"","sources":["../../src/tools/reporting.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAE/F,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,kBAAkB,GAAG;QACzB,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,+DAA+D,EAAE,MAAM,EAAE,mBAAmB,EAAE;QAC3L,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,iEAAiE,EAAE,MAAM,EAAE,kBAAkB,EAAE;QACzL,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,iFAAiF,EAAE,MAAM,EAAE,qBAAqB,EAAE;QACjN,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,6CAA6C,EAAE,MAAM,EAAE,oBAAoB,EAAE;QAC1K,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,+BAA+B,EAAE,WAAW,EAAE,iDAAiD,EAAE,MAAM,EAAE,8BAA8B,EAAE;KAClN,CAAC;IAEF,KAAK,MAAM,EAAE,IAAI,kBAAkB,EAAE,CAAC;QACpC,MAAM,CAAC,YAAY,CACjB,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAC5B;YACE,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW;;;;;;+BAMP;YACvB,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE;gBACX,YAAY,EAAE,IAAI;gBAClB,eAAe,EAAE,KAAK;gBACtB,cAAc,EAAE,IAAI;gBACpB,aAAa,EAAE,IAAI;aACpB;SACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACpE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;aACpF,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"reporting.js","sourceRoot":"","sources":["../../src/tools/reporting.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAY/F,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,kBAAkB,GAAwB;QAC9C;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,oBAAoB;YAC3B,WAAW,EAAE,+DAA+D;YAC5E,MAAM,EAAE,mBAAmB;YAC3B,aAAa,EAAE,IAAI;SACpB;QACD;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,qBAAqB;YAC3B,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EAAE,iEAAiE;YAC9E,MAAM,EAAE,kBAAkB;YAC1B,aAAa,EAAE,KAAK;SACrB;QACD;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EAAE,iFAAiF;YAC9F,MAAM,EAAE,qBAAqB;YAC7B,aAAa,EAAE,IAAI;SACpB;QACD;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,oBAAoB;YAC3B,WAAW,EAAE,6CAA6C;YAC1D,MAAM,EAAE,oBAAoB;YAC5B,aAAa,EAAE,IAAI;SACpB;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,6BAA6B;YACnC,KAAK,EAAE,+BAA+B;YACtC,WAAW,EAAE,iDAAiD;YAC9D,MAAM,EAAE,8BAA8B;YACtC,aAAa,EAAE,IAAI;SACpB;KACF,CAAC;IAEF,KAAK,MAAM,EAAE,IAAI,kBAAkB,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,2BAA2B,CAAC;QAC5F,MAAM,SAAS,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,kEAAkE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7G,MAAM,CAAC,YAAY,CACjB,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAC5B;YACE,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW,GAAG,SAAS;;;gCAGlB,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY;;;;+BAI7C;YACvB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE;gBACX,YAAY,EAAE,IAAI;gBAClB,eAAe,EAAE,KAAK;gBACtB,cAAc,EAAE,IAAI;gBACpB,aAAa,EAAE,IAAI;aACpB;SACF,EACD,KAAK,EAAE,MAAqG,EAAE,EAAE;YAC9G,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACpE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;aACpF,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"timesheets.d.ts","sourceRoot":"","sources":["../../src/tools/timesheets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiDzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmG9D"}
1
+ {"version":3,"file":"timesheets.d.ts","sourceRoot":"","sources":["../../src/tools/timesheets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAyCzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiG9D"}
@@ -1,4 +1,4 @@
1
- import { ResourceTimesheetSchema, TimesheetSearchSchema, TimesheetGetSchema, } from "../schemas/index.js";
1
+ import { ResourceTimesheetSchema, TimesheetSearchSchema, TimesheetGetSchema } from "../schemas/index.js";
2
2
  import { apiRequest, buildSearchQuery, formatDetailResponse } from "../services/boond-client.js";
3
3
  import { CHARACTER_LIMIT } from "../constants.js";
4
4
  function formatTimesheetSummary(response) {
@@ -65,13 +65,16 @@ Returns: Liste des feuilles de temps de la ressource avec jours/heures et statut
65
65
  // Search all timesheets
66
66
  server.registerTool("boond_timesheets_search", {
67
67
  title: "Rechercher des feuilles de temps",
68
- description: `Recherche des feuilles de temps dans BoondManager avec filtres par période.
68
+ description: `Recherche des feuilles de temps (CRA mensuels) dans BoondManager.
69
+
70
+ ⚠️ \`startMonth\` et \`endMonth\` (format YYYY-MM) sont requis par l'API — passer YYYY-MM-DD ou les omettre renvoie un 422.
69
71
 
70
72
  Args:
71
- - startDate (string, optional): Date de début (YYYY-MM-DD)
72
- - endDate (string, optional): Date de fin (YYYY-MM-DD)
73
+ - startMonth (string, requis): Mois de début YYYY-MM (ex: '2025-01')
74
+ - endMonth (string, requis): Mois de fin YYYY-MM (ex: '2025-03')
75
+ - keywords (string, optional): Mots-clés
73
76
  - page (number): Numéro de page (défaut: 1)
74
- - pageSize (number): Résultats par page (défaut: 20)
77
+ - pageSize (number): Résultats par page (défaut: 30)
75
78
 
76
79
  Returns: Liste des feuilles de temps correspondantes.`,
77
80
  inputSchema: TimesheetSearchSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"timesheets.js","sourceRoot":"","sources":["../../src/tools/timesheets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timesheets.js","sourceRoot":"","sources":["../../src/tools/timesheets.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../src/tools/validations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA6C/D"}
1
+ {"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../src/tools/validations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuD/D"}
@@ -1,12 +1,22 @@
1
- import { IdSchema, SearchSchema } from "../schemas/index.js";
1
+ import { IdSchema, ValidationSearchSchema } from "../schemas/index.js";
2
2
  import { apiRequest, buildSearchQuery, formatListResponse, formatDetailResponse } from "../services/boond-client.js";
3
3
  export function registerValidationTools(server) {
4
4
  server.registerTool("boond_validations_search", {
5
5
  title: "Rechercher des validations",
6
6
  description: `Recherche des validations en attente dans BoondManager (absences, notes de frais, feuilles de temps...).
7
7
 
8
+ ⚠️ \`startMonth\` et \`endMonth\` (YYYY-MM) sont requis par l'API.
9
+
10
+ Args:
11
+ - startMonth (string, requis): YYYY-MM (ex: '2025-01')
12
+ - endMonth (string, requis): YYYY-MM
13
+ - documentTypes (string[], optional): 'absencesReport' | 'timesReport' | 'expensesReport'
14
+ - validationStates (string[], optional): 'waitingForValidation' | 'validated' | 'rejected'
15
+ - resourceTypes (number[], optional)
16
+ - keywords (string, optional): préfixes 'TPS', 'EXP', 'ABS', 'COMP'
17
+
8
18
  Returns: Liste des validations correspondantes.`,
9
- inputSchema: SearchSchema,
19
+ inputSchema: ValidationSearchSchema,
10
20
  annotations: {
11
21
  readOnlyHint: true,
12
22
  destructiveHint: false,
@@ -1 +1 @@
1
- {"version":3,"file":"validations.js","sourceRoot":"","sources":["../../src/tools/validations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAErH,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,KAAK,EAAE,4BAA4B;QACnC,WAAW,EAAE;;gDAE6B;QAC1C,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3E,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC;SACvF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,mEAAmE;QAChF,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,gBAAgB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/D,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;SAC3E,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"validations.js","sourceRoot":"","sources":["../../src/tools/validations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAErH,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,KAAK,EAAE,4BAA4B;QACnC,WAAW,EAAE;;;;;;;;;;;;gDAY6B;QAC1C,WAAW,EAAE,sBAAsB;QACnC,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3E,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC;SACvF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,mEAAmE;QAChF,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,gBAAgB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/D,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;SAC3E,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ /**
3
+ * Workflow tools — same runbooks as the MCP prompts in `src/prompts/index.ts`,
4
+ * but exposed via `tools/list` instead of `prompts/list`.
5
+ *
6
+ * Why both? Some MCP clients (notably claude.ai's "Cowork" connector menu)
7
+ * mishandle the `prompts/get` response: instead of injecting the returned
8
+ * user message into the conversation, they treat it as a virtual file
9
+ * attachment named `{prompt_name}_text` and the model then tries to `Read`
10
+ * it from the uploads folder, finds nothing, and asks the user to upload
11
+ * the file. Tools, on the other hand, are universally well-supported:
12
+ * the result content is fed back into the model the same way as any
13
+ * other tool call.
14
+ *
15
+ * Implementation: each prompt is mirrored 1:1 as a tool that calls the
16
+ * same `build()` function. Tool name pattern: `boond_workflow_{prompt_name}`.
17
+ * Same args, same output. The runbook returned in the tool result is
18
+ * exactly the text the prompt would have produced.
19
+ */
20
+ export declare function registerWorkflowTools(server: McpServer): void;
21
+ //# sourceMappingURL=workflows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/tools/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2B7D"}
@@ -0,0 +1,43 @@
1
+ import { PROMPTS } from "../prompts/index.js";
2
+ /**
3
+ * Workflow tools — same runbooks as the MCP prompts in `src/prompts/index.ts`,
4
+ * but exposed via `tools/list` instead of `prompts/list`.
5
+ *
6
+ * Why both? Some MCP clients (notably claude.ai's "Cowork" connector menu)
7
+ * mishandle the `prompts/get` response: instead of injecting the returned
8
+ * user message into the conversation, they treat it as a virtual file
9
+ * attachment named `{prompt_name}_text` and the model then tries to `Read`
10
+ * it from the uploads folder, finds nothing, and asks the user to upload
11
+ * the file. Tools, on the other hand, are universally well-supported:
12
+ * the result content is fed back into the model the same way as any
13
+ * other tool call.
14
+ *
15
+ * Implementation: each prompt is mirrored 1:1 as a tool that calls the
16
+ * same `build()` function. Tool name pattern: `boond_workflow_{prompt_name}`.
17
+ * Same args, same output. The runbook returned in the tool result is
18
+ * exactly the text the prompt would have produced.
19
+ */
20
+ export function registerWorkflowTools(server) {
21
+ for (const p of PROMPTS) {
22
+ server.registerTool(`boond_workflow_${p.name}`, {
23
+ title: p.title,
24
+ description: p.description +
25
+ ` Équivalent en outil du prompt MCP \`${p.name}\` ` +
26
+ "(utile pour les clients qui ne gèrent pas correctement les prompts MCP, ex: claude.ai). " +
27
+ "Retourne un runbook texte que le modèle doit ensuite exécuter en appelant les outils Boond référencés.",
28
+ inputSchema: p.argsSchema,
29
+ annotations: {
30
+ readOnlyHint: true,
31
+ destructiveHint: false,
32
+ idempotentHint: true,
33
+ openWorldHint: false,
34
+ },
35
+ }, async (params) => {
36
+ const text = p.build((params ?? {}));
37
+ return {
38
+ content: [{ type: "text", text }],
39
+ };
40
+ });
41
+ }
42
+ }
43
+ //# sourceMappingURL=workflows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/tools/workflows.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,CAAC,YAAY,CACjB,kBAAkB,CAAC,CAAC,IAAI,EAAE,EAC1B;YACE,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,WAAW,EACT,CAAC,CAAC,WAAW;gBACb,wCAAwC,CAAC,CAAC,IAAI,KAAK;gBACnD,0FAA0F;gBAC1F,wGAAwG;YAC1G,WAAW,EAAE,CAAC,CAAC,UAAU;YACzB,WAAW,EAAE;gBACX,YAAY,EAAE,IAAI;gBAClB,eAAe,EAAE,KAAK;gBACtB,cAAc,EAAE,IAAI;gBACpB,aAAa,EAAE,KAAK;aACrB;SACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,EAAE,CAAuC,CAAC,CAAC;YAC3E,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC;aAC3C,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
package/manifest.json CHANGED
@@ -2,8 +2,8 @@
2
2
  "manifest_version": "0.3",
3
3
  "name": "boondmanager-mcp-server",
4
4
  "display_name": "BoondManager MCP Server",
5
- "version": "1.7.4",
6
- "description": "MCP Server for BoondManager API - 156 tools, 11 prompts, 21 resources (ERP/CRM)",
5
+ "version": "1.8.0",
6
+ "description": "MCP Server for BoondManager API - 167 tools, 11 prompts, 21 resources (ERP/CRM)",
7
7
  "author": {
8
8
  "name": "Frédéric Auguste",
9
9
  "url": "https://github.com/fauguste/boondmanager-mcp-server"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "boondmanager-mcp-server",
3
- "version": "1.7.4",
4
- "description": "MCP Server for BoondManager API - 156 tools, 11 prompts, 21 resources (ERP/CRM)",
3
+ "version": "1.8.0",
4
+ "description": "MCP Server for BoondManager API - 167 tools, 11 prompts, 21 resources (ERP/CRM)",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "type": "module",