Servicialo MCP Server

com.servicialov0.9.1更新於 Sep 29, 2026

Open protocol for booking and scheduling professional services via AI agents

已驗證STDIO僅桌面AI & MLCloud & Infrastructure

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Servicialo MCP Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

@servicialo/mcp-server

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. 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.

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.

Protocolo: v0.10 (draft) · Spec: servicialo.com/spec · Este paquete versiona independiente del protocolo (0.9.x hasta 1.0).

Road to 1.0

El protocolo Servicialo entra en fase de estabilización. El primer cohort formal de RFCs está abierto a comentarios durante una ventana mínima de 4 semanas antes de pasar a Final Comment Period. Hasta 1.0, los releases siguen siendo 0.9.x patch y cualquier cambio breaking al protocolo requiere su RFC merged y comunicación previa.

Hitos pendientes hacia 1.0

HitoEstado
RFC-001 — RFC Process & Deprecation PolicyDraft / Open for Comment
RFC-002 — Prepayment & Client Credit BalanceDraft / Open for Comment
RFC-003 — Refunds & Credit Notes (Forward-Only Ledger)Draft / Open for Comment
RFC-004 — PII / PHI Classification FrameworkDraft / Open for Comment
Declaración de Core estable (8 dimensiones · ciclo 6+3 · 6 flujos · 7 principios) con garantías de backwards-compatPendiente
≥ 3 implementaciones independientes en producciónEn progreso

Arquitectura

@servicialo/mcp-server  →  interfaz MCP a nivel de protocolo        ↓ se conecta a cualquier backend compatible con ServicialoCoordinalo              →  implementación de referencia (default)Tu implementación       →  trae tu propio backend

El Problema

Los agentes de IA pueden navegar la web, escribir código y mantener conversaciones. Pero pídele a uno que reserve una sesión de kinesiología, verifique que ocurrió, y procese el pago — y se desmorona.

Hoy, cada plataforma es un silo. No hay estándar para:

  • Descubrimiento — qué prestador, en qué organización, ofrece lo que necesito?
  • Identidad — en nombre de quién actúa este agente, y qué está autorizado a hacer?
  • Ciclo de vida — en qué estado está este servicio? Quién confirmó? Quién asistió?
  • Prueba de entrega — ocurrió realmente la sesión? Por cuánto tiempo? Dónde?
  • Liquidación — cuánto, a quién, bajo qué términos contractuales?

Sin un protocolo compartido, cada integración es artesanal. Cada conexión agente-plataforma es un API custom. Esto no escala.

Qué es Servicialo

Servicialo es un protocolo abierto, no una plataforma. Define cómo los servicios profesionales se mueven a través de su ciclo de vida — desde el descubrimiento hasta el pago — de una forma que cualquier agente de IA o plataforma puede implementar.

La relación es como HTTP con Apache, o SMTP con Gmail: Servicialo define las reglas, las implementaciones les dan vida.

El protocolo modela cada servicio a través de 8 dimensiones, un ciclo de vida 6+3 (6 estados core + 3 financieros opcionales), 6 flujos de excepción y 7 principios fundamentales — universales entre verticales (salud, legal, educación, servicios domiciliarios):

Solicitado → Agendado → Confirmado → En Curso → Completado → Documentado → Facturado → Cobrado → Verificado

Cualquier servicio, en cualquier vertical, sigue esta secuencia. La lógica específica del vertical vive dentro de cada estado, pero la máquina de estados es invariante.

Qué Hace Este MCP Server

Este paquete expone el protocolo Servicialo como 40 herramientas MCP organizadas por las 7 fases del ciclo de vida de un servicio (0–6, incluyendo el resolver de descubrimiento — análogo a DNS, sobre HTTP), más gestión de recursos, administración del resolver, inteligencia de red (market.*) y descubrimiento cold-start (registry.list_* para conocer la taxonomía sin saberla previamente). Un agente no llama endpoints por entidad de base de datos — sigue el flujo natural de coordinar un servicio.

