# ローカルモデルサービスプロトコル（LMSP）

> LMSP は、自分のデバイス上で動作する言語モデルを発見して呼び出すためのオープンなプロトコルです。サービス発見、モデルカタログ、ストリーミング、永続タスク、OpenAI 互換を定義します。

Source: https://madeforagent.com/ja/lmsp/
Language: ja
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/ja/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"}]}]}'
```

## LMSP と他のプロトコルの関係 {#related}

| プロトコル | 対象範囲 | LMSP との関係 |
| --- | --- | --- |
| OpenAI API | ホスト型のモデル。Responses API が最新のインターフェース。 | LMSP はコアインターフェースで Responses の構造に従い、サービスはその隣に OpenAI 互換インターフェースを提供する。 |
| Ollama | すでに OpenAI 互換エンドポイントを提供しているローカルランタイム。 | LMSP サービスの背後にアダプターとして置ける。LMSP は任意の Ollama 互換エンドポイントも定義している。 |
| MCP | エージェントをツールとコンテキストに接続する。 | LMSP はエージェントをモデルに接続する。どちらも、必須のセッションよりステートレスな発見を好む。 |
| A2A | エージェント間の協調。 | LMSP はサービス記述とタスクに、サービスカードと明示的なタスク状態を取り入れている。 |

## リソース {#resources}

- [仕様 1.0 版（ドラフト）](https://madeforagent.com/ja/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/ja/llms.txt) と [llms-full.txt](https://madeforagent.com/ja/llms-full.txt)。
- すべてのページは Markdown でも入手できます。ページのアドレス末尾のスラッシュを `.md` に置き換えてください。例: [`/ja/lmsp/1.0/tasks.md`](https://madeforagent.com/ja/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 サービスをどうやって見つけますか？

次の 3 つを順に試します。まず手動で入力されたアドレス、次に慣例のローカルアドレスで /.well-known/lmsp.json を要求する方法、最後にローカルネットワーク上で mDNS と DNS-SD により _lmsp._tcp.local. を探す方法（任意）です。

### localhost で動くモデルサービスは安全ですか？

自動的に安全になるわけではありません。Web ページがローカルのポートへの接続を試みることがあるためです。LMSP サービスは既定でループバックにバインドし、ローカルでのペアリングで得たベアラートークンを必須とし、Origin ヘッダーと Host ヘッダーを検査し、LAN モードでは認証を要求します。

### 仕様の現在の状態はどうなっていますか？

バージョン 1.0 は最初の公開ドラフトで、今後も互換性のない変更が入る可能性があります。英語版が規範であり、翻訳は利便性のために提供されています。
