MCP.so
ログイン
ブログに戻る

Ollama 向け MCP サーバー:ローカルモデルで MCP ツールを使う方法

2026年10月15日MCP.so TeamMCP.so Team

Ollama で MCP サーバーを使うガイド。Ollama 自体は MCP クライアントではないため、ollmcp、Claude Code、Codex、Goose、Open WebUI でローカルモデルに MCP ツールを与えます。手順・モデル・制限を解説。

Ollama は MCP サーバーを使えるのか?

単体では使えません。Ollama はモデルを動かしツール呼び出しにも対応していますが、MCP クライアントではないため、MCP サーバーを起動したり接続したりはしません。Ollama で MCP サーバーを使うには、Ollama をモデルのバックエンドとして使う MCP クライアントを動かします。例えばターミナルの ollmcp、ollama launch 経由の Claude Code や Codex、Goose、Open WebUI などです。そのうえで、ツールに対応したローカルモデルを選びます。

このガイドでは、これらの選択肢を比較し、実際に動くセットアップを順に説明し、最先端モデルをローカルモデルに置き換えたときにつまずきやすい制限をまとめます。試すサーバーがまだなければ、まず MCP サーバーディレクトリをご覧ください。

構成要素の関係

MCP の構成は 3 つの要素からなり、Ollama が担うのはそのうち 1 つだけです。

  1. モデル:いつツールを呼ぶかを決めます。これが Ollama です。
  2. MCP クライアント(ホストとも呼ばれます):MCP サーバーを起動または接続し、ツール一覧をモデルに渡し、呼び出しを実行して結果を返します。Ollama はこれを行いません。
  3. MCP サーバー:ブラウザー、ファイルシステム、GitHub など、実際のツールを提供します。

つまり「Ollama にはどの MCP サーバーを使えばいいか?」という問いは、実は「どのクライアントなら Ollama のモデルが MCP サーバーを使えるか?」という問いです。そのクライアントさえあれば、ディレクトリにあるどの MCP サーバーも使えます。背景知識は MCP の仕組みと MCP クライアントガイドをご覧ください。

選択肢の比較

クライアントインターフェースOllama の使い方MCP トランスポート向いている用途
ollmcpターミナル UIOllama ネイティブ APIstdio、SSE、Streamable HTTP手早いローカルテスト、ツールの選択
Claude Codeターミナルエージェントollama launch claude(Anthropic 互換 API)stdio、HTTP、SSEMCP ツールを使ったコーディング
Codex CLIターミナルエージェントollama launch codex または codex --ossstdio、Streamable HTTPMCP ツールを使ったコーディング
Gooseデスクトップと CLI組み込みの Ollama プロバイダーstdio、Streamable HTTP拡張機能付きの汎用エージェント
Open WebUIWeb チャットOllama バックエンドStreamable HTTP(stdio は mcpo 経由)チーム向けの ChatGPT 風 UI
otermターミナルチャットOllama ネイティブ APIstdio、Streamable HTTP軽量なターミナルチャット

いずれも 2026 年 10 月時点で活発にメンテナンスされています。古いチュートリアルによく出てくる mcphost は GitHub でアーカイブされたため、ここでは外しています。

ステップ 1:ツール対応のモデルを選ぶ

MCP が機能するのは、モデルがツール呼び出しを出力できる場合だけです。Ollama はそうしたモデルに tools タグを付けており、一覧は ollama.com/search?c=tools にあります。執筆時点でこのタグが付いているモデルの例:

モデル取得コマンド備考
Qwen 3ollama pull qwen3:8bOllama 公式のツール呼び出し例で使用。14b、30b、32b もあり
Qwen 3.5ollama pull qwen3.5Ollama の Claude Code ドキュメントで使用
Gemma 4ollama pull gemma4ツール、ビジョン、思考に対応
gpt-ossollama pull gpt-oss:20bOllama の Codex の例で使用。メモリーに余裕があれば 120b
Llama 3.1 / 3.2ollama pull llama3.2:3b小さく速いが、複数ステップのツール利用は苦手

実用的な目安として、小型モデル(1B〜4B パラメーター)は説明の明確なツールを 1 つ呼ぶことはできますが、複数のサーバーが数十個のツールを公開すると混乱しがちです。複数サーバーを使うエージェント的な作業では、20B 以上のほうが明らかに安定します。

コンテキスト長を引き上げる

