# 로컬 모델 서비스 프로토콜(LMSP)

> LMSP는 사용자 기기에서 실행되는 언어 모델을 찾아 호출하기 위한 오픈 프로토콜입니다. 서비스 검색, 모델 카탈로그, 스트리밍, 영속 작업, OpenAI 호환을 정의합니다.

Source: https://madeforagent.com/ko/lmsp/
Language: ko
Updated: 2026-11-08

## LMSP가 하는 일 {#what}

LMSP(Local Model Service Protocol)는 사용자의 기기나 로컬 네트워크에서 언어 모델을 실행하는 소프트웨어와, 그 소프트웨어를 사용하는 클라이언트를 위한 오픈 프로토콜입니다.

상주하는 로컬 서비스는 잘 알려진 주소에서 스스로를 설명하고 모델을 나열합니다. 생성 요청에는 JSON 또는 서버 전송 이벤트로 응답하고, 장시간 생성은 영속화된 작업으로 실행합니다. 작업은 취소할 수 있고, 연결이 끊긴 뒤에도 다시 따라갈 수 있습니다. 같은 서비스가 OpenAI API도 지원하므로, 지금 있는 클라이언트가 그대로 동작합니다.

LMSP는 OpenAI API, Ollama, MCP를 대체하지 않습니다. 각각의 강점을 상주형 로컬 서비스에 맞는 프로토콜 계층으로 묶은 것입니다.

## 한눈에 보기 {#glance}

| 항목 | 요약 |
| --- | --- |
| 기본 주소 | `http://127.0.0.1:17832` |
| 서비스 설명 | `GET /.well-known/lmsp.json` |
| 핵심 인터페이스 | `/lmsp/v1`. HTTP 위의 JSON이며, 스트리밍은 서버 전송 이벤트 사용 |
| 호환 인터페이스 | OpenAI 클라이언트용 `/v1`, Ollama 클라이언트용 선택적 `/api` |
| 검색 | 수동 주소, 로컬 주소 탐색, 선택적 mDNS 및 DNS-SD(`_lmsp._tcp.local.`) |
| 인증 | 로컬 페어링으로 얻는 베어러 토큰 |
| 영속화 | 내장 SQLite. 작업은 재시작 후에도 유지됨 |
| 계약 | OpenAPI 3.2 |

## 사용해 보기 {#try}

사용 중인 컴퓨터에서 LMSP 서비스가 실행 중이라면, 전체 흐름은 다음과 같습니다. 먼저 [10.2절](https://madeforagent.com/ko/lmsp/1.0/security.md#pairing)의 설명대로 페어링해 토큰을 받고, 그 토큰을 `LMSP_TOKEN`에 넣어 두세요.

```sh
# 1. 서비스 찾기
curl http://127.0.0.1:17832/.well-known/lmsp.json

# 2. 로컬 모델 나열
curl http://127.0.0.1:17832/lmsp/v1/models \
  -H "Authorization: Bearer $LMSP_TOKEN"

# 3. 응답 생성
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"}]}]}'
```

## 다른 프로토콜과의 관계 {#related}

| 프로토콜 | 다루는 범위 | LMSP와의 관계 |
| --- | --- | --- |
| OpenAI API | 호스팅되는 모델. Responses API가 가장 새로운 인터페이스. | LMSP는 핵심 인터페이스에서 Responses 구조를 따르고, 서비스는 그 옆에 OpenAI 호환 인터페이스를 함께 제공한다. |
| Ollama | 이미 OpenAI 호환 엔드포인트를 제공하는 로컬 런타임. | LMSP 서비스 뒤에 어댑터로 둘 수 있다. LMSP는 선택적인 Ollama 호환 엔드포인트도 정의한다. |
| MCP | 에이전트를 도구와 컨텍스트에 연결한다. | LMSP는 에이전트를 모델에 연결한다. 둘 다 필수 세션보다 무상태 검색을 선호한다. |
| A2A | 에이전트 간 협업. | LMSP는 서비스 설명과 작업에 서비스 카드와 명시적인 작업 상태를 가져온다. |

## 리소스 {#resources}

- [사양 1.0 버전(초안)](https://madeforagent.com/ko/lmsp/1.0.md).
- OpenAPI 계약. [JSON](https://madeforagent.com/lmsp/1.0/openapi.json)과 [YAML](https://madeforagent.com/lmsp/1.0/openapi.yaml)로 제공됩니다.
- 언어 모델을 위한 [llms.txt](https://madeforagent.com/ko/llms.txt)와 [llms-full.txt](https://madeforagent.com/ko/llms-full.txt).
- 모든 페이지는 Markdown으로도 받을 수 있습니다. 페이지 주소 끝의 슬래시를 `.md`로 바꾸세요. 예: [`/ko/lmsp/1.0/tasks.md`](https://madeforagent.com/ko/lmsp/1.0/tasks.md).

## 자주 묻는 질문

### LMSP란 무엇인가요?

LMSP(Local Model Service Protocol)는 사용자의 기기나 로컬 네트워크에서 실행되는 언어 모델 서비스를 위한 오픈 프로토콜입니다. 클라이언트가 서비스를 찾고, 모델을 나열하고, 응답을 요청하고, 출력을 스트리밍하고, 장시간 작업을 실행하는 방법을 정의합니다.

### LMSP는 OpenAI API, Ollama, MCP를 대체하나요?

아니요. LMSP는 이들 위에 구축됩니다. 핵심 인터페이스는 OpenAI Responses 구조를 따르고, 서비스는 OpenAI 호환 및 Ollama 호환 엔드포인트를 함께 제공할 수 있으며, 프로토콜은 MCP의 무상태 검색과 A2A의 작업 상태를 가져옵니다.

### 기존 OpenAI 클라이언트로 LMSP 서비스를 사용할 수 있나요?

대체로 가능합니다. 기본 URL을 바꾸고 LMSP 토큰을 API 키로 쓰면 됩니다. 다만 서비스 검색에는 LMSP를 지원하는 클라이언트가 필요하므로, 서비스를 자동으로 찾지는 못합니다.

### 클라이언트는 로컬 LMSP 서비스를 어떻게 찾나요?

세 가지를 순서대로 시도합니다. 먼저 직접 입력한 주소, 그다음 관례적인 로컬 주소에서 /.well-known/lmsp.json을 요청하는 방법, 마지막으로 로컬 네트워크에서 mDNS와 DNS-SD로 _lmsp._tcp.local.을 찾는 선택적 방법입니다.

### localhost에서 실행되는 모델 서비스는 안전한가요?

자동으로 안전해지지는 않습니다. 웹 페이지가 로컬 포트에 접근을 시도할 수 있기 때문입니다. LMSP 서비스는 기본적으로 루프백에 바인딩하고, 로컬 페어링으로 얻은 베어러 토큰을 요구하고, Origin과 Host 헤더를 검사하며, LAN 모드에서는 인증을 요구합니다.

### 사양의 현재 상태는 어떤가요?

1.0 버전은 첫 공개 초안이며 앞으로 호환되지 않는 방식으로 바뀔 수 있습니다. 영어 텍스트가 규범이며, 번역본은 편의를 위해 제공됩니다.