Fase 0 — Resolución DNS (3 herramientas, sin auth)

HerramientaDescripción
resolve.lookupResolver un orgSlug a su endpoint MCP/REST y nivel de confianza (equivalente a DNS lookup)
resolve.searchBuscar organizaciones registradas por país y vertical en el resolver global
trust.get_scoreObtener puntaje de confianza de una organización (score 0-100, nivel, última actividad)

Fase 1 — Descubrimiento (6 herramientas, sin auth)

HerramientaDescripción
registry.searchBuscar organizaciones por vertical, ubicación, país
registry.get_organizationObtener detalles públicos: servicios, prestadores, configuración de reservas
registry.manifestObtener manifiesto del servidor: capacidades, versión del protocolo, metadata de organización
scheduling.check_availabilityConsultar disponibilidad (3 variables: prestador ∧ cliente ∧ recurso)
services.listListar el catálogo público de servicios de una organización
a2a.get_agent_cardObtener la Agent Card A2A de una organización para descubrimiento inter-agente

Fase 2 — Entender (2 herramientas)

HerramientaDescripciónScopes
service.getObtener las 8 dimensiones de un servicioservice:read
contract.getObtener términos del contrato: evidencia requerida, política de cancelación, ventana de disputaservice:read order:read

Fase 3 — Comprometer (3 herramientas)

HerramientaDescripciónScopes
clients.get_or_createResolver identidad del cliente por email/teléfono — buscar o crear en una sola llamadapatient:write
scheduling.bookReservar sesión → estado solicitado. resource_id opcional para recursos físicosschedule:write
scheduling.confirmConfirmar sesión reservada → estado confirmadoschedule:write

Fase 4 — Ciclo de Vida (4 herramientas)

HerramientaDescripciónScopes
lifecycle.get_stateObtener estado actual, transiciones disponibles e historialservice:read
lifecycle.transitionEjecutar transición de estado con evidenciaservice:write
scheduling.rescheduleReagendar a nueva fecha/hora (política contractual puede aplicar)schedule:write
scheduling.cancelCancelar sesión (se aplica política de cancelación del contrato)schedule:write

Fase 5 — Verificar Entrega (3 herramientas)

HerramientaDescripciónScopes
delivery.checkinCheck-in con GPS + timestamp → estado en_cursoevidence:write
delivery.checkoutCheck-out con GPS + timestamp → estado entregado (duración auto-calculada)evidence:write
delivery.record_evidenceRegistrar evidencia: gps, firma, foto, documento, duración, notasevidence:write

Fase 6 — Cerrar (4 herramientas)

HerramientaDescripciónScopes
documentation.createGenerar registro del servicio (nota clínica, informe de inspección, etc.) → estado documentadodocument:write
payments.create_saleCrear cargo por servicio documentado → estado cobradopayment:write
payments.record_paymentRegistrar pago recibido contra una ventapayment:write
payments.get_statusObtener estado de pago de una venta o saldo de cuenta del clientepayment:read

Gestión de Recursos (6 herramientas)

HerramientaDescripciónScopes
resource.listListar recursos físicos de una organizaciónresource:read
resource.getObtener detalles de un recurso con sus slots de disponibilidadresource:read
resource.createCrear un nuevo recurso físico (sala, box, equipamiento)resource:write
resource.updateActualizar recurso (patch semántico)resource:write
resource.deleteDesactivar recurso (soft delete: is_active = false)resource:write
resource.get_availabilityConsultar disponibilidad de un recurso por rango de fechasresource:read

Administración del Resolver (3 herramientas)

HerramientaDescripciónScopes
resolve.registerRegistrar organización en el resolver global con endpoints MCP/RESTresolve:write
resolve.update_endpointActualizar endpoints registrados (portabilidad entre backends)resolve:write
telemetry.heartbeatEnviar heartbeat al resolver indicando que el nodo está activotelemetry:write

Inteligencia de Red (2 herramientas, sin auth)