これは Ollama で MCP が「動かない」最も多い原因です。ツール定義はすべてプロンプトに入りますが、Ollama のデフォルトのコンテキストは VRAM 次第で、24 GiB 未満なら 4k トークン、24〜48 GiB なら 32k、48 GiB 以上なら 256k です。Ollama はエージェントやコーディングツールに少なくとも 64,000 トークンを推奨しています。Ollama アプリの設定のスライダーで変えるか、サーバー起動時に指定します。

OLLAMA_CONTEXT_LENGTH=64000 ollama serve

その後、ollama ps で実際に割り当てられた値(CONTEXT 列)を確認します。

ステップ 2(最速):ターミナルで ollmcp を使う

ollmcp は Ollama 専用に作られた MCP クライアントです。stdio、SSE、Streamable HTTP のサーバーに対応し、ツールのオン・オフを切り替えられ、ツールを呼ぶたびに確認を求めます。

# install
uv tool install --upgrade ollmcp    # or: pip install --upgrade ollmcp

# add MCP servers (saved for future sessions)
ollmcp mcp add playwright -- npx @playwright/mcp@latest
ollmcp mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem ~/Documents

# start a chat with a tool-capable model
ollmcp --model qwen3:8b

セッション内では、/tools でツール選択画面、/model でモデルの切り替え、/hil で人による確認(human-in-the-loop)のオン・オフができます。リモートサーバーも使えます。

ollmcp mcp add --transport http github https://api.githubcopilot.com/mcp/ \
  --header "Authorization: Bearer $YOUR_GITHUB_PAT"

これは個人アクセストークンで接続する GitHub MCP サーバーです。Claude Desktop でサーバーを設定済みなら、ollmcp --claude-desktop でその設定から読み込めます。最初のテストには Playwright MCP サーバーがおすすめです。モデルにページを開いて要約させ、ターミナルでツール呼び出しの様子を確認しましょう。

ステップ 2(コーディング):Ollama で Claude Code や Codex を動かす

Ollama は 2 大コーディングエージェントをローカルモデルで起動でき、どちらも本格的な MCP クライアントです。

Claude Code。 ollama launch claude は Ollama の Anthropic 互換 API を使って Claude Code を起動します。MCP サーバーは通常どおり追加し、Ollama ではなく Claude Code の設定に保存されます。

claude mcp add --transport http context7 https://mcp.context7.com/mcp
ollama launch claude --model qwen3.5

手動で設定する場合、Ollama のドキュメントでは次の変数を使います。

export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_API_KEY=""
export ANTHROPIC_BASE_URL=http://localhost:11434
claude --model qwen3.5

スコープ、OAuth、/mcp については Claude Code MCP ガイドをご覧ください。

Codex CLI。 ollama launch codex(または codex --oss -m gpt-oss:20b)で Codex を Ollama 上で動かせます。MCP サーバーは codex mcp add で ~/.codex/config.toml に追加します。詳しくは Codex MCP 設定をご覧ください。どちらのエージェントも、実用には 64k 以上のコンテキストウィンドウが必要です。

ステップ 2(デスクトップ):Goose

Goose はオープンソースのエージェントで、Ollama プロバイダーを備え、MCP サーバーを「拡張機能(extensions)」として扱います。

  1. Ollama に接続する:Goose Desktop で Settings → Configure Provider を開き、Ollama を探して API ホストが http://localhost:11434 であることを確認します。CLI では goose configure を実行し、Configure Providers → Ollama を選び、qwen3 などのモデル名を入力します。
  2. MCP サーバーを追加する:デスクトップではサイドバーの Extensions を開き、Add custom extension をクリックします。CLI では goose configure → Add Extension を選び、Command-line Extension(stdio)か Remote Extension (Streamable HTTP) を選びます。

拡張機能は ~/.config/goose/config.yaml に保存されます。

ステップ 2(Web UI):Open WebUI

Open WebUI は v0.6.31 から MCP にネイティブ対応しており、モデルには元々 Ollama を組み合わせられます。管理者として次の手順を行います。

  1. Settings → Admin → Integrations を開きます。
  2. External Tool Servers の下で + Add Connection をクリックします。
  3. Type を MCP (Streamable HTTP) にし、サーバーの URL を入力して認証方式(None、Bearer、OAuth 2.1 など)を選びます。
  4. 保存し、チャットでそのツールを有効にします。

ここでのネイティブ MCP は Streamable HTTP のみです。stdio サーバーは mcpo でラップし、OpenAPI のツールサーバーとして公開します。

