Protocolo de Servicio de Modelos Locales (LMSP)
- Borrador 1.0
- Actualizado
- Ver como Markdown
Qué hace LMSP
LMSP (Local Model Service Protocol) es un protocolo abierto para el software que ejecuta modelos de lenguaje en el propio dispositivo o en la red local del usuario, y para los clientes que usan ese software.
Un servicio local residente se describe a sí mismo en una dirección conocida y lista sus modelos. Responde a las solicitudes de generación con JSON o con eventos enviados por el servidor, y ejecuta las generaciones largas como tareas persistentes que se pueden cancelar y volver a seguir después de una desconexión. El mismo servicio también habla la API de OpenAI, de modo que los clientes que existen hoy siguen funcionando.
LMSP no sustituye a la API de OpenAI, a Ollama ni a MCP. Combina sus puntos fuertes en una capa de protocolo pensada para servicios locales residentes.
De un vistazo
| Tema | Resumen |
|---|---|
| Dirección por defecto | http://127.0.0.1:17832 |
| Descripción del servicio | GET /.well-known/lmsp.json |
| Interfaz principal | /lmsp/v1, JSON sobre HTTP, streaming con eventos enviados por el servidor |
| Interfaces de compatibilidad | /v1 para clientes OpenAI, /api opcional para clientes Ollama |
| Descubrimiento | Dirección manual, sondeo de direcciones locales, mDNS y DNS-SD opcionales (_lmsp._tcp.local.) |
| Autenticación | Tokens de portador obtenidos mediante emparejamiento local |
| Persistencia | SQLite integrado, con tareas que sobreviven a un reinicio |
| Contrato | OpenAPI 3.2 |
Pruébalo
Si hay un servicio LMSP ejecutándose en tu equipo, este es todo el flujo. Empareja primero para obtener un token, como se describe en la sección 10.2, y guárdalo en LMSP_TOKEN.
# 1. Descubrir el servicio
curl http://127.0.0.1:17832/.well-known/lmsp.json
# 2. Listar los modelos locales
curl http://127.0.0.1:17832/lmsp/v1/models \
-H "Authorization: Bearer $LMSP_TOKEN"
# 3. Generar una respuesta
curl http://127.0.0.1:17832/lmsp/v1/responses \
-H "Authorization: Bearer $LMSP_TOKEN" \
-H "Content-Type: application/json" \
-d '{"model":"qwen3:14b-q4_k_m","input":[{"type":"message","role":"user","content":[{"type":"input_text","text":"Hello"}]}]}'
Cómo se relaciona LMSP con otros protocolos
| Protocolo | Qué cubre | Relación con LMSP |
|---|---|---|
| API de OpenAI | Modelos alojados. La API Responses es su interfaz más reciente. | LMSP sigue la estructura de Responses para su interfaz principal, y un servicio ofrece junto a ella una interfaz compatible con OpenAI. |
| Ollama | Un entorno de ejecución local que ya sirve endpoints compatibles con OpenAI. | Puede colocarse detrás de un servicio LMSP como adaptador, y LMSP define endpoints opcionales compatibles con Ollama. |
| MCP | Conecta agentes con herramientas y contexto. | LMSP conecta agentes con modelos. Ambos prefieren el descubrimiento sin estado a las sesiones obligatorias. |
| A2A | Colaboración entre agentes. | LMSP toma prestadas las tarjetas de servicio y los estados explícitos de las tareas para su descripción del servicio y sus tareas. |
Recursos
- La especificación, versión 1.0 (borrador).
- El contrato OpenAPI, en JSON o YAML.
- llms.txt y llms-full.txt, para modelos de lenguaje.
- Cada página está disponible en Markdown. Sustituye la barra final de su dirección por
.md, por ejemplo/es/lmsp/1.0/tasks.md.
Especificación 1.0
- Visión general
Visión general del borrador de LMSP 1.0. Qué es el Local Model Service Protocol, los diseños en los que se apoya, su arquitectura por capas, cómo leer la especificación y los términos que se usan en todo el texto.
- Transporte y despliegue
Direcciones de escucha por defecto, transporte, formato de streaming y estructura de URL de un servicio LMSP, y cómo se ejecuta como servicio del sistema operativo, separado de los procesos de modelo.
- Descubrimiento de servicios
Cómo los clientes LMSP encuentran un servicio local mediante configuración manual, sondeo de loopback y mDNS/DNS-SD opcional, y cómo leer el documento de descripción del servicio en la dirección conocida.
- Endpoints
La tabla completa de endpoints de LMSP 1.0 con método, ruta, nivel de exigencia y finalidad, además de las convenciones sobre rutas, autenticación y endpoints opcionales.
- Catálogo de modelos
Cómo un servicio LMSP lista sus modelos locales, el objeto de modelo y sus indicadores de capacidad, los estados del ciclo de vida del modelo, los ids estables de modelo y las revisiones del catálogo.
- Respuestas y streaming
La interfaz de conversación principal de LMSP, con solicitudes y elementos de salida al estilo Responses, generación síncrona y en streaming, eventos enviados por el servidor, reconexión y llamadas a herramientas.
- Tareas asíncronas
Cómo LMSP ejecuta generaciones largas como tareas persistentes, con creación de tareas, la máquina de estados de la tarea, cancelación idempotente, flujos de eventos y políticas de reinicio para las tareas sin terminar.
- Compatibilidad con OpenAI y Ollama
Cómo un servicio LMSP sigue siendo compatible con los clientes OpenAI y Ollama existentes mediante una fina capa de conversión de datos sobre un único núcleo de ejecución, y dónde termina esa compatibilidad.
- Reglas comunes
Reglas compartidas por todos los endpoints de LMSP, con las cabeceras de versión y las extensiones, las claves de idempotencia, el formato de error problem+json y sus códigos, y la comprobación de estado.
- Seguridad local
Requisitos de seguridad para los servicios LMSP, con enlace a loopback, emparejamiento y tokens de portador, ámbitos, comprobaciones de Origin y Host frente a páginas web maliciosas, modo LAN y reglas de registro.
- Persistencia
Cómo un servicio LMSP almacena su estado, con una base de datos SQLite integrada, las tablas que conservar, las reglas transaccionales para tareas y eventos, la retención y la recuperación al arrancar.
- Alcance mínimo viable
Un alcance sugerido para una primera implementación de LMSP, con las diez piezas que forman un circuito cerrado utilizable y las partes de la especificación que pueden esperar a versiones posteriores.
Preguntas frecuentes
¿Qué es LMSP?
LMSP, el Local Model Service Protocol (Protocolo de Servicio de Modelos Locales), es un protocolo abierto para servicios de modelos de lenguaje que se ejecutan en el propio dispositivo del usuario o en su red local. Define cómo los clientes descubren un servicio, listan sus modelos, solicitan respuestas, reciben la salida en streaming y ejecutan tareas largas.
¿Sustituye LMSP a la API de OpenAI, a Ollama o a MCP?
No. LMSP se apoya en ellos. Su interfaz principal sigue la estructura de OpenAI Responses, un servicio puede ofrecer endpoints compatibles con OpenAI y con Ollama, y el protocolo toma de MCP el descubrimiento sin estado y de A2A los estados de las tareas.
¿Pueden los clientes OpenAI existentes usar un servicio LMSP?
Normalmente sí. Necesitan otra URL base y el token de LMSP como clave de API. No encuentran el servicio automáticamente, porque el descubrimiento requiere un cliente compatible con LMSP.
¿Cómo encuentra un cliente un servicio LMSP local?
Prueba tres cosas por orden. Primero una dirección introducida a mano; después la dirección local convencional, donde solicita /.well-known/lmsp.json; y por último, de forma opcional, la exploración mDNS y DNS-SD de _lmsp._tcp.local. en la red local.
¿Es seguro un servicio de modelos en localhost?
No automáticamente, porque las páginas web pueden intentar acceder a puertos locales. Los servicios LMSP se enlazan a loopback por defecto, exigen tokens de portador obtenidos mediante emparejamiento local, comprueban las cabeceras Origin y Host y exigen autenticación en modo LAN.
¿Cuál es el estado de la especificación?
La versión 1.0 es un primer borrador público y todavía puede cambiar de forma incompatible. El texto en inglés es el normativo, y las traducciones se ofrecen por comodidad.