# io.github.danioni/servicialo (npm · @servicialo/mcp-server)

Open protocol for professional service delivery via AI agents

- Trust score: 68/100 (medium)
- Change this week: +22
- Registry status: deprecated
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

> **Deprecated**: this server is marked deprecated in the MCP registry.

## Components

- npm · `@servicialo/mcp-server`: 68/100 (this document), [markdown](https://verifymcp.io/servers/danioni-servicialo/servicialo-mcp-server.md), [page](https://verifymcp.io/servers/danioni-servicialo/servicialo-mcp-server)

## Channel facts

- Registry: `npm`
- Package: `@servicialo/mcp-server`
- Version: `0.5.2`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 1 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 71/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 1940 tokens (~97/item across 20 items; 20 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add danioni-servicialo -- npx -y @servicialo/mcp-server
```

### Codex

```bash
codex mcp add danioni-servicialo -- npx -y @servicialo/mcp-server
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "danioni-servicialo": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@servicialo/mcp-server"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add danioni-servicialo --command npx --arg -y --arg @servicialo/mcp-server
```

### Hermes

```yaml
mcp_servers:
  danioni-servicialo:
    command: "npx"
    args: ["-y", "@servicialo/mcp-server"]
```

### Other

```json
{
  "mcpServers": {
    "danioni-servicialo": {
      "command": "npx",
      "args": [
        "-y",
        "@servicialo/mcp-server"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 68, +48)

- [security regression] Provenance: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [functional regression] Security disclosure: fail → unverified
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] License: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] Schema quality: unverified → good
- [functional] Licence: MIT

### 2026-08-01 (score 20, +13)

- [security improvement] Malware scan: unverified → pass
- [functional regression] Dependency health: partial → unverified

### 2026-07-31 (score 7, −21)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 28, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-27 (score 46)

First indexed and scored.

## MCP tools (20)

### `registry.search` (~68 tokens)

Busca organizaciones Servicialo-compatible por vertical, ubicación u otros criterios

Input parameters:

- `limit` (number): Cantidad máxima de resultados
- `location` (string): Ciudad o comuna para filtrar
- `vertical` (string, required): Vertical del servicio (ej: kinesiologia, psicologia, dental)

### `registry.get_organization` (~48 tokens)

Obtiene el detalle público de una organización: servicios, profesionales y configuración de booking

Input parameters:

- `org_slug` (string, required): Slug de la organización (ej: clinica-dental-sur)

### `scheduling.check_availability` (~107 tokens)

Consulta horarios disponibles de una organización sin autenticación

Input parameters:

- `date_from` (string, required): Fecha inicio (ISO date, ej: 2025-03-01)
- `date_to` (string, required): Fecha fin (ISO date, ej: 2025-03-07)
- `org_slug` (string, required): Slug de la organización
- `provider_id` (string): ID del proveedor (opcional)
- `service_id` (string): ID del servicio (opcional)

### `services.list` (~31 tokens)

Lista el catálogo público de servicios de una organización

Input parameters:

- `org_slug` (string, required): Slug de la organización

### `service.get` (~83 tokens)

[Fase 2 — Entender] Obtiene las 8 dimensiones de un servicio: qué se entrega, quién lo entrega, quién lo recibe (con pagador separado), cuándo, dónde, ciclo de vida, evidencia requerida y cobro. Llama esto para entender completamente un servicio antes de comprometerse.

Input parameters:

- `service_id` (string, required): ID del servicio

### `contract.get` (~91 tokens)

[Fase 2 — Entender] Obtiene el contrato de servicio pre-acordado. Define las reglas bajo las que opera el servicio: evidencia requerida, políticas de cancelación, inasistencia y arbitraje. DEBE llamarse antes de cualquier acción en Fase 3+.

Input parameters:

- `org_id` (string, required): ID de la organización
- `service_id` (string, required): ID del servicio

### `clients.get_or_create` (~146 tokens)

[Fase 3 — Comprometer] Busca un cliente por email o teléfono. Si existe, retorna sus datos y resumen de historial. Si no existe, lo crea con los datos proporcionados. Una sola llamada para resolver la identidad del cliente antes de agendar.

Input parameters:

- `actor` (object, required): Quién realiza la acción
- `email` (string): Email del cliente (buscará primero por email)
- `last_name` (string): Apellido — requerido solo si el cliente no existe
- `name` (string): Nombre — requerido solo si el cliente no existe
- `phone` (string): Teléfono del cliente (buscará si no se provee email)

### `scheduling.book` (~114 tokens)

[Fase 3 — Comprometer] Agenda una nueva sesión para un cliente con un proveedor. Crea la sesión en estado "Solicitado". Requiere haber llamado contract.get antes para conocer las reglas del servicio.

Input parameters:

- `actor` (object, required): Quién realiza la acción
- `client_id` (string, required): ID del cliente
- `provider_id` (string, required): ID del proveedor
- `service_id` (string, required): ID del servicio
- `starts_at` (string, required): Fecha y hora de inicio (ISO datetime)

### `scheduling.confirm` (~83 tokens)

[Fase 3 — Comprometer] Confirma una sesión agendada, moviéndola a estado "Confirmado". Ambas partes (proveedor y cliente) deben confirmar antes de que el servicio pueda iniciar.

Input parameters:

- `actor` (object, required): Quién confirma (client, provider, organization o agent)
- `session_id` (string, required): ID de la sesión a confirmar

### `lifecycle.get_state` (~67 tokens)

[Fase 4 — Ciclo de vida] Obtiene el estado actual de una sesión en el ciclo de vida Servicialo, incluyendo las transiciones disponibles desde el estado actual y el historial de transiciones pasadas.

Input parameters:

- `session_id` (string, required): ID de la sesión

### `lifecycle.transition` (~160 tokens)

[Fase 4 — Ciclo de vida] Ejecuta una transición de estado en el ciclo de vida de una sesión. Transiciones válidas: requested→scheduled, scheduled→confirmed, confirmed→in_progress, in_progress→delivered, delivered→documented, documented→charged, charged→verified, any→cancelled. Cada transición puede requerir evidencia según el contrato del servicio.

Input parameters:

- `actor` (object, required): Quién ejecuta la transición
- `evidence` (object): Evidencia requerida por el contrato para esta transición
- `reason` (string): Motivo de la transición (requerido para cancelled)
- `session_id` (string, required): ID de la sesión
- `to_state` (string, required): Estado destino de la transición

### `scheduling.reschedule` (~103 tokens)

[Fase 4 — Ciclo de vida] Reagenda una sesión existente a una nueva fecha/hora. Flujo de excepción: la sesión vuelve a estado "Scheduled" con nuevo horario. La política de reagendamiento del contrato puede aplicar cargos.

Input parameters:

- `actor` (object, required): Quién realiza la acción
- `new_datetime` (string, required): Nueva fecha y hora (ISO datetime)
- `session_id` (string, required): ID de la sesión a reagendar

### `scheduling.cancel` (~105 tokens)

[Fase 4 — Ciclo de vida] Cancela una sesión existente. Flujo de excepción: aplica la política de cancelación definida en el contrato (reembolso total fuera de ventana de penalidad, parcial/nulo dentro). Llama contract.get primero para conocer la política.

Input parameters:

- `actor` (object, required): Quién realiza la acción
- `reason` (string): Motivo de la cancelación
- `session_id` (string, required): ID de la sesión a cancelar

### `delivery.checkin` (~110 tokens)

[Fase 5 — Verificar entrega] Registra el check-in del proveedor o cliente, moviendo la sesión a "En Curso". Captura timestamp y ubicación GPS como evidencia de inicio de servicio.

Input parameters:

- `actor` (object, required): Quién hace check-in (provider o client)
- `location` (object): Ubicación GPS al momento del check-in
- `session_id` (string, required): ID de la sesión
- `timestamp` (string): ISO datetime del check-in (default: ahora)

### `delivery.checkout` (~110 tokens)

[Fase 5 — Verificar entrega] Registra el check-out al finalizar el servicio, moviendo la sesión a "Entregado". Captura timestamp y ubicación GPS. La duración real se calcula automáticamente.

Input parameters:

- `actor` (object, required): Quién hace check-out (provider o client)
- `location` (object): Ubicación GPS al momento del check-out
- `session_id` (string, required): ID de la sesión
- `timestamp` (string): ISO datetime del check-out (default: ahora)

### `delivery.record_evidence` (~112 tokens)

[Fase 5 — Verificar entrega] Registra evidencia de entrega del servicio según los requisitos del contrato. Tipos: GPS, firma, foto, documento, duración, notas. Consultar contract.get para conocer la evidencia requerida por vertical.

Input parameters:

- `actor` (object, required): Quién registra la evidencia
- `data` (object, required): Payload de la evidencia (estructura varía por tipo)
- `evidence_type` (string, required): Tipo de evidencia
- `session_id` (string, required): ID de la sesión

### `documentation.create` (~111 tokens)

[Fase 6 — Cerrar] Genera el registro/documentación del servicio entregado (nota clínica, reporte de inspección, acta de clase, etc.). Mueve la sesión a "Documentado".

Input parameters:

- `actor` (object, required): Quién genera la documentación (típicamente el proveedor)
- `content` (string, required): Contenido del registro/documentación
- `session_id` (string, required): ID de la sesión
- `template_id` (string): ID de plantilla de documentación (si aplica)

### `payments.create_sale` (~106 tokens)

[Fase 6 — Cerrar] Crea una venta (cargo) asociada a un servicio documentado. Mueve la sesión a "Cobrado". Debe llamarse después de documentation.create.

Input parameters:

- `client_id` (string, required): ID del cliente
- `provider_id` (string, required): ID del proveedor
- `quantity` (number): Cantidad de sesiones
- `service_id` (string, required): ID del servicio
- `unit_price` (number, required): Precio unitario

### `payments.record_payment` (~97 tokens)

[Fase 6 — Cerrar] Registra un pago recibido contra una venta existente. El pago es independiente del ciclo de vida — billing.status transiciona de charged → invoiced → paid.

Input parameters:

- `amount` (number, required): Monto cobrado
- `method` (string, required): Método de pago
- `reference` (string): Referencia o número de transacción
- `venta_id` (string, required): ID de la venta

### `payments.get_status` (~88 tokens)

[Fase 6 — Cerrar] Consulta el estado de pago de una venta específica o el estado de cuenta de un cliente. Provee sale_id para una venta o client_id para el estado de cuenta completo.

Input parameters:

- `client_id` (string): ID del cliente (para consultar estado de cuenta)
- `sale_id` (string): ID de la venta (para consultar una venta específica)

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/danioni-servicialo/servicialo-mcp-server#diagnostics

## Score history

- 2026-08-03: 68
- 2026-08-02: 68
- 2026-08-01: 20
- 2026-07-31: 7
- 2026-07-30: 28
- 2026-07-28: 46
- 2026-07-27: 46

## Links

- npm package: https://www.npmjs.com/package/@servicialo/mcp-server
- Socket report: https://socket.dev/npm/package/@servicialo/mcp-server
- Repository: https://github.com/servicialo/mcp-server
- Changelog RSS feed: https://verifymcp.io/servers/danioni-servicialo/servicialo-mcp-server/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/danioni-servicialo/servicialo-mcp-server/changelog.json
- HTML version of this page: https://verifymcp.io/servers/danioni-servicialo/servicialo-mcp-server