Benchmarks de mercado anonimizados sobre la telemetría operacional contribuida por los nodos. Política contribuir-para-acceder (k-anonimato ≥ 5):

HerramientaDescripción
market.list_segmentsListar segmentos (event_type × vertical × region) con datos disponibles (filtra por k-anon ≥ 5 distintos contribuidores)
market.get_benchmarkObtener la distribución de buckets de un segmento (p. ej. share de cada price_band para payment_settled en health/CL). Tier 0/1 ven datos con 90 días de delay; tier 2 (≥ 50 eventos en 30 días) ven real-time

Discovery de Taxonomía (3 herramientas, sin auth)

Cold-start: el agente no necesita conocer la taxonomía del protocolo de antemano. Empezar acá si llega sin contexto:

HerramientaDescripción
registry.list_verticalsVerticals presentes en la red (declarados + observados en telemetría 30d)
registry.list_regionsPaíses/regiones ISO 3166-1 alpha-2 con actividad en la red
registry.list_event_typesCatálogo de los 4 tipos de eventos de telemetría operacional + sus payload_fields

Documentación (1 herramienta, sin auth)

HerramientaDescripción
docs.quickstartObtener los 5 pasos del quickstart como JSON estructurado — onboarding de agentes sin contexto previo

Quickstart — 5 pasos para estar en la red

Paso 1. Instalar el servidor MCP

bash
npx -y @servicialo/mcp-server

Modo descubrimiento — 15 herramientas públicas, sin credenciales. Pruébalo de inmediato:

json
{  "tool": "registry.search",  "arguments": { "vertical": "kinesiologia", "location": "santiago" }}

Paso 2. Crear tu organización

Registra tu organización en coordinalo.com/signup. Coordinalo es la implementación de referencia del protocolo Servicialo.

Paso 3. Obtener credenciales MCP

En Coordinalo: Settings → Servicialo → Generar credenciales MCP. Obtendrás dos valores:

  • SERVICIALO_ORG_ID — slug de tu organización (ej: clinica-dental-sur)
  • SERVICIALO_API_KEY — bearer token para autenticación

Paso 4. Configurar el cliente MCP

Agregar a la configuración de Claude Desktop, Cursor o cualquier cliente MCP:

json
{  "mcpServers": {    "servicialo": {      "command": "npx",      "args": ["-y", "@servicialo/mcp-server"],      "env": {        "SERVICIALO_API_KEY": "<tu_api_key>",        "SERVICIALO_ORG_ID": "<tu_org_slug>"      }    }  }}

Omitir el bloque env para modo solo-descubrimiento (15 herramientas públicas).

Paso 5. Publicar en la red Servicialo

En Coordinalo: Settings → Servicialo → Publicar. Tu organización aparece en servicialo.com/network y es descubrible por otros agentes.

Tip: Un agente puede obtener estos 5 pasos como JSON estructurado llamando la herramienta docs.quickstart.

Red / Network

La red Servicialo es el registro global de organizaciones que implementan el protocolo. Cada nodo autenticado envía un heartbeat periódico, y cualquier agente puede descubrir organizaciones por país, vertical y puntaje de confianza.

  • Explorar la red: servicialo.com/network
  • Buscar por vertical: registry.search({ vertical: "kinesiologia", country: "cl" })
  • Resolver un org: resolve.lookup({ org_slug: "clinica-dental-sur" })

Credenciales

Esenciales

VariableRequeridaDefaultDescripción
SERVICIALO_API_KEYNo—Bearer token. Habilita modo autenticado (25 tools adicionales = 40 total)
SERVICIALO_ORG_IDNo—Slug de organización. Habilita modo autenticado
SERVICIALO_BASE_URLNohttp://localhost:3000Endpoint del API de la plataforma compatible con Servicialo
SERVICIALO_ADAPTERNocoordinaloAdapter de backend: coordinalo o http
SERVICIALO_TELEMETRYNotrueSetear a false para desactivar telemetría anónima del nodo (heartbeat)

