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

Source: https://madeforagent.com/es/lmsp/1.0/
Language: es
Specification: LMSP 1.0 (draft)
Updated: 2026-11-08

## 1.1 Resumen {#abstract}

El Local Model Service Protocol (LMSP) define cómo los clientes encuentran y usan servicios de modelos de lenguaje que se ejecutan en el propio dispositivo o en la red local del usuario. Especifica el descubrimiento de servicios, un catálogo de modelos, la generación síncrona y en streaming, y tareas asíncronas que sobreviven a los reinicios. También define cómo un mismo servicio ofrece una interfaz compatible con OpenAI junto a la interfaz LMSP, de modo que los clientes existentes sigan 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 un servicio local residente.

## 1.2 Estado de este documento {#status}

Este es el primer borrador público de LMSP 1.0, publicado el 2026-11-08. «LMSP» es un nombre provisional. El texto está abierto a comentarios y puede cambiar de forma incompatible hasta que 1.0 sea definitivo.

El texto en inglés es normativo. Las traducciones se ofrecen por comodidad; si difieren, prevalece el texto en inglés.

## 1.3 Base del diseño {#design-basis}

LMSP reutiliza diseños probados en lugar de inventar otros nuevos:

- **API OpenAI Responses.** Elementos de salida estructurados, eventos semánticos enviados por el servidor y ejecución en segundo plano con consulta y cancelación para el trabajo de larga duración. Es la referencia de la interfaz de conversación principal de LMSP. Consulta [respuestas en streaming](https://developers.openai.com/api/docs/guides/streaming-responses) y [modo en segundo plano](https://developers.openai.com/api/docs/guides/background).
- **Ollama.** Sirve los endpoints compatibles con OpenAI `/v1/models`, `/v1/chat/completions` y `/v1/responses`, lo que demuestra que un servicio más una capa de adaptación a OpenAI reduce drásticamente el coste de adopción. Consulta la [compatibilidad de Ollama con OpenAI](https://docs.ollama.com/api/openai-compatibility).
- **Model Context Protocol (MCP).** Su diseño más reciente pasa de la inicialización obligatoria de sesión al descubrimiento sin estado: cada solicitud lleva su propia información de versión, y los clientes conocen las capacidades mediante una interfaz de descubrimiento. Eso encaja con los servicios locales, donde los reinicios, los fallos de los clientes y las conexiones interrumpidas no deben corromper el estado del protocolo. Consulta [MCP](https://modelcontextprotocol.io/).
- **Agent2Agent (A2A).** Las tarjetas de servicio, los estados explícitos de las tareas, la suscripción a tareas y la cancelación inspiran la descripción del servicio y el modelo de tareas asíncronas de LMSP. Consulta [A2A](https://a2a-protocol.org/).

## 1.4 Arquitectura {#architecture}

LMSP se organiza en tres capas, sobre los adaptadores que hablan con los entornos de ejecución de modelos:

```text
+---------------------------------------------------------------+
| Discovery      mDNS / DNS-SD + well-known service document    |
+---------------------------------------------------------------+
| Core           model catalog, responses, SSE, async tasks     |
+---------------------------------------------------------------+
| Compatibility  OpenAI API, optional Ollama API                |
+---------------------------------------------------------------+
| Adapters       llama.cpp, Ollama, vLLM, custom runtimes       |
+---------------------------------------------------------------+
```

- **Descubrimiento.** mDNS/DNS-SD y un documento de descripción del servicio en una dirección conocida ([página 3](https://madeforagent.com/es/lmsp/1.0/discovery.md)).
- **Núcleo.** El catálogo de modelos, las respuestas síncronas, los eventos enviados por el servidor y las tareas asíncronas ([páginas 5 a 7](https://madeforagent.com/es/lmsp/1.0/models.md)).
- **Compatibilidad.** Una API compatible con OpenAI y, opcionalmente, una API compatible con Ollama ([página 8](https://madeforagent.com/es/lmsp/1.0/compatibility.md)).
- **Adaptadores.** Puentes hacia llama.cpp, Ollama, vLLM o un entorno de ejecución propio.

El principio rector es **un único núcleo de ejecución de modelos, dos familias de interfaces**. Un servicio ofrece la interfaz LMSP y la interfaz OpenAI sobre el mismo núcleo, de modo que hay un único lugar donde se cargan los modelos, se ejecutan las solicitudes y se hace el seguimiento de las tareas.

## 1.5 Lenguaje de conformidad {#conformance}

Las palabras clave **DEBE/DEBEN** (MUST), **NO DEBE/NO DEBEN** (MUST NOT), **OBLIGATORIO** (REQUIRED), **DEBERÍA/DEBERÍAN** (SHOULD), **NO DEBERÍA/NO DEBERÍAN** (SHOULD NOT), **RECOMENDADO** (RECOMMENDED), **PUEDE/PUEDEN** (MAY) y **OPCIONAL** (OPTIONAL) de este documento se interpretan como se describe en [BCP 14](https://www.rfc-editor.org/info/bcp14) ([RFC 2119](https://www.rfc-editor.org/rfc/rfc2119), [RFC 8174](https://www.rfc-editor.org/rfc/rfc8174)) cuando, y solo cuando, aparecen en negrita y en mayúsculas. Fuera de ese caso son palabras corrientes.

Cada página está marcada como normativa o informativa. Las páginas normativas definen requisitos; las informativas ofrecen orientación. Los ejemplos son informativos. JSON se codifica en UTF-8 y los nombres de campo usan `snake_case`.

## 1.6 Terminología {#terminology}

| Término | Significado |
| --- | --- |
| Servicio | Un proceso residente que implementa LMSP y ejecuta modelos mediante adaptadores. |
| Cliente | Software que descubre e invoca un servicio: un agente, una aplicación o una herramienta. |
| Adaptador | El componente que conecta el servicio con un único entorno de ejecución de modelos, como llama.cpp, Ollama o vLLM. |
| Modelo | Un modelo disponible localmente, identificado por un `id` estable. |
| Respuesta | El resultado de una solicitud de generación: elementos de salida, uso y un estado. |
| Tarea | Una ejecución asíncrona y persistida de una solicitud de respuesta, con un estado explícito. |
| Evento | Un evento enviado por el servidor, con número de secuencia, emitido mientras se genera una respuesta. |
