@servicialo/mcp-server 0.5.3 → 0.7.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 (45) hide show
  1. package/LICENSE +191 -0
  2. package/README.md +24 -9
  3. package/dist/__tests__/client.test.d.ts +2 -0
  4. package/dist/__tests__/client.test.d.ts.map +1 -0
  5. package/dist/__tests__/client.test.js +136 -0
  6. package/dist/__tests__/client.test.js.map +1 -0
  7. package/dist/__tests__/mode.test.d.ts +2 -0
  8. package/dist/__tests__/mode.test.d.ts.map +1 -0
  9. package/dist/__tests__/mode.test.js +25 -0
  10. package/dist/__tests__/mode.test.js.map +1 -0
  11. package/dist/__tests__/schemas.test.d.ts +2 -0
  12. package/dist/__tests__/schemas.test.d.ts.map +1 -0
  13. package/dist/__tests__/schemas.test.js +53 -0
  14. package/dist/__tests__/schemas.test.js.map +1 -0
  15. package/dist/__tests__/tools.test.d.ts +2 -0
  16. package/dist/__tests__/tools.test.d.ts.map +1 -0
  17. package/dist/__tests__/tools.test.js +241 -0
  18. package/dist/__tests__/tools.test.js.map +1 -0
  19. package/dist/client.d.ts +1 -1
  20. package/dist/client.d.ts.map +1 -1
  21. package/dist/client.js +12 -2
  22. package/dist/client.js.map +1 -1
  23. package/dist/index.d.ts +2 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +13 -2
  26. package/dist/index.js.map +1 -1
  27. package/dist/tools/authenticated/comprometer.d.ts +6 -2
  28. package/dist/tools/authenticated/comprometer.d.ts.map +1 -1
  29. package/dist/tools/authenticated/comprometer.js +3 -1
  30. package/dist/tools/authenticated/comprometer.js.map +1 -1
  31. package/dist/tools/public/availability.d.ts +4 -0
  32. package/dist/tools/public/availability.d.ts.map +1 -1
  33. package/dist/tools/public/availability.js +4 -2
  34. package/dist/tools/public/availability.js.map +1 -1
  35. package/dist/tools/public/registry.d.ts +8 -0
  36. package/dist/tools/public/registry.d.ts.map +1 -1
  37. package/dist/tools/public/registry.js +10 -3
  38. package/dist/tools/public/registry.js.map +1 -1
  39. package/dist/tools/public/services.js +1 -1
  40. package/dist/tools/public/services.js.map +1 -1
  41. package/dist/tools/schemas.d.ts +93 -0
  42. package/dist/tools/schemas.d.ts.map +1 -1
  43. package/dist/tools/schemas.js +41 -0
  44. package/dist/tools/schemas.js.map +1 -1
  45. package/package.json +10 -6
@@ -5,23 +5,30 @@ export const registryTools = {
5
5
  schema: z.object({
6
6
  vertical: z.string().describe('Vertical del servicio (ej: kinesiologia, psicologia, dental)'),
7
7
  location: z.string().optional().describe('Ciudad o comuna para filtrar'),
8
+ country: z.string().default('cl').describe('País ISO 3166-1 alpha-2 (ej: cl, mx, ar). Default: cl'),
8
9
  limit: z.number().default(10).describe('Cantidad máxima de resultados'),
9
10
  }),
10
11
  handler: async (client, args) => {
11
- return client.pub.get('/api/v1/public/registry', {
12
+ const result = await client.pub.get('/api/servicialo/registry', {
12
13
  vertical: args.vertical,
13
14
  location: args.location,
14
- limit: args.limit ?? 10,
15
+ country: args.country ?? 'cl',
16
+ limit: args.limit,
15
17
  });
18
+ return result;
16
19
  },
17
20
  },
18
21
  'registry.get_organization': {
19
22
  description: 'Obtiene el detalle público de una organización: servicios, profesionales y configuración de booking',
20
23
  schema: z.object({
21
24
  org_slug: z.string().describe('Slug de la organización (ej: clinica-dental-sur)'),
25
+ country: z.string().default('cl').describe('País ISO 3166-1 alpha-2 (ej: cl, mx, ar). Default: cl'),
22
26
  }),
23
27
  handler: async (client, args) => {
24
- return client.pub.get(`/api/v1/public/agenda/${args.org_slug}`);
28
+ const result = await client.pub.get(`/api/servicialo/${args.org_slug}/services`, {
29
+ country: args.country ?? 'cl',
30
+ });
31
+ return result;
25
32
  },
26
33
  },
27
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/tools/public/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,iBAAiB,EAAE;QACjB,WAAW,EAAE,sFAAsF;QACnG,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;YAC7F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;YACxE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;SACxE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAwB,EAAE,IAA6D,EAAE,EAAE;YACzG,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,yBAAyB,EAAE;gBAC/C,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;aACxB,CAAC,CAAC;QACL,CAAC;KACF;IAED,2BAA2B,EAAE;QAC3B,WAAW,EAAE,qGAAqG;QAClH,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;SAClF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAwB,EAAE,IAA0B,EAAE,EAAE;YACtE,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,CAAC;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/tools/public/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,iBAAiB,EAAE;QACjB,WAAW,EAAE,sFAAsF;QACnG,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;YAC7F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;YACxE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,uDAAuD,CAAC;YACnG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;SACxE,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAwB,EAAE,IAA+E,EAAE,EAAE;YAC3H,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,0BAA0B,EAAE;gBAC9D,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;gBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;KACF;IAED,2BAA2B,EAAE;QAC3B,WAAW,EAAE,qGAAqG;QAClH,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YACjF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,uDAAuD,CAAC;SACpG,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAwB,EAAE,IAA4C,EAAE,EAAE;YACxF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,QAAQ,WAAW,EAAE;gBAC/E,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;aAC9B,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;KACF;CACF,CAAC"}
@@ -6,7 +6,7 @@ export const publicServicesTools = {
6
6
  org_slug: z.string().describe('Slug de la organización'),
7
7
  }),
8
8
  handler: async (client, args) => {
9
- return client.pub.get(`/api/v1/public/agenda/${args.org_slug}`);
9
+ return client.pub.get(`/api/servicialo/${args.org_slug}/services`);
10
10
  },
11
11
  },