SERVICIALO_API_KEY y SERVICIALO_ORG_ID deben configurarse juntas. Si solo una está presente, el servidor cae a modo descubrimiento con un warning.

Telemetría operacional + benchmarks (opcional)

Estas variables habilitan que tu nodo contribuya eventos anonimizados a los benchmarks de la red y acceda a datos en tiempo real (tier 2). Ver docs/telemetry-operational.md:

VariableRequeridaDefaultDescripción
SERVICIALO_VERTICALNounspecifiedTu vertical (e.g. health, legal, home). Necesario para que los eventos se agreguen al segmento correcto
SERVICIALO_REGIONNoCLISO 3166-1 alpha-2 del país operativo. Los eventos se etiquetan con esto
SERVICIALO_NODE_TOKENNo—ownership_token de tu nodo en el registry. Se envía como header X-Servicialo-Node-Token en los calls market.* para identificar tu tier (incluye tier 2 = real-time access)
SERVICIALO_OPERATIONAL_TELEMETRYNotrueSetear a false para desactivar la emisión automática de eventos operacionales (booking_created, service_completed, dispute_opened, payment_settled)
SERVICIALO_PROTOCOL_VERSIONNo0.9Versión del protocolo declarada en los eventos emitidos
SERVICIALO_TELEMETRY_BASE_URLNohttps://servicialo.comEndpoint receptor de telemetría operacional (sólo cambiar para testing)

Cómo se relaciona con tiers de benchmarks: un nodo que emite ≥ 50 eventos operacionales en 30 días automáticamente alcanza tier 2 y market.get_benchmark devuelve datos en tiempo real (en lugar del default tier 0/1 con 90 días de delay). Política completa: GOVERNANCE.md#contribute-to-access-policy-v01.

Las credenciales se obtienen en coordinalo.com → Settings → Servicialo → Generar credenciales MCP.

Conectar una implementación propia

