ローカルLLM MCP (Model Context Protocol) サーバー完全構築ガイド 2026年版:Claude Code / Cursor / Cline から Ollama・vLLM を統一 API で呼ぶ実装と対応モデル早見表
MCP (Model Context Protocol) サーバーを Ollama・vLLM に接続して、Claude Code / Cursor / Cline / Continue から統一 API でツール実行させるセットアップ手順。Python (fastmcp) / TypeScript (mcp-sdk) 両方の実装例、対応モデル (Qwen 3 / Llama 4 / gpt-oss) の Function Calling 精度比較、stdio / Streamable HTTP transport の選び方まで解説します。
- #MCP
- #Model Context Protocol
- #Claude Code
- #Cursor
- #Cline
- #Ollama
- #vLLM
- #Function Calling
- #ローカルLLM
- #fastmcp
本記事は Amazon.co.jp および各販売店のアフィリエイトリンクを含む場合があります。推奨は性能・コスパ・実機ベンチマーク基準で編集判断しており、提供記事は受け付けていません。詳細は プライバシーポリシー をご覧ください。

結論:Claude Code / Cursor / Cline から Ollama・vLLM を統一 API で呼びたいなら、間に MCP サーバーを挟むのが 2026 年の標準です。Python 派は fastmcp、TypeScript 派は @modelcontextprotocol/sdk (最新 1.30.0)、ローカル LLM 側は Function Calling 精度で Qwen 3 32B が本命です。
MCP は Anthropic が 2024 年末に公開し、2026 年 7 月 28 日 spec で完全ステートレス化された事実上の LLM ツール実行標準です。Claude Code はコア機能として組み込まれており、Cursor / Cline / Continue / Windsurf も追随済み。公式・サードパーティ含む各種レジストリに多数のサーバーが登録されています。
検索から来た方への要約
| 質問 | 一行の答え |
|---|---|
| MCP サーバーの構築言語は? | Python (fastmcp) / TypeScript (@modelcontextprotocol/sdk 1.30.0) の 2 択。既存コードの言語で選ぶ |
| Transport は stdio と HTTP どちら? | ローカルは stdio、リモート共有は Streamable HTTP。旧 HTTP+SSE は deprecated |
| Claude Code は MCP 対応済み? | コア機能として組み込み済み。stdio / Streamable HTTP / OAuth 内蔵 |
| Ollama で MCP は使える? | ネイティブ非対応。ollama-mcp-bridge か MCPHost 経由で OpenAI 互換 API に変換 |
| vLLM で Qwen 3 の Tool Call を使うには? | --enable-auto-tool-choice --tool-call-parser qwen3_coder の指定が必須 |
| Function Calling 精度が高いローカルモデルは? | Qwen 3 32B が本命、Qwen 3 8B は入門、gpt-oss 120B は 80GB GPU 前提 |
| 開発機の VRAM 目安は? | Qwen 3 8B は 12 GB、Qwen 3 32B (int4) は 24 GB、gpt-oss 120B は 80 GB |
MCP (Model Context Protocol) とは
MCP は LLM ホストと外部ツール/データソースを結ぶ標準プロトコルです。Anthropic が 2024 年末に公開した仕様で、2026 年に入って Claude Code / Cursor / Cline / Continue / Windsurf のすべてが対応し、Salesforce Agentforce・Cloudflare・Replit・Azure OpenAI もネイティブ実装を出しました。
プロトコルの骨格
- 通信方式: JSON-RPC 2.0 ベースのリクエスト/レスポンス
- 登場人物: Host(LLM を動かす側)、Client(Host 内に埋め込まれる MCP クライアント)、Server(ツールやデータを提供する側)
- 機能: サーバー側が Resources(読み取り可能なデータ)、Prompts(テンプレート)、Tools(LLM から呼び出す関数)、クライアント側が Elicitation(追加情報の要求)
- spec の最新版: 2026 年 7 月 28 日リリースの
2026-07-28
2026-07-28 spec の重要な変更
2026 年 7 月 28 日の spec 改訂で、プロトコルコアが完全ステートレス化されました。従来の Mcp-Session-Id ヘッダは廃止され、Multi Round-Trip Requests・ヘッダベースルーティング・キャッシャブルな list 結果・認可強化・Extensions(Tasks / Skills over MCP / MCP Apps)の正式化が入っています。ステートレス化により、水平スケールとリバースプロキシ挟みが素直に組めるようになりました。
Transport の 2 択
現行 spec でサポートされる transport は次の 2 種類です。
| Transport | 用途 | 特徴 |
|---|---|---|
| stdio | ローカルプロセス内完結 | 子プロセスとして起動、stdin/stdout で JSON-RPC。ファイル操作・ローカル DB・シェル実行向き |
| Streamable HTTP | リモート共有・複数クライアント | 単一エンドポイントで POST/GET、任意で SSE ストリーム併用。2025-03-26 導入 |
旧 HTTP + SSE 分離 transport は deprecated 扱いで、新規実装は選ばないほうが無難です。
サーバー実装:Python fastmcp の hello world
Python 側の第一選択は fastmcp です。デコレータで tool を定義するだけで stdio / HTTP 両対応の MCP サーバーが立ちます。
# server.py
from fastmcp import FastMCP
mcp = FastMCP("Demo")
@mcp.tool
def greet(name: str) -> str:
"""名前を受け取って挨拶を返す"""
return f"こんにちは、{name}さん"
@mcp.tool
def search_docs(query: str, top_k: int = 5) -> list[dict]:
"""社内ドキュメントを検索してヒットしたタイトルと URL を返す"""
# 実際には Elasticsearch や Qdrant を叩く
return [{"title": f"result for {query}", "url": "..."}]
if __name__ == "__main__":
mcp.run() # stdio (default)
# HTTP で公開する場合
# mcp.run(transport="http", host="127.0.0.1", port=8000, path="/mcp")
起動と Claude Code からの接続はこの後の設定ファイル節でまとめて扱います。
サーバー実装:TypeScript @modelcontextprotocol/sdk
TypeScript 側の公式 SDK が @modelcontextprotocol/sdk で、npm 上の最新は 1.30.0 (2026 年 8 月時点) です。
// server.ts
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({ name: "demo", version: "1.0.0" });
server.tool(
"greet",
{ name: z.string() },
async ({ name }) => ({
content: [{ type: "text", text: `こんにちは、${name}さん` }],
})
);
const transport = new StdioServerTransport();
await server.connect(transport);
Streamable HTTP で公開したい場合は NodeStreamableHTTPServerTransport を使い、Express / Fastify / Hono の middleware パッケージが別配布されています。既存の Node.js API を包むケースでは Express 併用が一番導入コストが低くなります。
クライアント側の設定:Claude Code / Cursor / Cline / Continue
主要ツールの MCP 設定パスと基本記法をまとめます。
Claude Code
Claude Code は MCP をコア機能として組み込んでおり、stdio / Streamable HTTP / SSE (deprecated) 対応・OAuth 内蔵・エンタープライズ制御用の managed-mcp.json まで揃っています。Claude Desktop と同じ MCP サーバー定義が使えるので、既存資産の流用が容易です。設定は CLI (claude mcp add) か設定ファイル直接編集の 2 通りです。
Cursor
プロジェクトルートに .cursor/mcp.json を置きます。
{
"mcpServers": {
"demo": {
"command": "python",
"args": ["-m", "server"],
"env": { "LOG_LEVEL": "info" }
}
}
}
Cline
VS Code サイドバーの MCP タブから GUI 追加できます。マーケットプレイス経由のワンクリックインストールが特徴で、コマンド不要で MCP サーバーを試せます。
Continue
~/.continue/config.json の experimental セクションに MCP サーバー定義を追加します。Continue は OSS でモデル差し替えの自由度が高く、Ollama や vLLM とのローカル完結構成が組みやすい設計です。
各エディタでの MCP 対応状況の詳細と、Claude Code / Cursor / Codex / Gemini CLI の使い分けは Coding CLI Claude Codex Gemini 比較 2026年版 にまとめています。
Ollama / vLLM でローカル LLM を叩く配線
MCP サーバーからローカル LLM を呼ぶ配線は、ランタイム側の Function Calling 実装状況によって選択肢が変わります。
Ollama:ブリッジ経由の 2 段構成
Ollama は MCP プロトコル自体を実装していません。ただし /v1/chat/completions エンドポイントで OpenAI 互換の tools パラメータを公式サポートしているため、以下 3 種のブリッジのいずれかを間に挟みます。
| ブリッジ | 役割 |
|---|---|
| ollama-mcp-bridge | MCP サーバー ↔ Ollama を接続するデーモン。設定が最小 |
| MCPHost | Ollama / vLLM / LM Studio を統一的に MCP クライアントから叩く |
| MCP-Bridge | OpenAI API 呼び出しを MCP tool 実行に変換、推論も仲介 |
mcp-proxy は transport 変換(stdio ↔ SSE/HTTP)のみで LLM 推論は仲介しません。ローカル LLM ブリッジ用途では上記 3 種と混同しないよう注意します。
Ollama 側の runtime 選定と VRAM 目安は ローカルLLM ランタイム比較 2026年版 を参照してください。
vLLM:Qwen 3 系はパーサ指定が必須
vLLM で Qwen 3 系を Tool Call ありで動かすには、起動引数に --enable-auto-tool-choice --tool-call-parser qwen3_coder を指定します。この指定が漏れると、モデルは tool call の JSON を吐くのに vLLM が普通のテキストとして返してしまい、silently fail します。vLLM 0.19.0 以降で Qwen 3.6 MoE が正式サポート、Qwen 3.8-2.4T-A95B は Day 0 サポートです。
Function Calling 実装全般の詳細(プロンプト設計、ツール定義スキーマ、リトライ戦略)は ローカルLLM Function Calling / Tool Use 実装ガイド 2026年版 にまとめています。Cline と Ollama の組み合わせ特化のセットアップは Cline / Roo Code + Ollama セットアップガイド 2026年版 を参照してください。
MCP 対応モデル早見表(2026 年 8 月時点)
Function Calling 精度・レイテンシ・必要 VRAM の観点で、MCP 経由で実用になるローカルモデルを整理します。
| モデル | パラメータ数 | Function Calling 精度 | 推奨 VRAM (int4) | 補足 |
|---|---|---|---|---|
| Qwen 3 32B | 32B dense | 高(vLLM で本命) | 24 GB | qwen3_coder パーサでネイティブ tool calling |
| Qwen 3 8B | 8B dense | 中〜高 | 12 GB | 入門用、レイテンシ最小 |
| Qwen 3.6 MoE (35B-A3B) | 35B (active 3B) | 高 | 32 GB | MoE で推論高速、vLLM 0.19.0+ で対応 |
| Llama 4 Scout | 17B×16 experts | 中(詳細ベンチ未確認) | 64 GB | 10M コンテキストが最大の強み |
| gpt-oss 20B | 20B | 中 | 16 GB | Apache 2.0、128K コンテキスト |
| gpt-oss 120B | 120B | 高 | 80 GB | 単一 80GB GPU 枠で最良評価 |
| DeepSeek V3.2 | 685B (MoE) | 高(数学領域最強) | 8×80GB 級 | 実運用は API 経由が現実的 |
| Claude Sonnet 4.6 / Opus 4.7 | ─ | 最高 | ─ | Anthropic API 経由、MCP ネイティブ |
Qwen 3 32B が「ローカル・自力運用・実用精度」の 3 条件を満たす 2026 年 8 月時点の本命です。gpt-oss 120B は精度で上回るものの、80GB GPU(RTX PRO 6000 Blackwell 96GB、H100 80GB)を要求するため導入ハードルが高くなります。
各モデルを走らせる際の PC 構成は Claude Code PC スペック / ベンチマーク 2026年版 にまとめてあり、Claude Code + MCP + ローカル LLM のフル構成に必要なメモリ / GPU / SSD 要件を数値で確認できます。
セキュリティ:MCP サーバー運用の 3 つの落とし穴
MCP サーバーの導入で事故につながりやすい 3 点を、対策とあわせて整理します。
1. サードパーティ MCP サーバーの権限過多
npm / PyPI 公開の MCP サーバーは、そのままホストで起動すると LLM がホストのファイルシステムやネットワークにフルアクセスできる状態になります。対策は Docker コンテナ・gVisor・AppArmor / seccomp で最小権限に切り分けることです。ネットワーク・ファイルシステム・環境変数はホワイトリスト方式で許可対象だけ露出します。
2. Secret 管理の平文集約
MCP サーバーが API キー・DB パスワード・OAuth トークンを平文で環境変数や設定ファイルに集約している運用は事故のもとです。実運用中の MCP サーバーの約半数がこの状態にあるという報告もあります。短命かつスコープ限定のトークンを MCP サーバー側で発行し、HashiCorp Vault や AWS Secrets Manager などに保管します。LLM 側に直接秘匿情報を渡す設計は避けます。
3. 入力検証と監査ログ
すべての tool call で引数の型・範囲・長さ・形式をバリデーションします。SIEM にプロンプト・呼び出し tool・引数・応答・ユーザー・セッションを転送してプロンプトインジェクションをランタイム検知できるようにします。監査ログはプロンプトインジェクションの証拠保全にも使えます。
開発機の構成例:MCP + ローカル LLM を常時動かす
MCP サーバー本体は CPU 1 コア・メモリ 1 GB もあれば動きます。負荷が大きいのは接続先のローカル LLM です。用途別の実用構成を 3 パターン示します。
入門:Qwen 3 8B + Claude Code MCP
- CPU: Ryzen 7 9700X または Core Ultra 7 265K
- メモリ: DDR5-6000 64 GB
- GPU: RTX 5070 12 GB または RTX 4070 SUPER 12 GB
- SSD: PCIe Gen4 NVMe 2 TB
Qwen 3 8B を int4 量子化で常駐させて Claude Code から MCP 経由で叩く構成の目安です。
実用:Qwen 3 32B + Cursor MCP
- CPU: Ryzen 9 9950X または Core Ultra 9 285K
- メモリ: DDR5-6000 128 GB
- GPU: RTX 5070 Ti 16GB × 2 または RTX 5090 32GB × 1
- SSD: PCIe Gen5 NVMe 4 TB
Qwen 3 32B を int4 で 24 GB VRAM、コンテキスト拡張分の余裕を含めて 32 GB あると安定します。単一 RTX 5090 32GB が最もシンプルな構成です。
プロ:gpt-oss 120B + マルチエージェント
- CPU: Threadripper 9970X または Xeon W-3400 系
- メモリ: DDR5 RDIMM 256 GB
- GPU: RTX PRO 6000 Blackwell 96GB × 1 または H100 80GB × 1
- SSD: PCIe Gen5 NVMe 8 TB
gpt-oss 120B を int4 で常駐、複数の MCP サーバーを並列にオーケストレーションする構成です。予算 250〜400 万円クラスになります。
Mac 側で MCP + ローカル LLM を動かす場合は、統合メモリの容量が VRAM 相当になるため、Mac mini M4 Pro 24 GB / 48 GB や Mac Studio M3 Ultra 128 GB / 256 GB が選択肢になります。
入手先・関連商品
当サイトは Amazon.co.jp アソシエイト・プログラムに参加予定です。下記リンク経由で購入された場合、紹介料を受け取ることがあります。読者の負担は増えません。リンクは記事評価とは独立しており、編集判断には影響しません。
MCP + ローカル LLM 用開発機の中核パーツ
- AMD Ryzen 9 9950X を Amazon.co.jp で見る — Qwen 3 32B クラスを扱う開発機の CPU 本命。16 コアで並列コンパイル・ベクトル DB 側にも余裕
- NVIDIA GeForce RTX 5090 を Amazon.co.jp で見る — 32 GB VRAM で Qwen 3 32B (int4) を単一 GPU で常駐可能
- NVIDIA GeForce RTX 5070 Ti を Amazon.co.jp で見る — 16 GB VRAM で Qwen 3 8B〜14B クラスを回す入門枠
Mac 派の開発機(Apple 公式)
- Mac mini (M4 Pro) を Apple 公式で見る — 24 GB / 48 GB 統合メモリで Qwen 3 8B〜14B を扱いやすい。こちらからは紹介料が発生しません
- Mac Studio を Apple 公式で見る — 128 GB / 256 GB 統合メモリで gpt-oss 120B / Llama 4 Scout を単機で常駐可能。こちらからは紹介料が発生しません
あなたに合うPCを診断する
用途や予算をもう少し細かく入力すると、3つの候補構成を提案します。
→ 診断スタート
関連記事
- ローカルLLM Function Calling / Tool Use 実装ガイド 2026年版 — MCP の下位レイヤーである Function Calling そのものの実装
- Cline / Roo Code + Ollama セットアップガイド 2026年版 — Cline と Ollama を組み合わせる具体的手順
- Coding CLI Claude Codex Gemini 比較 2026年版 — Claude Code / Cursor / Codex / Gemini CLI の使い分け
- Claude Code PC スペック / ベンチマーク 2026年版 — Claude Code + MCP フル構成に必要な PC スペック
- ローカルLLM ランタイム比較 2026年版 — Ollama / vLLM / LM Studio / llama.cpp の使い分け
よくある質問
- MCP (Model Context Protocol) とは何ですか?
- MCP は Anthropic が 2024 年末に公開し、2026 年に事実上の LLM ツール実行標準になったオープンプロトコルです。JSON-RPC 2.0 をベースに、LLM ホスト(Claude Code / Cursor など)と外部ツール(データベース、ファイル操作、Web API など)を統一 API で接続します。2026 年 7 月 28 日リリースの最新 spec ではプロトコルコアが完全ステートレス化され、Streamable HTTP transport がリモート接続の推奨方式になっています。Claude Code / Cursor / Cline / Continue / Windsurf の主要 AI コーディングツールがすべて MCP に対応済みで、公式・サードパーティ含めた各種レジストリに多数の MCP サーバーが登録されています。
- Claude Code から Ollama のローカルモデルを MCP で呼べますか?
- 呼べます。ただし Ollama 自体は MCP プロトコルをネイティブ実装していないため、ollama-mcp-bridge や MCPHost などのブリッジを間に挟みます。Ollama の OpenAI 互換 API (`/v1/chat/completions`) は `tools` パラメータを正式サポートしているため、ブリッジが MCP のツール呼び出しを OpenAI 形式に変換して Ollama へ渡します。Qwen 3 32B や Llama 4 Scout のように Function Calling が安定したモデルを組み合わせると、Claude Code から実用レベルでローカル LLM をエージェント動作させられます。
- fastmcp と @modelcontextprotocol/sdk のどちらを選ぶべきですか?
- 既存コードベースの言語で選んで問題ありません。Python の既存ツール(データ分析、ML パイプライン、業務スクリプト)を LLM から呼びたいなら fastmcp、Node.js / TypeScript の既存 API を包みたいなら `@modelcontextprotocol/sdk` (最新 1.30.0) が適切です。両者とも stdio と Streamable HTTP の両 transport をサポートしており、機能差はほぼありません。fastmcp はデコレータベースの API で hello world が 10 行程度、TypeScript SDK は Express / Fastify / Hono と組み合わせやすい設計です。
- MCP サーバーを動かす PC のスペック要件はどのくらいですか?
- MCP サーバー本体はプロトコル変換とツール実行を担うだけで、CPU 1 コア・メモリ 1 GB もあれば動きます。負荷が大きいのは接続先のローカル LLM の推論側です。Qwen 3 32B を int4 量子化で動かすなら VRAM 24 GB 以上(RTX 5090 32GB、RTX 4090 24GB、Ryzen AI MAX+ 395 ミニ PC の統合メモリ)、Qwen 3 8B なら VRAM 12 GB(RTX 5070、Mac mini M4 Pro 24 GB 統合メモリ)が実用ラインです。gpt-oss 120B や Llama 4 系の巨大モデルを常時動かす場合は VRAM 80 GB 級か Mac Studio M3 Ultra 128 GB 以上を検討します。
- MCP の stdio と Streamable HTTP はどちらを選べばいいですか?
- ローカル PC 内で完結するツール(ファイル操作、シェル実行、ローカル DB 接続)は stdio、リモートサーバーや複数クライアントから共有するツールは Streamable HTTP を選びます。2025 年 3 月 26 日の spec 改訂で Streamable HTTP が導入され、単一エンドポイントで POST / GET を受けつつ任意で SSE ストリームを併用できるようになりました。旧 HTTP + SSE transport は deprecated です。2026 年 7 月 28 日 spec ではセッション管理ヘッダ (`Mcp-Session-Id`) も廃止され、水平スケールしやすい完全ステートレス設計に移行しています。
- MCP サーバーのセキュリティで最低限おさえるべきことは?
- 3 点あります。第一に、サードパーティ製 MCP サーバーは本番環境に直接接続せず、Docker コンテナや gVisor / AppArmor で隔離した最小権限プロセスとして動かします。第二に、LLM に API キーや DB パスワードを直接渡さず、短命かつスコープ限定のトークンを MCP サーバー側で発行して Vault などに保管します。実運用中の MCP サーバーの約半数が API キー・DB パスワード・OAuth トークンを平文で集約しているという事故報告があります。第三に、tool call の入力(型・範囲・長さ・形式)を必ずバリデーションし、SIEM にプロンプト・引数・応答を転送してプロンプトインジェクションを検知できるようにします。