12
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../../../src/tools/public/services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,eAAe,EAAE;QACf,WAAW,EAAE,4DAA4D;QACzE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;SACzD,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAwB,EAAE,IAA0B,EAAE,EAAE;YACtE,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,CAAC;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../../src/tools/public/services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,eAAe,EAAE;QACf,WAAW,EAAE,4DAA4D;QACzE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;SACzD,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAwB,EAAE,IAA0B,EAAE,EAAE;YACtE,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,QAAQ,WAAW,CAAC,CAAC;QACrE,CAAC;KACF;CACF,CAAC"}
@@ -37,4 +37,97 @@ export declare const LocationSchema: z.ZodObject<{
37
37
  lat: number;
38
38
  lng: number;
39
39
  }>;
40
+ export declare const ResourceSchema: z.ZodObject<{
41
+ id: z.ZodString;
42
+ organization_id: z.ZodString;
43
+ name: z.ZodString;
44
+ type: z.ZodOptional<z.ZodEnum<["room", "box", "chair", "equipment"]>>;
45
+ capacity: z.ZodDefault<z.ZodNumber>;
46
+ buffer_minutes: z.ZodDefault<z.ZodNumber>;
47
+ equipment: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
48
+ location: z.ZodOptional<z.ZodString>;
49
+ is_active: z.ZodBoolean;
50
+ rules: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
51
+ }, "strip", z.ZodTypeAny, {
52
+ id: string;
53
+ organization_id: string;
54
+ name: string;
55
+ capacity: number;
56
+ buffer_minutes: number;
57
+ is_active: boolean;
58
+ location?: string | undefined;
59
+ type?: "room" | "box" | "chair" | "equipment" | undefined;
60
+ equipment?: string[] | undefined;
61
+ rules?: Record<string, unknown> | undefined;
62
+ }, {
63
+ id: string;
64
+ organization_id: string;
65
+ name: string;
66
+ is_active: boolean;
67
+ location?: string | undefined;
68
+ type?: "room" | "box" | "chair" | "equipment" | undefined;
69
+ equipment?: string[] | undefined;
70
+ capacity?: number | undefined;
71
+ buffer_minutes?: number | undefined;
72
+ rules?: Record<string, unknown> | undefined;
73
+ }>;
74
+ export declare const ResourceAvailabilitySchema: z.ZodObject<{
75
+ resource_id: z.ZodString;
76
+ day_of_week: z.ZodNumber;
77
+ start_time: z.ZodString;
78
+ end_time: z.ZodString;
79
+ block_order: z.ZodOptional<z.ZodNumber>;
80
+ is_available: z.ZodBoolean;
81
+ timezone: z.ZodString;
82
+ }, "strip", z.ZodTypeAny, {
83
+ resource_id: string;
84
+ day_of_week: number;
85
+ start_time: string;
86
+ end_time: string;
87
+ is_available: boolean;
88
+ timezone: string;
89
+ block_order?: number | undefined;
90
+ }, {
91
+ resource_id: string;
92
+ day_of_week: number;
93
+ start_time: string;
94
+ end_time: string;
95
+ is_available: boolean;
96
+ timezone: string;
97
+ block_order?: number | undefined;
98
+ }>;
99
+ export declare const ServiceLocationSchema: z.ZodObject<{
100
+ type: z.ZodEnum<["in_person", "virtual", "home_visit"]>;
101
+ address: z.ZodOptional<z.ZodString>;
102
+ room: z.ZodOptional<z.ZodString>;
103
+ resource_id: z.ZodOptional<z.ZodString>;
104
+ coordinates: z.ZodOptional<z.ZodObject<{
105
+ lat: z.ZodNumber;
106
+ lng: z.ZodNumber;
107
+ }, "strip", z.ZodTypeAny, {
108
+ lat: number;
109
+ lng: number;
110
+ }, {
111
+ lat: number;
112
+ lng: number;
113
+ }>>;
114
+ }, "strip", z.ZodTypeAny, {
115
+ type: "in_person" | "virtual" | "home_visit";
116
+ resource_id?: string | undefined;
117
+ room?: string | undefined;
118
+ address?: string | undefined;
119
+ coordinates?: {
120
+ lat: number;
121
+ lng: number;
122
+ } | undefined;
123
+ }, {
124
+ type: "in_person" | "virtual" | "home_visit";
125
+ resource_id?: string | undefined;
126
+ room?: string | undefined;
127
+ address?: string | undefined;
128
+ coordinates?: {
129
+ lat: number;
130
+ lng: number;
131
+ } | undefined;
132
+ }>;
40
133
  //# sourceMappingURL=schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOtB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;EAGzB,CAAC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOtB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;EAGzB,CAAC;AAIH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBzB,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;EAUrC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUhC,CAAC"}