Este MCP server soporta cualquier backend compatible con Servicialo a través de la capa de adaptadores pluggable. Dos adaptadores están incluidos:

  • coordinalo (default) — se conecta a un backend Coordinalo/Digitalo con rutas org-scoped bajo /api/organizations/{orgId}.
  • http — se conecta a cualquier implementación que exponga los endpoints canónicos de HTTP_PROFILE.md bajo /v1/*.

3 pasos para conectar tu implementación

Paso 1. Implementar los endpoints REST definidos en HTTP_PROFILE.md en tu plataforma.

Paso 2. Configurar el MCP server para usar el adaptador HTTP:

bash
SERVICIALO_ADAPTER=http \SERVICIALO_BASE_URL=https://tu-plataforma.com \SERVICIALO_API_KEY=tu_key \npx -y @servicialo/mcp-server

Paso 3. Agregar a la configuración de tu cliente MCP:

json
{  "mcpServers": {    "servicialo": {      "command": "npx",      "args": ["-y", "@servicialo/mcp-server"],      "env": {        "SERVICIALO_ADAPTER": "http",        "SERVICIALO_BASE_URL": "https://tu-plataforma.com",        "SERVICIALO_API_KEY": "tu_api_key",        "SERVICIALO_ORG_ID": "tu_org_id"      }    }  }}

El adaptador HTTP traduce las rutas internas a endpoints canónicos /v1/* y envía el contexto de organización via el header X-Servicialo-Org. Consulta HTTP_PROFILE.md para el contrato REST completo.

Modelo de Agencia Delegada

El protocolo trata a los agentes de IA como actores de primera clase — pero nunca confía en ellos implícitamente. Cada acción de agente requiere un ServiceMandate: una delegación explícita de capacidad de un humano principal a un agente.

Cómo funciona

  1. Un humano (profesional, paciente u organización) emite un mandato a un agente
  2. El mandato especifica para quién actúa el agente, qué puede hacer (scopes), y por cuánto tiempo
  3. En cada tool call, el MCP server valida el mandato contra 8 checks antes de ejecutar
  4. Cada acción produce una entrada de auditoría — éxito o fallo

Ejemplo de mandato

json
{  "mandate_id": "550e8400-e29b-41d4-a716-446655440000",  "principal_id": "dra_barbara",  "principal_type": "professional",  "agent_id": "agent_booking_bot",  "agent_name": "Asistente de Agendamiento",  "acting_for": "professional",  "context": "org:clinica-kinesia",  "scopes": ["schedule:read", "schedule:write", "patient:write"],  "constraints": {    "max_actions_per_day": 50,    "allowed_hours": {      "start": "08:00",      "end": "20:00",      "timezone": "America/Santiago"    },    "require_confirmation_above": {      "amount": 100000,      "currency": "CLP"    }  },  "issued_at": "2026-03-01T00:00:00Z",  "expires_at": "2026-06-01T00:00:00Z",  "status": "active"}

Uso de mandatos en tool calls

Cuando actor.type es "agent", incluir el mandate_id:

json
{  "tool": "scheduling.book",  "arguments": {    "service_id": "srv_123",    "provider_id": "prov_111",    "client_id": "cli_789",    "starts_at": "2026-03-03T10:00:00",    "actor": {      "type": "agent",      "id": "agent_booking_bot",      "mandate_id": "550e8400-e29b-41d4-a716-446655440000"    }  }}

Los 8 checks de validación

Cada tool call de un agente se valida contra:

#CheckQué previene
1Estado — mandato debe ser activeUso de mandatos revocados o expirados
2Validez temporal — issued_at ≤ now < expires_atAtaques basados en tiempo
3Identidad del agente — mandate.agent_id === agente solicitanteSuplantación de agente
4Cobertura de scopes — scopes del mandato cubren los requisitos de la herramientaEscalación de privilegios
5Contexto — contexto del mandato coincide con la solicitudAcceso cross-org a datos
6Conflicto de interés — agente no puede actuar para ambas partesViolaciones de doble agencia
7Restricciones — horarios permitidos, límites diarios, umbrales financierosAgentes sobre-autónomos
8Auditoría — cada acción registrada con inputs sanitizadosNo repudio

Actores no-agente (client, provider, organization) no pasan por validación de mandato.

Descubrimiento de Prestadores

Los agentes pueden buscar en el registro y hacer matching de prestadores con las necesidades de un paciente usando consultas estructuradas.

Buscar en el registro

json
{  "tool": "registry.search",  "arguments": {    "vertical": "kinesiologia",    "location": "santiago",    "country": "cl"  }}

Retorna organizaciones que coinciden con sus servicios y prestadores.

Consultar disponibilidad

json
{  "tool": "scheduling.check_availability",  "arguments": {    "org_slug": "clinica-kinesia",    "service_id": "srv_rehab_pelvica",    "provider_id": "prov_111",    "date_from": "2026-03-10",    "date_to": "2026-03-14"  }}

El scheduler de 3 variables verifica disponibilidad de prestador, cliente y recurso físico simultáneamente.

Ejemplo de punta a punta

1. registry.search({ vertical: "kinesiologia", location: "santiago" })   → encuentra org "clinica-kinesia"
2. services.list({ org_slug: "clinica-kinesia" })   → lista servicios disponibles
3. scheduling.check_availability({ org_slug: "clinica-kinesia", date_from: "2026-03-10", date_to: "2026-03-14" })   → retorna slots disponibles
4. contract.get({ service_id: "srv_123", org_id: "org_456" })   → cancelación: 0% si >24h, 50% si 2-24h, 100% si <2h   → evidencia requerida: check_in + check_out + registro_clinico
5. clients.get_or_create({ email: "[email protected]", name: "Maria", last_name: "Lopez" })   → client_id: "cli_789"
6. scheduling.book({ service_id: "srv_123", provider_id: "prov_111", client_id: "cli_789", starts_at: "2026-03-12T10:00:00" })   → session_id: "ses_001", estado: "solicitado"
7. scheduling.confirm({ session_id: "ses_001" })   → estado: "confirmado"
8. delivery.checkin({ session_id: "ses_001", location: { lat: -33.45, lng: -70.66 } })   → estado: "en_curso"
9. delivery.checkout({ session_id: "ses_001", location: { lat: -33.45, lng: -70.66 } })   → estado: "entregado", duración: 42min
10. documentation.create({ session_id: "ses_001", content: "Sesión de rehabilitación de piso pélvico..." })    → estado: "documentado"
11. payments.create_sale({ client_id: "cli_789", service_id: "srv_123", unit_price: 35000 })    → sale_id: "sale_001", estado: "cobrado"
12. lifecycle.transition({ session_id: "ses_001", to_state: "verified" })    → estado: "verificado" ✓

Especificación del Protocolo

La especificación completa del protocolo Servicialo está disponible en:

La spec cubre las 8 dimensiones del servicio, el ciclo de vida 6+3, 6 flujos de excepción, 7 principios fundamentales, la arquitectura de dos entidades (Servicio atómico + Orden de Servicio), el Modelo de Agencia Delegada, resolución DNS, e interoperabilidad A2A.

Implementación de Referencia

Digitalo es la primera implementación en producción del protocolo Servicialo, operando en salud en Chile. Implementa el ciclo de vida completo — desde descubrimiento de prestadores hasta liquidación de pagos — y sirve como terreno de validación para la evolución del protocolo.

Este MCP server se conecta a cualquier backend compatible con Servicialo a través de SERVICIALO_BASE_URL. Digitalo es uno de esos backends. El protocolo está diseñado para que cualquier CRM, HIS, o plataforma lo implemente como un nodo soberano.

Contribuir al Protocolo

Servicialo sigue versionado semántico para la especificación del protocolo:

  • Patch (0.7.x) — clarificaciones, correcciones de typos, adiciones no-breaking
  • Minor (0.x.0) — nuevos campos opcionales, nuevas definiciones de herramientas, nuevos flujos de excepción
  • Major (x.0.0) — cambios breaking a schemas, máquina de estados, o semántica core

Cómo proponer cambios

  1. Abrir un issue describiendo el problema y la solución propuesta
  2. Para cambios significativos, escribir un RFC en spec/ con el número de sección que afecta
  3. Los cambios al protocolo requieren al menos una implementación de referencia antes de merge
  4. Los cambios a schemas deben incluir JSON Schema actualizado y tipos Zod en el MCP server

Áreas buscando input activamente

  • Requisitos de evidencia específicos por vertical (más allá de salud)
  • Soporte multi-idioma para nombres de estados del ciclo de vida
  • Federación inter-nodo (cómo dos implementaciones Servicialo interoperan)
  • Patrones de Agent SDK para Python y TypeScript

Telemetría

Al iniciar, el MCP server envía un único POST anónimo a https://servicialo.com/api/telemetry/instance con:

json
{  "event": "node_initialized",  "version": "0.9.8",  "node_id": "a1b2c3d4-...",  "ts": 1711300000000}
CampoDescripción
eventSiempre "node_initialized"
versionVersión del paquete
node_idUUID persistente almacenado en ~/.servicialo/node_id
tsTimestamp en milisegundos

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.

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.

Desactivar telemetría

bash
SERVICIALO_TELEMETRY=false npx -y @servicialo/mcp-server

O en la configuración MCP:

json
{  "env": {    "SERVICIALO_TELEMETRY": "false"  }}

Más detalles: servicialo.com/network

Únete a la red

Al instalar @servicialo/mcp-server, tu nodo se registra automáticamente en la telemetría de la red. Esto ayuda al ecosistema a medir adopción real del protocolo — sin recopilar datos personales ni de tus clientes.

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.

Avisos de arranque

El servidor escribe dos avisos informativos en stderr — nunca en stdout, que transporta JSON-RPC y se corrompe con cualquier otra cosa:

  • La ventana de comentarios de RFC-005, mientras siga abierta. Tiene la expiración incorporada: deja de imprimirse después del 2026-09-13, el cierre del período final de comentarios. Un nodo instalado en octubre no ve un anuncio muerto.
  • Si tu nodo es anónimo, cómo identificarlo (abajo).

Ambos se imprimen una vez por proceso y se silencian con SERVICIALO_QUIET=true:

json
{  "env": {    "SERVICIALO_QUIET": "true"  }}

Esa variable afecta solo a estos dos avisos. El banner de modo y el aviso de primera ejecución de telemetría mantienen su comportamiento anterior.

Identifica tu nodo

Por defecto tu nodo es anónimo: el ping lleva evento, versión, node_id y timestamp, nada más. Si operas una implementación propia del protocolo, estas tres variables opcionales la identifican y la postulan a implementador verificado:

bash
SERVICIALO_IMPL_NAME="Mi Plataforma"        # Nombre de tu implementaciónSERVICIALO_IMPL_URL="https://example.com"   # Tu sitio web o repositorioSERVICIALO_IMPL_CONTACT="[email protected]" # Email de contacto — se hashea antes de salir

Qué sale de tu máquina bajo cada variable

VariableQué viajaQué no viaja
SERVICIALO_IMPL_NAMEEl nombre en texto plano, como impl_name. Es público: se muestra en /implementors una vez verificado.—
SERVICIALO_IMPL_URLLa URL en texto plano, como impl_url. También pública una vez verificada.—
SERVICIALO_IMPL_CONTACTÚnicamente impl_contact_hash: el SHA-256 del email en minúsculas y sin espacios, calculado en tu máquina antes de cualquier petición de red.El email. No sale del host, no se loguea, no se almacena y no se muestra en ninguna parte.

Sin variables configuradas, ninguno de estos campos aparece en el ping. Un nodo sin configurar se comporta exactamente igual que antes de esta versión.

El ciclo de verificación

anonymous → pending → verified

  1. anonymous — sin variables configuradas. Es el estado por defecto, y un nodo anónimo es plenamente conforme.
  2. pending — la primera vez que aparece un impl_name nuevo, el registro queda pendiente y el equipo recibe una notificación con el nombre, la URL y el país. El hash de contacto no va en esa notificación, y no podría ir: no serviría de nada.
  3. verified — tras revisión manual contra la checklist de conformance, tu implementación aparece en servicialo.com/implementors con su nivel y el número de hosts que reporta.

La verificación es manual hoy. La suite automatizada de conformance está en el roadmap; no es una capacidad actual.

Para qué sirve el hash de contacto — y para qué no. Es un digest de una sola vía: nadie puede escribirte a partir de él, y configurarlo no te suscribe a ningún anuncio ni lista. Sirve para lo contrario: cuando vos escribís sobre tu implementación, el hash de tu email confirma que sos el operador que envió esos pings.

Cómo dejar de enviarlo

Elimina las variables de tu configuración MCP (o unset SERVICIALO_IMPL_NAME SERVICIALO_IMPL_URL SERVICIALO_IMPL_CONTACT) y reinicia el servidor. El siguiente ping vuelve a ser anónimo, sin ningún campo de identidad. Los pings ya enviados conservan lo que enviaron; para pedir la eliminación de registros existentes, abre un issue en el repositorio.

Capacidad adyacente: snapshots semanales

El registry emite benchmark.weekly_snapshot cada lunes a las 00:00 UTC hacia los endpoints suscritos, con payload firmado por HMAC-SHA256. Estas tres variables no lo activan. Requiere una entrada en el registry y una suscripción explícita vía la Webhooks API, y entrega datos de benchmarks, no anuncios del protocolo.

Licencia

Apache-2.0 — cualquier implementación, comercial o no, es bienvenida. Ver LICENSE.

來源:packages/mcp-server/README.md,提交 5cc669d

工具

0
工具後設資料尚未被收錄。

版本歷史

1
  1. v0.9.1最新Sep 16, 2026