LM StudioのMCPをAPIで使う方法|/api/v1/chat・allowed_tools・Windows
- 公開日
- 2026-08-10
- 更新日
- 2026-08-10
- 情報確認日
- 2026-08-10
- 編集・運営
- Local AI Compass
LM StudioのMCPをAPIから使うときは、OpenAI互換のcustom toolsと混ぜず、LM Studio 0.4.0以降で推奨されるnative POST /api/v1/chatのintegrationsを確認します。Windowsでは、per-requestのephemeral MCPとmcp.jsonのpluginを分け、allowed_toolsでモデルが呼べるtoolを限定し、server URL・API token・ファイルやネットワークへの権限を別々に確認します。
導入前に確認すること
- Windowsのバージョン、メモリ容量、GPU/VRAM、空き容量を確認する
- 最初は軽量モデル、短い質問、少ない同時作業から始める
- 公式サイトの対応OS、利用規約、モデルのライセンスを確認する
先に結論:MCP APIはnative /api/v1/chatのintegrationsから始める
LM Studio公式REST docsでは、v1 REST APIのPOST /api/v1/chatにMCP via APIが含まれています。OpenAI互換の/v1/chat/completionsはcustom tools、/v1/responsesはRemote MCPやLM Studio内のMCPに対応する比較になっているため、使いたい機能に応じてendpointを固定します。
| 目的 | endpoint・設定 | 最初に確認すること |
|---|---|---|
| MCPをAPI requestへ追加する | POST /api/v1/chat、integrations | LM Studio 0.4.0以降、server settings、model |
| 1回だけremote MCPを試す | type: ephemeral_mcp | server_label、server_url、allowed_tools |
| 登録済みMCPを使う | type: plugin、id: mcp/NAME | mcp.json、Allow calling servers from mcp.json |
| 自作関数を呼ぶ | /v1/chat/completions・/v1/responsesのcustom tools | tools schemaとアプリ側のdispatch |
| LM StudioのGUIから使う | appのmcp.jsonとProgram tab | serverの出所、権限、現在の設定 |
「local serverへ接続しているからMCPもPC内だけ」とは限りません。モデルの推論先、LM Studio API、MCP server URL、toolが触れるファイルやネットワーク、API tokenを別の通信・権限として記録します。
- LM Studio Responses API - /v1/responsesのRemote MCPとstatefulを確認する
- LM Studio Tool Use - OpenAI互換custom toolsのschema・dispatchを見る
- MCPとは - MCP・tool calling・RAGの役割を整理する
WindowsでLM Studio 0.4.0以降とserver settingsを確認する
公式のUsing MCP via API docsはLM Studio 0.4.0以降を要件にしています。まずLM StudioをWindowsで起動し、DeveloperのAPI server、port、model、認証、MCP関連のserver settingsを画面で確認します。
- LM StudioのversionとDeveloper tabのAPI server状態を確認する。
- modelをロードし、通常のchatで短い公開可能な入力へ返答できることを確認する。
- Allow per-request MCPsを使う場合は、その設定を有効にする。現行docsではこの経路はremote MCPが対象です。
- mcp.jsonのpluginを使う場合は、Allow calling servers from mcp.jsonとRequire Authenticationの条件を確認する。
- 最初は読み取り中心・短い入力・限定tool・stream=falseでAPIを呼ぶ。
| Server setting | 役割 | 注意点 |
|---|---|---|
| Require Authentication | API clientへvalid API tokenを要求 | tokenをsource、画面、ログへ書かない |
| Allow per-request MCPs | request内のephemeral MCPを許可 | remote URLとheadersをrequestごとに確認する |
| Allow calling servers from mcp.json | 登録済みpluginをAPI clientから利用 | 公式docsではRequire Authenticationが必要で、file・private dataへのriskがある |
| Serve on Local Network | 同一networkの他deviceからAPIへ接続 | localhostだけの想定を崩すため、必要時だけ確認する |
Server settingsを変更しただけで安全になるわけではありません。設定を有効にする理由、許可するserver、API tokenのscope、toolのallowlist、外部送信、停止方法を一緒に記録します。
- LM Studio Server Settings公式docs - MCP・認証・network設定の現行説明を見る
- LM Studio lms CLI記事 - server start・status・Windowsの端末確認へ進む
- LM Studio API Quickstart - native APIとAPI tokenの最小例を見る
PowerShellからephemeral MCPを1回だけ呼ぶ
ephemeral MCPは、requestごとにserver_urlとintegrationsを定義する方式です。WindowsではAPI tokenを環境変数から読み、server URLとallowed_toolsをplaceholderから置き換えます。実在serverへ接続する前に、出所、利用規約、送信データ、tool一覧を確認します。
$token = [Environment]::GetEnvironmentVariable("LM_API_TOKEN", "User")
if ([string]::IsNullOrWhiteSpace($token)) { throw "LM_API_TOKEN is not configured" }
$headers = @{ Authorization = "Bearer $token" }
$payload = @{
model = "MODEL_IDENTIFIER"
input = "読み取り専用の短い確認をしてください"
integrations = @(
@{
type = "ephemeral_mcp"
server_label = "MCP_SERVER_LABEL"
server_url = "https://MCP_SERVER_URL"
allowed_tools = @("READ_ONLY_TOOL")
}
)
context_length = 8000
stream = $false
} | ConvertTo-Json -Depth 10
$response = Invoke-RestMethod -Uri "http://localhost:1234/api/v1/chat" -Method Post -Headers $headers -ContentType "application/json" -Body $payload
$response | ConvertTo-Json -Depth 15- MODEL_IDENTIFIERはGET /api/v1/modelsやDeveloper表示で確認した値へ置き換える。
- MCP_SERVER_URL、MCP_SERVER_LABEL、READ_ONLY_TOOLは公式server docsで確認した値へ置き換える。
- LM_API_TOKENはsource、PowerShell履歴、Git、画面共有、ログへ貼り付けない。
- 最初はstream=falseと読み取り中心のtoolだけにし、tool resultとresponse全体を秘密情報を除いて確認する。
このコードは外部MCPへ接続するためのplaceholder例です。実行すれば安全に試せるserverを意味せず、server URL・tool・headersへ入力した情報がどこへ送られるかを確認してから使います。
- LM Studio MCP API公式docs - ephemeral_mcpのrequestとallowed_toolsを見る
- LM Studio Authentication - API tokenとpermissionの現行条件を見る
- ローカルLLMの安全性 - 入力・ログ・外部送信・権限の確認へ進む
ephemeral MCPとmcp.jsonのpluginを使い分ける
LM Studio公式docsでは、ephemeral serverはrequestごとに定義し、mcp.jsonのserverはpluginとしてintegrationへ渡します。1回の安全な検証はephemeral、頻繁に使うserverやcommandを持つserverはmcp.jsonという違いですが、どちらもserverの権限とtoolの許可を確認します。
| 方式 | requestの書き方 | 向いている用途・注意 |
|---|---|---|
| ephemeral_mcp | type、server_label、server_url、allowed_tools | 1回のremote MCP、試験、request単位の設定 |
| mcp.json plugin | integrations: ["mcp/SERVER_ID"] | 登録済みserver、頻繁な利用、commandを持つserver |
| plugin object | type: plugin、id、allowed_tools | plugin単位でtoolを絞る |
| appのmcp.json | mcpServersへserverを登録 | 信頼できないserverを追加しない。設定・headers・commandを確認する |
{
"mcpServers": {
"read-only-example": {
"url": "https://MCP_SERVER_URL",
"headers": {
"Authorization": "Bearer <TOKEN_FROM_SECRET_STORE>"
}
}
}
}
# API request側のplugin指定例
{
"model": "MODEL_IDENTIFIER",
"input": "限定した読み取りtoolだけを使って確認してください",
"integrations": [
{
"type": "plugin",
"id": "mcp/read-only-example",
"allowed_tools": ["READ_ONLY_TOOL"]
}
],
"context_length": 8000
}mcp.jsonへtokenや秘密情報を平文で保存するかは、OSのsecret管理とserverの仕様を確認して決めます。例のURL・ID・tool名はplaceholderであり、実在MCPの信頼性や権限を保証しません。
- LM Studio Use MCP Servers - Program tab・mcp.json・local/remote MCPの前提を見る
- LM Studio MCP via API - ephemeralとmcp.jsonの比較表を見る
- LM Studioの履歴・ログ・privacy - 保存先・server log・model fileの境界を見る
allowed_toolsでモデルに渡すtoolを最小化する
allowed_toolsは、MCP serverやpluginからモデルが呼べるtool名を限定するfieldです。LM Studio公式docsでは、指定しなければserverのすべてのtoolが利用可能になり、tool定義を減らすことでprompt processingが速くなる場合があると説明されています。
| 指定 | モデルへ見せる範囲 | 判断 |
|---|---|---|
| allowed_tools: ["read_file"] | 指定したtoolだけ | 最初の読み取りテストに向く |
| allowed_tools: ["model_search"] | 検索toolだけ | tool名が公式serverと一致するか確認する |
| allowed_toolsを省略 | serverの全tool | 権限・prompt量・誤操作の範囲が増えるため初回は避ける |
| tool名が一致しない | invalid tool callや利用不可 | serverのtool一覧とrequestの綴りを確認する |
- tool名は自然言語の説明ではなく、serverが公開する正式な名前を使う。
- 読み取り、検索、書き込み、削除、実行、送信を同じallowlistへ入れない。
- allowed_toolsはtoolを呼ぶ範囲の限定であり、MCP serverの内部権限や認証を弱めるものではない。
- モデルがtoolを呼ぶことと、アプリやserverが安全に実行できることを別の検証にする。
最小allowlistは安全性の一部ですが、完全なsandboxや人間の承認を代替しません。serverのcommand、file path、network、headers、認証情報、戻り値の扱いを別途確認します。
- LM Studio native Chat公式docs - plugin・ephemeral_mcp・allowed_toolsのfieldを見る
- LM Studio Tool Use記事 - custom functionのschemaとdispatchを分ける
- MCP安全性記事 - 権限・ローカルserver・外部送信を確認する
responseのoutput・tool_call・invalid_tool_callを分けて読む
native /api/v1/chatのresponseは、単一の本文だけでなくoutput配列を返します。公式docsではmessage、tool_call、reasoning、invalid_tool_callなどのitemが説明されているため、モデルの文章だけを見てtoolが実行されたと判断しません。
| output item | 意味 | アプリ側の確認 |
|---|---|---|
| message | モデルのテキスト出力 | 最終回答として表示する前に内容を検証する |
| tool_call | モデルが指定したtoolとarguments | tool名・引数・対象・権限をallowlistで検証する |
| reasoning | モデルのreasoning content | 表示・保存・共有の方針を別に決める |
| invalid_tool_call | tool名または引数が不正 | 実行せず、reason・metadataを診断へ使う |
| provider_info | pluginまたはephemeral_mcpの出所 | server_label・plugin_idと送信先を記録する |
$response.output | ForEach-Object {
[pscustomobject]@{
type = $_.type
tool = $_.tool
arguments = if ($_.arguments) { $_.arguments | ConvertTo-Json -Compress } else { $null }
provider = if ($_.provider_info) { $_.provider_info | ConvertTo-Json -Compress } else { $null }
content = $_.content
}
} | Format-Listtool_callのargumentsはモデルが生成したデータです。JSONとして読めても、PowerShell、ファイル、shell、HTTP clientへそのまま渡さず、型・値・対象範囲・承認を別に確認します。
- LM Studio Chat API response公式docs - output itemとprovider_infoを見る
- LM Studio Responses API記事 - SSE・reasoning・Remote MCPの別endpointを確認する
- ローカルAI agent比較 - agent・ファイル・MCPの権限境界を比較する
MCPの外部通信・認証・Windows権限を確認する
LM StudioのAPI serverがlocalhostでも、ephemeral MCPのserver_urlやmcp.jsonのremote URLへ通信する構成は外部接続です。MCP serverがファイル、network、command、API tokenへアクセスできる場合があるため、local modelの実行場所だけで安全性を判断しません。
| 確認対象 | 質問 | 安全側の初期値 |
|---|---|---|
| server URL | どのhostへ接続し、HTTPS・認証・規約は何か | 出所を確認した読み取り用serverだけ |
| headers / token | 誰の権限で何を取得できるか | secret storeから読み、ログへ出さない |
| allowed_tools | モデルが呼べる操作は何か | 必要な読み取りtoolだけを明示 |
| file・network・command | serverやpluginが触れる範囲はどこか | 限定folder・検証データ・人間確認 |
| LM Studio API server | 他deviceからアクセス可能か | Serve on Local Networkは必要時だけ。認証を確認 |
- 信頼できないMCP serverをインストールしない。
- 実ファイル、社内文書、API token、個人情報を初回のMCPテストへ入れない。
- 削除、上書き、購入、メール送信、認証情報の利用、shell実行は自動承認しない。
- server log、LM Studio log、client log、MCP側の保存先を確認する。
LM Studio公式のMCP app docsも、信頼できないMCPを入れないこと、serverによってarbitrary code・local file・networkへ広いアクセスがあり得ることを注意しています。便利さより、接続先と権限を説明できることを優先します。
- LM Studio Use MCP Servers公式docs - untrusted MCP・file・networkの注意を見る
- LM Studio Authentication - token・permission・mcp.json条件を見る
- ローカルRAGのprivacy - データの入力・保存・外部送信を確認する
MCPが動かないときはserver・setting・tool・parserを分ける
MCP APIの失敗は、LM Studioのversion、API server、model、MCP server URL、setting、token、integration type、allowed_tools、tool arguments、response parserを一度に変更せず、順番に切り分けます。
| 症状 | 原因候補 | 最初の確認 |
|---|---|---|
| 404 /api/v1/chat | LM Studio version、API path、server停止 | 0.4.0以降、Developer、native v1 endpoint |
| ephemeral MCPが拒否される | Allow per-request MCPsが無効 | Server Settingsとremote MCPの条件 |
| mcp.json pluginが拒否される | setting無効、認証不足、id違い | Allow calling servers from mcp.json、API token、mcp/ID |
| toolが見つからない | allowed_toolsの綴り、server公開toolとの不一致 | tool一覧、plugin・server label、request field |
| MCP serverへ接続できない | URL、HTTPS、header、外部network、server停止 | server単体、認証、proxy、送信先 |
| tool callを読めない | output配列、invalid tool call、provider_infoの未処理 | raw responseを保存し、item typeごとに分岐 |
- LM Studioのversion、Developer API server、port、modelを確認する。
- MCPなしのPOST /api/v1/chatをstream=falseで実行し、native API単体を確認する。
- ephemeral_mcpまたはpluginのどちらか一方だけを追加し、settingとtokenを確認する。
- allowed_toolsを1つに絞り、serverが公開する正式なtool名と一致させる。
- outputのtool_call、message、invalid_tool_call、provider_infoを分けて保存する。
- LM Studio native REST API - v1 APIとendpoint比較へ戻る
- LM Studioの起動トラブル - アプリ・runtime・serverの共通診断を見る
- ローカルAIトラブルシューティング - Windows・model・APIの切り分けを確認する
よくある質問
LM StudioでMCPをAPIから使うendpointは何ですか?
LM Studio公式のnative v1 REST APIでは、POST /api/v1/chatのintegrationsへephemeral MCPやpluginを指定します。LM Studio 0.4.0以降が要件なので、versionとDeveloper API serverを先に確認します。
ephemeral MCPとmcp.jsonの違いは何ですか?
ephemeral MCPはrequestごとにserver_urlなどを定義する方式、mcp.jsonはLM Studioへ登録したserverをpluginとして呼ぶ方式です。前者は1回の試験、後者は頻繁に使うserverなどに向きますが、どちらも出所・権限・toolを確認します。
allowed_toolsとは何ですか?
MCP serverやpluginからモデルが呼べるtool名を限定するfieldです。指定しなければ全toolが利用可能になるため、最初は必要な読み取りtoolだけを明示します。sandboxや人間の承認を代替するものではありません。
allowed_toolsを省略しても使えますか?
使える場合がありますが、LM Studio公式docsではserverの全toolがモデルへ利用可能になると説明されています。promptへ渡すtool定義、誤操作、権限範囲が増えるため、目的が限定されるrequestではallowlistを指定します。
mcp.jsonのserverをAPIから呼べないときは?
Server SettingsのAllow calling servers from mcp.json、Require Authentication、integrationのplugin idが一致しているかを確認します。API token、mcp.jsonのserver ID、allowed_tools、serverの起動状態も別々に切り分けます。
LM StudioのMCPとOpenAI互換Tool Useは同じですか?
同じではありません。MCPはserverを介してtoolsやデータへ接続する仕組み、OpenAI互換Tool Useはcustom functionをrequestへ定義する仕組みです。native /api/v1/chatと/v1/chat/completions・/v1/responsesの機能比較を確認します。
LM StudioがlocalhostならMCPも完全にローカルですか?
いいえ。API serverがlocalhostでも、MCPのserver_url、headers、remote service、pluginのfile・network・command権限が外部通信や外部作用を持つ場合があります。推論場所、接続先、保存先、tool権限を分けて確認します。
次に読むおすすめルート
開発・API連携したい人
LM StudioとOllamaの違いを確認し、API、長文処理、RAGまで段階的に進みます。
- ローカルAIをAPIで使う方法
- WindowsでローカルAIコーディングを始める
- VS CodeでローカルAIを使う
- LM Studioのlms CLIを使う
- LM StudioのTool Useを使う
- LM StudioのStructured Outputを使う
- LM StudioのResponses APIを使う
- ローカルAIでJSON出力する方法
- LM StudioとOllamaの違い
- コンテキスト長とは
- RAG・埋め込み・ベクトルDBの仕組み
- OllamaのEmbedding APIを使う
- OllamaのResponses APIを使う
- OllamaのAPI認証を確認する
- OllamaをWindowsのLANから使う前の確認
- OllamaのモデルID・能力を確認する
- OllamaのModelfileを使う
- Ollama native API streamingを使う
- Ollama Web Search APIを使う
- OllamaのThinkingを使う
- LM StudioのEmbedding APIを使う
- RAG評価と引用確認の基礎
- faithfulness確認
- ローカルRAGのプライバシー
- MCPとは
- ローカルLLMの安全性とプライバシー
- Gemma 4 12Bの更新メモ
- Hermes Desktopとは
- Hermes DesktopとLM Studio接続
- Hermes DesktopとOllama接続
- Hermes Desktop接続トラブル
- Hermes DesktopでOpenRouterを使う
- Hermes DesktopでDeepSeek APIを使う
- Hermes DesktopでProviderを使い分ける
- Hermes DesktopとLM Studio接続の確認ポイント
- Hermes AgentとDesktopの違い
- Ollamaとは
- Windows ARMでローカルAIを使う前の確認
- WindowsでOllamaをインストールする
- Ollamaのローカルモデルとcloudモデルの違い
- Ollamaのモデル保存場所と移動
- Ollamaのモデル一覧・削除・容量整理
- OllamaのOpenAI互換APIを使う
- Ollamaのtool callingを使う
- OllamaのStructured Outputsを使う
- OllamaのEmbedding APIを使う
- OllamaのResponses APIを使う
- OllamaのAPI認証を確認する
- OllamaのモデルID・能力を確認する
- OllamaのModelfileを使う
- Ollama native API streamingを使う
- LM StudioのEmbedding APIを使う
- Ollamaの解説
- 診断基準
- 比較表
あなたはどのタイプ?
- 初めてローカルAIを触る人 - まず全体像をつかみ、LM StudioとOllamaの違い、モデルサイズの考え方を順番に確認します。
- LM Studio・Ollamaの症状別トラブルを解決したい人 - 起動、モデルロード、Prompt Processing、generation、API接続、GPU確認をツール別に分けて読みます。
- GPUなし・低スペックPCの人 - 軽量モデル、メモリ別の目安、重いときの確認ポイントを先に見ます。
- PDFや資料を読ませたい人 - 先に基本を押さえ、モデル単体の確認後にAnythingLLMへ進みます。
- ローカルAIエージェントを試したい人 - Bionic、Ollama、AnythingLLM、Hermesを役割別に分け、local/cloud、tool、保存、PC負荷を順番に確認します。
- 開発・API連携したい人 - LM StudioとOllamaの違いを確認し、API、長文処理、RAGまで段階的に進みます。
関連チェック先
- LM Studio Using MCP via API - LM Studio 0.4.0以降のephemeral MCP、mcp.json、plugin、allowed_tools、custom headersを確認できます。
- LM Studio native REST Chat - POST /api/v1/chatのintegrations、MCP request、response output、SSEを確認できます。
- LM Studio REST API - /api/v1/chat、/v1/responses、/v1/chat/completionsのMCP・custom tools比較を確認できます。
- LM Studio Server Settings - Allow per-request MCPs、mcp.json、認証、local networkの設定境界を確認できます。
- LM Studio Authentication - API tokenとmcp.json server呼び出しの認証条件を確認できます。
- LM Studio Use MCP Servers - アプリのmcp.json、local・remote MCP、信頼できないserverへの注意を確認できます。
- LM Studio API Quickstart - Windowsのlocal server、/api/v1/chat、API tokenの最小例を確認できます。