uvx mcpo --port 8000 --api-key "top-secret" -- your_mcp_server_command

よくある落とし穴が 2 つあります。MCP の URL に OpenAPI タイプを選ばないこと、そしてサーバーの URL はブラウザーだけでなく Open WebUI のバックエンドから到達できる必要があることです。

その他の方法

  • VS Code。 Ollama 拡張機能を入れると、ローカルモデルが VS Code Chat のモデル選択に加わります。MCP サーバーは VS Code 側で設定します(VS Code MCP 設定参照)。エージェントに MCP ツールを呼ばせたいなら、tools タグ付きのモデルを選びましょう。
  • oterm。 Ollama 用のターミナルチャットクライアント(uvx oterm)で、stdio と Streamable HTTP で MCP ツールを使えます。設定は config.json の mcpServers に書きます。
  • 自作クライアント。 Ollama の Python と JavaScript のライブラリはツール呼び出しに対応しているので、公式の MCP SDK と組み合わせられます。サーバーのツール一覧を取得してツール定義として chat() に渡し、MCP セッション経由で呼び出しを実行して結果を返します。SDK 側については Python MCP サーバーガイドが参考になります。

想定しておくべき制限

  • ツール呼び出しの質。 ローカルモデルは最先端モデルよりも、ツールを使わなかったり、引数をでっち上げたり、ループしたりしがちです。ツールを減らし、説明を明確に書くことが何より効きます。MCP ツールディスカバリーもご覧ください。
  • コンテキストの圧迫。 大きなサーバー 1 つで数千トークン分のツールスキーマが加わることもあります。タスクに必要なサーバーだけを有効にしましょう。
  • 速度。 ツールの往復ごとに完全な生成が 1 回走ります。CPU への部分的なオフロード(ollama ps で確認)があると、エージェントのループはかなり遅くなります。
  • ローカル=オフラインではない。 モデルはローカルで動いても、リモートの MCP サーバー(GitHub、Notion など)にはデータが送られます。
  • セキュリティのルールは同じ。 どのモデルでも、ローカルの stdio サーバーはあなたの権限で動作します。確認プロンプトはオンのままにし、MCP セキュリティのベストプラクティスを読んでおきましょう。

トラブルシューティング

症状対処
モデルは答えるがツールを呼ばないモデルに tools タグがないか、コンテキストが小さすぎてツール一覧が入らない。モデルを変えるか OLLAMA_CONTEXT_LENGTH を上げる。
ツール選択が無効になっている(oterm)選んだモデルがツールに非対応。tools タグ付きのモデルを取得する。
エージェントが前のステップを忘れるコンテキスト不足。ollama ps の CONTEXT 列を確認する。
クライアントが Ollama に接続できないollama serve(またはアプリ)が http://localhost:11434 で動いているか確認する。
MCP サーバーが起動しないコマンド(例:npx @playwright/mcp@latest)を手動で実行してエラーを直し、MCP Inspector でテストする。
ツール追加後に Open WebUI が読み込み中のままOpenAPI タイプを選んだか、mcpServers の JSON を貼り付けた。接続を削除し、MCP (Streamable HTTP) として追加し直す。

次のステップ

よくある質問

Ollama は MCP に対応していますか?

Ollama はツール呼び出しに対応していますが MCP クライアントではないため、単体では MCP サーバーに接続できません。ollmcp、Claude Code、Codex、Goose、Open WebUI など、Ollama をモデルのバックエンドとして使う MCP クライアントが必要です。

MCP で使える Ollama のモデルはどれですか?

ollama.com で「tools」タグが付いたモデルなら使えます。例えば qwen3、qwen3.5、gemma4、gpt-oss、llama3.1 や llama3.2 です。複数の MCP サーバーや複数ステップのツール利用では、20B 前後以上の大きなモデルのほうがはるかに安定します。

Ollama のモデルが MCP ツールを呼ばないのはなぜですか?

多くの場合、モデルがツールに非対応か、コンテキストウィンドウが小さすぎてツール定義が入りきりません。tools タグ付きのモデルを選び、OLLAMA_CONTEXT_LENGTH かアプリ設定のスライダーでコンテキスト長を 64k トークン以上にしてください。

Claude Code を Ollama と MCP サーバーで使えますか?

使えます。「ollama launch claude」で Claude Code をローカルまたはクラウドの Ollama モデル上で起動し、いつもどおり「claude mcp add」で MCP サーバーを追加します。MCP サーバーは Claude Code 自身の設定に保存されます。