@@ -11,4 +11,45 @@ export const LocationSchema = z.object({
11
11
  lat: z.number().describe('Latitud'),
12
12
  lng: z.number().describe('Longitud'),
13
13
  });
14
+ // --- Protocol v0.6.0: Resource (Dimension 3.5b) ---
15
+ export const ResourceSchema = z.object({
16
+ id: z.string(),
17
+ organization_id: z.string(),
18
+ name: z.string(),
19
+ type: z.enum(['room', 'box', 'chair', 'equipment']).optional()
20
+ .describe('Tipo de recurso físico'),
21
+ capacity: z.number().default(1)
22
+ .describe('Capacidad simultánea del recurso'),
23
+ buffer_minutes: z.number().default(0)
24
+ .describe('Minutos de preparación entre sesiones'),
25
+ equipment: z.array(z.string()).optional()
26
+ .describe('Equipamiento disponible en el recurso'),
27
+ location: z.string().optional()
28
+ .describe('Ubicación física del recurso dentro de la organización'),
29
+ is_active: z.boolean(),
30
+ rules: z.record(z.unknown()).optional()
31
+ .describe('Reglas específicas del recurso'),
32
+ });
33
+ export const ResourceAvailabilitySchema = z.object({
34
+ resource_id: z.string(),
35
+ day_of_week: z.number().min(0).max(6)
36
+ .describe('Día de la semana (0 = domingo, 6 = sábado)'),
37
+ start_time: z.string().describe('Hora de inicio (HH:mm)'),
38
+ end_time: z.string().describe('Hora de fin (HH:mm)'),
39
+ block_order: z.number().optional()
40
+ .describe('Orden del bloque para múltiples bloques por día'),
41
+ is_available: z.boolean(),
42
+ timezone: z.string().describe('Zona horaria IANA'),
43
+ });
44
+ export const ServiceLocationSchema = z.object({
45
+ type: z.enum(['in_person', 'virtual', 'home_visit']),
46
+ address: z.string().optional(),
47
+ room: z.string().optional(),
48
+ resource_id: z.string().optional()
49
+ .describe('Referencia a un Resource (ver dimensión 3.5b)'),
50
+ coordinates: z.object({
51
+ lat: z.number(),
52
+ lng: z.number(),
53
+ }).optional(),
54
+ });
14
55
  //# sourceMappingURL=schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAC7D,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;QACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;KACf,CAAC,CAAC,QAAQ,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;IACnC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;CACrC,CAAC,CAAC"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@servicialo/mcp-server",
3
- "version": "0.5.3",
4
- "mcpName": "io.github.danioni/servicialo",
3
+ "version": "0.7.0",
4
+ "mcpName": "com.servicialo/mcp-server",
5
5
  "description": "Open protocol for professional service delivery — connects AI agents with scheduling, verification and settlement of professional services",
6
- "license": "MIT",
7
- "homepage": "https://servicialo.ai",
6
+ "license": "Apache-2.0",
7
+ "homepage": "https://servicialo.com",
8
8
  "repository": {
9
9
  "type": "git",
10
10
  "url": "https://github.com/servicialo/mcp-server.git"
@@ -20,7 +20,9 @@
20
20
  "scripts": {
21
21
  "build": "tsc",
22
22
  "dev": "tsc --watch",
23
- "start": "node dist/index.js"
23
+ "start": "node dist/index.js",
24
+ "test": "vitest run",
25
+ "test:watch": "vitest"
24
26
  },
25
27
  "dependencies": {
26
28
  "@modelcontextprotocol/sdk": "^1.12.1",
@@ -28,7 +30,9 @@
28
30
  },
29
31
  "devDependencies": {
30
32
  "@types/node": "^22.13.4",
31
- "typescript": "^5.7.3"
33
+ "esbuild": "^0.27.0",
34
+ "typescript": "^5.7.3",
35
+ "vitest": "^4.0.18"
32
36
  },
33
37
  "engines": {
34
38
  "node": ">=18"