@servicialo/mcp-server 0.9.7 → 0.9.9
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/README.en.md +34 -4
- package/README.md +36 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +57 -3
- package/dist/index.js.map +1 -1
- package/dist/tools/authenticated/resolve-auth.js +1 -1
- package/dist/tools/authenticated/resolve-auth.js.map +1 -1
- package/dist/tools/public/a2a.d.ts.map +1 -1
- package/dist/tools/public/a2a.js +5 -2
- package/dist/tools/public/a2a.js.map +1 -1
- package/dist/tools/public/availability.d.ts.map +1 -1
- package/dist/tools/public/availability.js +11 -7
- package/dist/tools/public/availability.js.map +1 -1
- package/dist/tools/public/docs-quickstart.d.ts.map +1 -1
- package/dist/tools/public/docs-quickstart.js +5 -3
- package/dist/tools/public/docs-quickstart.js.map +1 -1
- package/dist/tools/public/registry.d.ts +4 -4
- package/dist/tools/public/registry.d.ts.map +1 -1
- package/dist/tools/public/registry.js +17 -7
- package/dist/tools/public/registry.js.map +1 -1
- package/dist/tools/public/resolve.d.ts.map +1 -1
- package/dist/tools/public/resolve.js +15 -10
- package/dist/tools/public/resolve.js.map +1 -1
- package/dist/tools/public/services.d.ts.map +1 -1
- package/dist/tools/public/services.js +4 -1
- package/dist/tools/public/services.js.map +1 -1
- package/package.json +1 -1
package/README.en.md
CHANGED
|
@@ -7,8 +7,20 @@
|
|
|
7
7
|
|
|
8
8
|
**The missing protocol layer for AI agents that coordinate professional services.**
|
|
9
9
|
|
|
10
|
+
[](https://servicialo.com/network)
|
|
11
|
+
|
|
10
12
|
There is no standard way for an AI agent to book, verify, and settle a professional service. Servicialo is an open protocol that fixes this — and this MCP server is its reference implementation. Think HTTP for service coordination: any agent, any platform, one protocol.
|
|
11
13
|
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
**Running a service business?**
|
|
17
|
+
You need a Servicialo-compatible platform, not this package directly. [Coordinalo](https://coordinalo.com) is the reference implementation — it implements this protocol so your services become discoverable and bookable by AI agents. As the protocol matures, we expect many more compatible platforms to emerge.
|
|
18
|
+
|
|
19
|
+
**Building a platform for service businesses?**
|
|
20
|
+
This is for you. Implement the protocol and any Servicialo-compatible agent connects to your backend automatically. See [Connecting to a custom implementation](#connecting-to-a-custom-implementation) and [`HTTP_PROFILE.md`](../../HTTP_PROFILE.md).
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
12
24
|
## The Problem
|
|
13
25
|
|
|
14
26
|
AI agents can browse the web, write code, and hold conversations. But ask one to book a physiotherapy session, verify it happened, and process the payment — and it falls apart.
|
|
@@ -384,7 +396,7 @@ The full Servicialo protocol specification is available at:
|
|
|
384
396
|
|
|
385
397
|
- **Repository:** [github.com/servicialo/protocol](https://github.com/servicialo/protocol)
|
|
386
398
|
- **Website:** [servicialo.com](https://servicialo.com)
|
|
387
|
-
- **Current stable version:** 0.
|
|
399
|
+
- **Current stable version:** 0.9
|
|
388
400
|
- **JSON Schemas:** [`service.schema.json`](https://github.com/servicialo/protocol/blob/main/schema/service.schema.json), [`service-order.schema.json`](https://github.com/servicialo/protocol/blob/main/schema/service-order.schema.json), [`service-mandate.schema.json`](https://github.com/servicialo/protocol/blob/main/schema/service-mandate.schema.json)
|
|
389
401
|
|
|
390
402
|
The spec covers the 8 dimensions, 9 lifecycle states, 6 exception flows (no-show, cancellation, dispute, reschedule, partial delivery), 7 core principles, the two-entity architecture (atomic Service + Service Order), the Delegated Agency Model, DNS resolution, and A2A interoperability.
|
|
@@ -419,17 +431,27 @@ Servicialo follows semantic versioning for the protocol specification:
|
|
|
419
431
|
|
|
420
432
|
## Telemetry
|
|
421
433
|
|
|
422
|
-
On startup, the MCP server sends a single anonymous POST to `https://servicialo.com/api/telemetry/
|
|
434
|
+
On startup, the MCP server sends a single anonymous POST to `https://servicialo.com/api/telemetry/instance` with:
|
|
423
435
|
|
|
424
436
|
```json
|
|
425
437
|
{
|
|
426
438
|
"event": "node_initialized",
|
|
427
|
-
"version": "0.9.
|
|
439
|
+
"version": "0.9.8",
|
|
440
|
+
"node_id": "a1b2c3d4-...",
|
|
428
441
|
"ts": 1711300000000
|
|
429
442
|
}
|
|
430
443
|
```
|
|
431
444
|
|
|
432
|
-
|
|
445
|
+
| Field | Description |
|
|
446
|
+
|---|---|
|
|
447
|
+
| `event` | Always `"node_initialized"` |
|
|
448
|
+
| `version` | Package version |
|
|
449
|
+
| `node_id` | Persistent UUID stored at `~/.servicialo/node_id` |
|
|
450
|
+
| `ts` | Timestamp in milliseconds |
|
|
451
|
+
|
|
452
|
+
**That is everything that gets sent.** No organization info, API keys, patient data, or personal identifiers are transmitted. The IP is hashed (SHA-256) server-side before storage. The ping is fire-and-forget: if it fails, the error is silently discarded and never blocks server operation.
|
|
453
|
+
|
|
454
|
+
On first run with telemetry enabled, the server prints a notice to stderr explaining what is sent and how to opt out.
|
|
433
455
|
|
|
434
456
|
### Disable telemetry
|
|
435
457
|
|
|
@@ -447,6 +469,14 @@ Or in MCP configuration:
|
|
|
447
469
|
}
|
|
448
470
|
```
|
|
449
471
|
|
|
472
|
+
More details: [servicialo.com/docs/telemetry](https://servicialo.com/docs/telemetry)
|
|
473
|
+
|
|
474
|
+
## Join the network
|
|
475
|
+
|
|
476
|
+
When you install `@servicialo/mcp-server`, your node automatically registers with the [network telemetry](https://servicialo.com/network). This helps the ecosystem measure real protocol adoption — without collecting personal or client data.
|
|
477
|
+
|
|
478
|
+
Telemetry reports only: package version, a persistent node UUID, and an IP hash (for approximate geolocation — IPs are not stored). You can disable it at any time with `SERVICIALO_TELEMETRY=false`.
|
|
479
|
+
|
|
450
480
|
## License
|
|
451
481
|
|
|
452
482
|
Apache-2.0 — any implementation, commercial or otherwise, is welcome. See [LICENSE](./LICENSE).
|
package/README.md
CHANGED
|
@@ -5,9 +5,22 @@
|
|
|
5
5
|
|
|
6
6
|
> **[English version](./README.en.md)**
|
|
7
7
|
|
|
8
|
-
**La
|
|
8
|
+
**La interfaz MCP a nivel de protocolo para el estándar Servicialo — la capa de destino para servicios humanos en la era de agentes de IA.**
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
[](https://servicialo.com/network)
|
|
11
|
+
|
|
12
|
+
HTTP hizo los documentos direccionables. Servicialo hace los servicios direccionables. MCP y A2A son el transporte. Servicialo es el destino al que los agentes llegan.
|
|
13
|
+
|
|
14
|
+
Este paquete es la interfaz MCP a nivel de protocolo para **cualquier backend compatible con Servicialo** — no un conector a una plataforma específica. Coordinalo es la implementación de referencia (y el default), pero puedes conectar tu propio backend.
|
|
15
|
+
|
|
16
|
+
## Arquitectura
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
@servicialo/mcp-server → interfaz MCP a nivel de protocolo
|
|
20
|
+
↓ se conecta a cualquier backend compatible con Servicialo
|
|
21
|
+
Coordinalo → implementación de referencia (default)
|
|
22
|
+
Tu implementación → trae tu propio backend
|
|
23
|
+
```
|
|
11
24
|
|
|
12
25
|
## El Problema
|
|
13
26
|
|
|
@@ -435,17 +448,27 @@ Servicialo sigue versionado semántico para la especificación del protocolo:
|
|
|
435
448
|
|
|
436
449
|
## Telemetría
|
|
437
450
|
|
|
438
|
-
Al iniciar, el MCP server envía un único POST anónimo a `https://servicialo.com/api/telemetry/
|
|
451
|
+
Al iniciar, el MCP server envía un único POST anónimo a `https://servicialo.com/api/telemetry/instance` con:
|
|
439
452
|
|
|
440
453
|
```json
|
|
441
454
|
{
|
|
442
455
|
"event": "node_initialized",
|
|
443
|
-
"version": "0.9.
|
|
456
|
+
"version": "0.9.8",
|
|
457
|
+
"node_id": "a1b2c3d4-...",
|
|
444
458
|
"ts": 1711300000000
|
|
445
459
|
}
|
|
446
460
|
```
|
|
447
461
|
|
|
448
|
-
|
|
462
|
+
| Campo | Descripción |
|
|
463
|
+
|---|---|
|
|
464
|
+
| `event` | Siempre `"node_initialized"` |
|
|
465
|
+
| `version` | Versión del paquete |
|
|
466
|
+
| `node_id` | UUID persistente almacenado en `~/.servicialo/node_id` |
|
|
467
|
+
| `ts` | Timestamp en milisegundos |
|
|
468
|
+
|
|
469
|
+
**Esto es todo lo que se envía.** No se transmite información de organización, API keys, datos de pacientes ni ningún identificador personal. La IP se hashea (SHA-256) en el servidor antes de almacenarse. El ping es fire-and-forget: si falla, el error se descarta silenciosamente y nunca bloquea la operación del servidor.
|
|
470
|
+
|
|
471
|
+
La primera vez que se ejecuta con telemetría activa, el servidor imprime un aviso en stderr indicando qué se envía y cómo desactivarlo.
|
|
449
472
|
|
|
450
473
|
### Desactivar telemetría
|
|
451
474
|
|
|
@@ -463,6 +486,14 @@ O en la configuración MCP:
|
|
|
463
486
|
}
|
|
464
487
|
```
|
|
465
488
|
|
|
489
|
+
Más detalles: [servicialo.com/docs/telemetry](https://servicialo.com/docs/telemetry)
|
|
490
|
+
|
|
491
|
+
## Únete a la red
|
|
492
|
+
|
|
493
|
+
Al instalar `@servicialo/mcp-server`, tu nodo se registra automáticamente en la [telemetría de la red](https://servicialo.com/network). Esto ayuda al ecosistema a medir adopción real del protocolo — sin recopilar datos personales ni de tus clientes.
|
|
494
|
+
|
|
495
|
+
La telemetría reporta únicamente: versión del paquete, un UUID de nodo persistente, y un hash de IP (para geolocalización aproximada — no almacenamos IPs). Puedes desactivarla en cualquier momento con `SERVICIALO_TELEMETRY=false`.
|
|
496
|
+
|
|
466
497
|
## Licencia
|
|
467
498
|
|
|
468
499
|
Apache-2.0 — cualquier implementación, comercial o no, es bienvenida. Ver [LICENSE](./LICENSE).
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgPpE,wBAAgB,mBAAmB,cAUlC"}
|
package/dist/index.js
CHANGED
|
@@ -58,9 +58,46 @@ async function main() {
|
|
|
58
58
|
// --- Init adapter ---
|
|
59
59
|
const adapter = await createAdapter();
|
|
60
60
|
// --- Init MCP server ---
|
|
61
|
+
const serverInstructions = [
|
|
62
|
+
'Servicialo es un protocolo abierto para agendar y gestionar servicios profesionales mediante agentes de IA.',
|
|
63
|
+
'',
|
|
64
|
+
'## Autenticación',
|
|
65
|
+
'',
|
|
66
|
+
'Las siguientes tools son **públicas** y NO requieren API key ni autenticación:',
|
|
67
|
+
'- registry_search — Buscar organizaciones por vertical, ubicación y país',
|
|
68
|
+
'- registry_manifest — Obtener metadata del servidor MCP',
|
|
69
|
+
'- registry_get_organization — Obtener perfil público de una organización',
|
|
70
|
+
'- services_list — Listar catálogo de servicios de una organización',
|
|
71
|
+
'- scheduling_check_availability — Consultar disponibilidad horaria',
|
|
72
|
+
'- resolve_lookup — Resolver orgSlug a endpoints y nivel de confianza',
|
|
73
|
+
'- resolve_search — Buscar organizaciones en el resolver global',
|
|
74
|
+
'- trust_get_score — Obtener score de confianza de una organización',
|
|
75
|
+
'- a2a_get_agent_card — Obtener Agent Card A2A para comunicación inter-agente',
|
|
76
|
+
'- docs_quickstart — Guía de onboarding paso a paso',
|
|
77
|
+
'',
|
|
78
|
+
'Para operaciones de **booking y gestión** (book, confirm, cancel, reschedule, delivery, payments, etc.)',
|
|
79
|
+
'se requiere configurar las variables de entorno SERVICIALO_API_KEY y SERVICIALO_ORG_ID.',
|
|
80
|
+
'Estas tools solo aparecen cuando las credenciales están presentes (modo autenticado).',
|
|
81
|
+
'',
|
|
82
|
+
'## Flujo típico de descubrimiento (sin auth)',
|
|
83
|
+
'',
|
|
84
|
+
'1. registry_search → encontrar organizaciones',
|
|
85
|
+
'2. registry_get_organization o services_list → ver servicios disponibles',
|
|
86
|
+
'3. scheduling_check_availability → consultar horarios libres',
|
|
87
|
+
'',
|
|
88
|
+
'## Flujo de booking (requiere auth)',
|
|
89
|
+
'',
|
|
90
|
+
'1. service_get → entender las 8 dimensiones del servicio',
|
|
91
|
+
'2. contract_get → entender reglas y políticas',
|
|
92
|
+
'3. clients_get_or_create → identificar al cliente',
|
|
93
|
+
'4. scheduling_book → crear la sesión',
|
|
94
|
+
'5. lifecycle_transition → avanzar por el ciclo de vida',
|
|
95
|
+
].join('\n');
|
|
61
96
|
const server = new McpServer({
|
|
62
97
|
name: 'servicialo',
|
|
63
98
|
version: pkg.version,
|
|
99
|
+
}, {
|
|
100
|
+
instructions: serverInstructions,
|
|
64
101
|
});
|
|
65
102
|
// --- Register tools ---
|
|
66
103
|
function registerTools(tools) {
|
|
@@ -107,21 +144,38 @@ async function main() {
|
|
|
107
144
|
if (process.env.SERVICIALO_TELEMETRY?.toLowerCase() !== 'false') {
|
|
108
145
|
// 1. Persistent node_id: read or create ~/.servicialo/node_id
|
|
109
146
|
let nodeId;
|
|
147
|
+
const servicialoDir = join(homedir(), '.servicialo');
|
|
110
148
|
try {
|
|
111
|
-
const
|
|
112
|
-
const file = join(dir, 'node_id');
|
|
149
|
+
const file = join(servicialoDir, 'node_id');
|
|
113
150
|
if (existsSync(file)) {
|
|
114
151
|
nodeId = readFileSync(file, 'utf-8').trim();
|
|
115
152
|
}
|
|
116
153
|
if (!nodeId) {
|
|
117
154
|
nodeId = randomUUID();
|
|
118
|
-
mkdirSync(
|
|
155
|
+
mkdirSync(servicialoDir, { recursive: true });
|
|
119
156
|
writeFileSync(file, nodeId, 'utf-8');
|
|
120
157
|
}
|
|
121
158
|
}
|
|
122
159
|
catch {
|
|
123
160
|
// Non-critical — proceed without node_id
|
|
124
161
|
}
|
|
162
|
+
// 1b. First-run notice (shown once, then sentinel file prevents repeat)
|
|
163
|
+
try {
|
|
164
|
+
const sentinelFile = join(servicialoDir, '.telemetry-notice-shown');
|
|
165
|
+
if (!existsSync(sentinelFile)) {
|
|
166
|
+
console.error('\n Servicialo sends anonymous usage telemetry (node_id + version).\n' +
|
|
167
|
+
' To opt out, set SERVICIALO_TELEMETRY=false\n' +
|
|
168
|
+
' Details: https://servicialo.com/docs/telemetry\n');
|
|
169
|
+
try {
|
|
170
|
+
mkdirSync(servicialoDir, { recursive: true });
|
|
171
|
+
writeFileSync(sentinelFile, new Date().toISOString(), 'utf-8');
|
|
172
|
+
}
|
|
173
|
+
catch { /* non-critical */ }
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
catch {
|
|
177
|
+
// Non-critical — proceed without notice
|
|
178
|
+
}
|
|
125
179
|
// 2. Anonymous telemetry instance registration
|
|
126
180
|
fetch('https://servicialo.com/api/telemetry/instance', {
|
|
127
181
|
method: 'POST',
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,aAAa,EAA0B,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CACzC,CAAC;AAEzB,uBAAuB;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,2CAA2C;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAUzE,2CAA2C;AAC3C,MAAM,WAAW,GAA4B;IAC3C,GAAG,aAAmD;IACtD,GAAG,uBAA6D;IAChE,GAAG,mBAAyD;IAC5D,GAAG,YAAkD;IACrD,GAAG,QAA8C;IACjD,GAAG,mBAAyD;CAC7D,CAAC;AAEF,2DAA2D;AAC3D,MAAM,kBAAkB,GAA4B;IAClD,GAAG,aAAmD;IACtD,GAAG,gBAAsD;IACzD,GAAG,cAAoD;IACvD,GAAG,aAAmD;IACtD,GAAG,WAAiD;IACpD,GAAG,aAAmD;IACtD,GAAG,gBAAsD;CAC1D,CAAC;AAEF,4BAA4B;AAC5B,KAAK,UAAU,IAAI;IACjB,sBAAsB;IACtB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,YAAY,CAAC;IAEnE,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,2CAA2C,OAAO,CAAC,GAAG,CAAC,iBAAiB,cAAc,WAAW,GAAG,CAAC,CAAC;IACtH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,6CAA6C,WAAW,GAAG,CAAC,CAAC;IAC7E,CAAC;IAED,uBAAuB;IACvB,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;IAEtC,0BAA0B;IAC1B,MAAM,MAAM,GAAG,IAAI,SAAS,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ export const resolveAuthTools = {
|
|
|
12
12
|
rest_url: z.string().optional().describe('URL de la API REST de la organización'),
|
|
13
13
|
health_url: z.string().optional().describe('URL del health-check endpoint'),
|
|
14
14
|
legal_name: z.string().optional().describe('Nombre legal (si difiere del nombre comercial)'),
|
|
15
|
-
verticals: z.array(z.string()).optional().describe('Verticales de servicio (ej: ["
|
|
15
|
+
verticals: z.array(z.string()).optional().describe('Verticales de servicio. Valores comunes: tecnologia, consultoria, kinesiologia, psicologia, dental, nutricion, fonoaudiologia, terapia-ocupacional, medicina, veterinaria, educacion, fitness, legal, belleza, hogar (ej: ["tecnologia", "consultoria"])'),
|
|
16
16
|
contact_email: z.string().optional().describe('Email de contacto'),
|
|
17
17
|
}),
|
|
18
18
|
handler: async (client, args) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-auth.js","sourceRoot":"","sources":["../../../src/tools/authenticated/resolve-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,kBAAkB,EAAE;QAClB,WAAW,EACT,yFAAyF;YACzF,sFAAsF;YACtF,8DAA8D;QAChE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+EAA+E,CAAC;YAC1G,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YACxE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACtD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YAClF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;YACjF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAC3E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;YAC5F,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"resolve-auth.js","sourceRoot":"","sources":["../../../src/tools/authenticated/resolve-auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a2a.d.ts","sourceRoot":"","sources":["../../../src/tools/public/a2a.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,eAAO,MAAM,QAAQ;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"a2a.d.ts","sourceRoot":"","sources":["../../../src/tools/public/a2a.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,eAAO,MAAM,QAAQ;;;;;;;;;;0BAWO,iBAAiB,QAAQ;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE;;CAOxE,CAAC"}
|
package/dist/tools/public/a2a.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export const a2aTools = {
|
|
3
3
|
'a2a.get_agent_card': {
|
|
4
|
-
description: 'Get the A2A Agent Card for
|
|
5
|
-
'Use this to
|
|
4
|
+
description: 'Get the A2A (Agent-to-Agent) Agent Card for an organization, enabling inter-agent discovery. ' +
|
|
5
|
+
'Use this when your agent needs to communicate with another agent managing this organization — ' +
|
|
6
|
+
'the card declares supported capabilities, endpoints, and authentication requirements. ' +
|
|
7
|
+
'Do NOT use for human-facing discovery (use registry.get_organization) or service listing (use services.list). ' +
|
|
8
|
+
'Returns a JSON-LD Agent Card following the A2A v0.3 specification.',
|
|
6
9
|
schema: z.object({
|
|
7
10
|
org_slug: z.string().describe('Organization slug (e.g. "clinica-dental-sur")'),
|
|
8
11
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a2a.js","sourceRoot":"","sources":["../../../src/tools/public/a2a.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,oBAAoB,EAAE;QACpB,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"a2a.js","sourceRoot":"","sources":["../../../src/tools/public/a2a.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,oBAAoB,EAAE;QACpB,WAAW,EACT,+FAA+F;YAC/F,gGAAgG;YAChG,wFAAwF;YACxF,gHAAgH;YAChH,oEAAoE;QACtE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;SAC/E,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAyB,EAAE,IAA0B,EAAE,EAAE;YACvE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CACjC,mBAAmB,IAAI,CAAC,QAAQ,yBAAyB,CAC1D,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;KACF;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"availability.d.ts","sourceRoot":"","sources":["../../../src/tools/public/availability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"availability.d.ts","sourceRoot":"","sources":["../../../src/tools/public/availability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;0BAgBR,iBAAiB,QAAQ;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE;;CAU7K,CAAC"}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export const publicAvailabilityTools = {
|
|
3
3
|
'scheduling.check_availability': {
|
|
4
|
-
description: '
|
|
4
|
+
description: 'Query available time slots for booking at an organization. No authentication required. ' +
|
|
5
|
+
'Use this after services.list when you know the org and need to find open slots before booking. ' +
|
|
6
|
+
'Checks 3-way availability: provider schedule AND client conflicts AND physical resource (room/equipment). ' +
|
|
7
|
+
'Do NOT use for searching organizations (use registry.search) or listing services (use services.list). ' +
|
|
8
|
+
'Returns available slots grouped by date, each with start time, end time, provider, and resource.',
|
|
5
9
|
schema: z.object({
|
|
6
|
-
org_slug: z.string().describe('
|
|
7
|
-
service_id: z.string().optional().describe('ID
|
|
8
|
-
provider_id: z.string().optional().describe('ID
|
|
9
|
-
resource_id: z.string().optional().describe('
|
|
10
|
-
date_from: z.string().describe('
|
|
11
|
-
date_to: z.string().describe('
|
|
10
|
+
org_slug: z.string().describe('Organization slug (e.g. "clinica-dental-sur"). Get this from registry.search results.'),
|
|
11
|
+
service_id: z.string().optional().describe('Filter by service ID. Get valid IDs from services.list. Omit to check all services.'),
|
|
12
|
+
provider_id: z.string().optional().describe('Filter by provider ID. Omit to check all available providers.'),
|
|
13
|
+
resource_id: z.string().optional().describe('Filter by physical resource (room, equipment). Only needed if the service requires a specific resource.'),
|
|
14
|
+
date_from: z.string().describe('Start date in ISO format (e.g. "2026-03-01"). Must be today or later.'),
|
|
15
|
+
date_to: z.string().describe('End date in ISO format (e.g. "2026-03-07"). Max range: 30 days from date_from.'),
|
|
12
16
|
}),
|
|
13
17
|
handler: async (client, args) => {
|
|
14
18
|
return client.pub.get(`/api/servicialo/${args.org_slug}/availability`, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"availability.js","sourceRoot":"","sources":["../../../src/tools/public/availability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,+BAA+B,EAAE;QAC/B,WAAW,
|
|
1
|
+
{"version":3,"file":"availability.js","sourceRoot":"","sources":["../../../src/tools/public/availability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,+BAA+B,EAAE;QAC/B,WAAW,EACT,yFAAyF;YACzF,iGAAiG;YACjG,4GAA4G;YAC5G,wGAAwG;YACxG,kGAAkG;QACpG,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uFAAuF,CAAC;YACtH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qFAAqF,CAAC;YACjI,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;YAC5G,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yGAAyG,CAAC;YACtJ,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uEAAuE,CAAC;YACvG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gFAAgF,CAAC;SAC/G,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAyB,EAAE,IAA+H,EAAE,EAAE;YAC5K,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,QAAQ,eAAe,EAAE;gBACrE,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,UAAU,EAAE,IAAI,CAAC,WAAW;gBAC5B,UAAU,EAAE,IAAI,CAAC,WAAW;gBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS;gBACpB,EAAE,EAAE,IAAI,CAAC,OAAO;aACjB,CAAC,CAAC;QACL,CAAC;KACF;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs-quickstart.d.ts","sourceRoot":"","sources":["../../../src/tools/public/docs-quickstart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,eAAO,MAAM,mBAAmB;;;;
|
|
1
|
+
{"version":3,"file":"docs-quickstart.d.ts","sourceRoot":"","sources":["../../../src/tools/public/docs-quickstart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,eAAO,MAAM,mBAAmB;;;;2BASH,iBAAiB,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgG3E,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export const docsQuickstartTools = {
|
|
3
3
|
'docs.quickstart': {
|
|
4
|
-
description: 'Get the complete
|
|
5
|
-
'Use this
|
|
6
|
-
'covers installation, signup, credentials, MCP client config, and publishing.'
|
|
4
|
+
description: 'Get the complete 5-step onboarding guide as structured JSON data. ' +
|
|
5
|
+
'Use this when helping a new organization join the Servicialo network — ' +
|
|
6
|
+
'covers installation, signup, credentials, MCP client config, and publishing. ' +
|
|
7
|
+
'Do NOT use for searching services (use registry.search) or checking availability (use scheduling.check_availability). ' +
|
|
8
|
+
'Returns step-by-step instructions, config templates, and links. No parameters required.',
|
|
7
9
|
schema: z.object({}),
|
|
8
10
|
handler: async (_client, _args) => {
|
|
9
11
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs-quickstart.js","sourceRoot":"","sources":["../../../src/tools/public/docs-quickstart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,iBAAiB,EAAE;QACjB,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"docs-quickstart.js","sourceRoot":"","sources":["../../../src/tools/public/docs-quickstart.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,23 +4,23 @@ export declare const registryTools: {
|
|
|
4
4
|
'registry.search': {
|
|
5
5
|
description: string;
|
|
6
6
|
schema: z.ZodObject<{
|
|
7
|
-
vertical: z.ZodString
|
|
7
|
+
vertical: z.ZodOptional<z.ZodString>;
|
|
8
8
|
location: z.ZodOptional<z.ZodString>;
|
|
9
9
|
country: z.ZodDefault<z.ZodString>;
|
|
10
10
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
11
11
|
}, "strip", z.ZodTypeAny, {
|
|
12
|
-
vertical: string;
|
|
13
12
|
country: string;
|
|
14
13
|
limit: number;
|
|
14
|
+
vertical?: string | undefined;
|
|
15
15
|
location?: string | undefined;
|
|
16
16
|
}, {
|
|
17
|
-
vertical
|
|
17
|
+
vertical?: string | undefined;
|
|
18
18
|
location?: string | undefined;
|
|
19
19
|
country?: string | undefined;
|
|
20
20
|
limit?: number | undefined;
|
|
21
21
|
}>;
|
|
22
22
|
handler: (client: ServicialoAdapter, args: {
|
|
23
|
-
vertical
|
|
23
|
+
vertical?: string;
|
|
24
24
|
location?: string;
|
|
25
25
|
country?: string;
|
|
26
26
|
limit?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/tools/public/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/tools/public/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;0BAcE,iBAAiB,QAAQ;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;0BAkBnG,iBAAiB;;;;;;;;;;;;;;0BAgBjB,iBAAiB,QAAQ;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE;;CAO1F,CAAC"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export const registryTools = {
|
|
3
3
|
'registry.search': {
|
|
4
|
-
description: '
|
|
4
|
+
description: 'Search for Servicialo-compatible organizations by vertical, location, and country. ' +
|
|
5
|
+
'Use this as the primary discovery tool when a user needs a service ' +
|
|
6
|
+
'(e.g., "find a physiotherapist in Santiago"). ' +
|
|
7
|
+
'Do NOT use if you already have an org_slug (use registry.get_organization instead). ' +
|
|
8
|
+
'Returns a ranked list of organizations with names, slugs, and service summaries.',
|
|
5
9
|
schema: z.object({
|
|
6
|
-
vertical: z.string().describe('Vertical del servicio
|
|
7
|
-
location: z.string().optional().describe('
|
|
8
|
-
country: z.string().default('cl').describe('
|
|
9
|
-
limit: z.number().default(10).describe('
|
|
10
|
+
vertical: z.string().optional().describe('Vertical del servicio. Valores comunes: tecnologia, consultoria, kinesiologia, psicologia, dental, nutricion, fonoaudiologia, terapia-ocupacional, medicina, veterinaria, educacion, fitness, legal, belleza, hogar. Omitir para buscar en todas las verticales.'),
|
|
11
|
+
location: z.string().optional().describe('City or district to filter by (e.g. "santiago", "providencia"). Omit for country-wide results.'),
|
|
12
|
+
country: z.string().default('cl').describe('ISO 3166-1 alpha-2 country code (e.g. "cl", "mx", "ar"). Default: "cl"'),
|
|
13
|
+
limit: z.number().default(10).describe('Max results to return (1-100). Default: 10'),
|
|
10
14
|
}),
|
|
11
15
|
handler: async (client, args) => {
|
|
12
16
|
const result = await client.pub.get('/api/servicialo/registry', {
|
|
@@ -19,7 +23,10 @@ export const registryTools = {
|
|
|
19
23
|
},
|
|
20
24
|
},
|
|
21
25
|
'registry.manifest': {
|
|
22
|
-
description: '
|
|
26
|
+
description: 'Get the Servicialo server manifest: protocol version, server name, and available capabilities. ' +
|
|
27
|
+
'Use this to verify server identity and protocol compatibility before interacting with tools. ' +
|
|
28
|
+
'Do NOT use for organization discovery (use registry.search) or service details (use services.list). ' +
|
|
29
|
+
'Returns static metadata about this MCP server instance, not about any specific organization.',
|
|
23
30
|
schema: z.object({}),
|
|
24
31
|
handler: async (client) => {
|
|
25
32
|
const result = await client.pub.get('/api/servicialo/manifest');
|
|
@@ -27,7 +34,10 @@ export const registryTools = {
|
|
|
27
34
|
},
|
|
28
35
|
},
|
|
29
36
|
'registry.get_organization': {
|
|
30
|
-
description: '
|
|
37
|
+
description: 'Get the full public profile of a specific organization: services offered, providers, and booking configuration. ' +
|
|
38
|
+
'Use this after registry.search when you have an org_slug and need detailed info before booking. ' +
|
|
39
|
+
'Do NOT use for searching across organizations (use registry.search). ' +
|
|
40
|
+
'Returns service catalog with prices/durations, provider list, and booking policies.',
|
|
31
41
|
schema: z.object({
|
|
32
42
|
org_slug: z.string().describe('Slug de la organización (ej: clinica-dental-sur)'),
|
|
33
43
|
country: z.string().default('cl').describe('País ISO 3166-1 alpha-2 (ej: cl, mx, ar). Default: cl'),
|
|
@@ -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,
|
|
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,EACT,qFAAqF;YACrF,qEAAqE;YACrE,gDAAgD;YAChD,sFAAsF;YACtF,kFAAkF;QACpF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kQAAkQ,CAAC;YAC5S,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gGAAgG,CAAC;YAC1I,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,wEAAwE,CAAC;YACpH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC;SACrF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAyB,EAAE,IAAgF,EAAE,EAAE;YAC7H,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,mBAAmB,EAAE;QACnB,WAAW,EACT,iGAAiG;YACjG,+FAA+F;YAC/F,sGAAsG;YACtG,8FAA8F;QAChG,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,KAAK,EAAE,MAAyB,EAAE,EAAE;YAC3C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YAChE,OAAO,MAAM,CAAC;QAChB,CAAC;KACF;IAED,2BAA2B,EAAE;QAC3B,WAAW,EACT,kHAAkH;YAClH,kGAAkG;YAClG,uEAAuE;YACvE,qFAAqF;QACvF,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,MAAyB,EAAE,IAA4C,EAAE,EAAE;YACzF,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/tools/public/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,eAAO,MAAM,YAAY;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/tools/public/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,eAAO,MAAM,YAAY;;;;;;;;;;;;;0BAWG,iBAAiB,QAAQ;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;0BAkB/D,iBAAiB,QAAQ;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;0BAoBhF,iBAAiB,QAAQ;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE;;CAgB1F,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export const resolveTools = {
|
|
3
3
|
'resolve.lookup': {
|
|
4
|
-
description: '
|
|
5
|
-
'
|
|
6
|
-
'
|
|
4
|
+
description: 'Resolve an organization slug to its MCP/REST endpoints and trust level — the DNS of professional services. ' +
|
|
5
|
+
'Use this when you know the org_slug and need its API endpoint before calling any other tool. ' +
|
|
6
|
+
'Do NOT use for searching by vertical or location (use resolve.search or registry.search instead). ' +
|
|
7
|
+
'Returns: endpoint URLs, trust score (0-100), trust level, and last heartbeat timestamp.',
|
|
7
8
|
schema: z.object({
|
|
8
9
|
org_slug: z.string().describe('Slug de la organización (ej: clinica-dental-sur)'),
|
|
9
10
|
country: z.string().default('cl').describe('País ISO 3166-1 alpha-2 (ej: cl, mx, ar). Default: cl'),
|
|
@@ -14,12 +15,14 @@ export const resolveTools = {
|
|
|
14
15
|
},
|
|
15
16
|
},
|
|
16
17
|
'resolve.search': {
|
|
17
|
-
description: '
|
|
18
|
-
'
|
|
19
|
-
'
|
|
18
|
+
description: 'Search the global Servicialo resolver for registered organizations by country and vertical. ' +
|
|
19
|
+
'Use this for broad discovery when you need to find all organizations in a country/vertical ' +
|
|
20
|
+
'(e.g., "what physiotherapy clinics exist in Chile?"). ' +
|
|
21
|
+
'Do NOT use if you already have an org_slug (use resolve.lookup instead). ' +
|
|
22
|
+
'Unlike registry.search, this queries the DNS-level resolver and returns endpoint URLs + trust levels.',
|
|
20
23
|
schema: z.object({
|
|
21
24
|
country: z.string().default('cl').describe('País ISO 3166-1 alpha-2 (ej: cl, mx, ar). Default: cl'),
|
|
22
|
-
vertical: z.string().optional().describe('Vertical del servicio
|
|
25
|
+
vertical: z.string().optional().describe('Vertical del servicio. Valores comunes: tecnologia, consultoria, kinesiologia, psicologia, dental, nutricion, fonoaudiologia, terapia-ocupacional, medicina, veterinaria, educacion, fitness, legal, belleza, hogar. Omitir para buscar en todas las verticales.'),
|
|
23
26
|
limit: z.number().default(20).describe('Cantidad máxima de resultados (1-100). Default: 20'),
|
|
24
27
|
}),
|
|
25
28
|
handler: async (client, args) => {
|
|
@@ -33,9 +36,11 @@ export const resolveTools = {
|
|
|
33
36
|
},
|
|
34
37
|
},
|
|
35
38
|
'trust.get_score': {
|
|
36
|
-
description: '
|
|
37
|
-
'
|
|
38
|
-
'
|
|
39
|
+
description: 'Get the trust score of an organization from the Servicialo resolver. ' +
|
|
40
|
+
'Use this to evaluate reliability before booking — returns score (0-100), ' +
|
|
41
|
+
'trust level (unverified → declared → vouched → verified), and last activity timestamp. ' +
|
|
42
|
+
'Do NOT use this to find organizations (use resolve.search). ' +
|
|
43
|
+
'Trust accumulates passively from verified service history; it cannot be purchased or self-declared.',
|
|
39
44
|
schema: z.object({
|
|
40
45
|
org_slug: z.string().describe('Slug de la organización (ej: clinica-dental-sur)'),
|
|
41
46
|
country: z.string().default('cl').describe('País ISO 3166-1 alpha-2. Default: cl'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/tools/public/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,gBAAgB,EAAE;QAChB,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/tools/public/resolve.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../src/tools/public/services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,eAAO,MAAM,mBAAmB;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../src/tools/public/services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,eAAO,MAAM,mBAAmB;;;;;;;;;;0BAUJ,iBAAiB,QAAQ;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE;;CAIxE,CAAC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export const publicServicesTools = {
|
|
3
3
|
'services.list': {
|
|
4
|
-
description: '
|
|
4
|
+
description: 'List the public service catalog of an organization: names, prices, durations, and modalities. ' +
|
|
5
|
+
'Use this after registry.search to see what services an organization offers before checking availability. ' +
|
|
6
|
+
'Do NOT use for organization discovery (use registry.search) or checking time slots (use scheduling.check_availability). ' +
|
|
7
|
+
'Returns active, publicly bookable services only — internal or draft services are excluded.',
|
|
5
8
|
schema: z.object({
|
|
6
9
|
org_slug: z.string().describe('Slug de la organización'),
|
|
7
10
|
}),
|
|
@@ -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,
|
|
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,EACT,gGAAgG;YAChG,2GAA2G;YAC3G,0HAA0H;YAC1H,4FAA4F;QAC9F,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,MAAyB,EAAE,IAA0B,EAAE,EAAE;YACvE,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,QAAQ,WAAW,CAAC,CAAC;QACrE,CAAC;KACF;CACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servicialo/mcp-server",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.9",
|
|
4
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
6
|
"license": "Apache-2.0",
|