tva
← Insights

Web検索機能付きローカルAIアシスタントの構築:MCP + Ollamaセットアップ

データのプライバシーを保ちながら、ローカル言語モデルとWeb検索機能を組み合わせる方法

ビジネス利用のためのAIツールのセットアップは、利便性とプライバシーの間での選択を意味することがよくあります。クラウドベースのソリューションは使いやすいですが、データを外部に送信します。ローカルソリューションはすべてを手元に保持しますが、セットアップや機能追加が複雑になることがあります。

本日は、その両方を実現する実用的なAIセットアップの構築方法をご紹介します。必要に応じてWeb検索ができるローカル言語モデルを、すべての会話と処理を自分のハードウェア上で実行しながら構築します。このアプローチは、n8n自動化プラットフォームのセルフホスティングで完全なワークフロー制御を実現する方法をお見せしたのと同様に、当社のセルフホスティングソリューションの哲学と完全に一致しています。

使用するツール

まず、各パーツの役割を理解しましょう:

Ollama:ローカルAIエンジン

Ollamaは、自分のコンピューター上で大規模言語モデルを実行するソフトウェアです。OpenAIや他のクラウドプロバイダーにデータを送信することなく、ChatGPTのような機能を利用できる方法と考えてください。モデルのダウンロード、メモリ管理、シンプルなAPIを通じたモデルの提供を処理します。

最大の利点は?すべてがローカルに留まります。質問、AIの回答、すべての処理がお使いのマシン上で完全に行われます。これは、機密性の高いビジネスディスカッション、独自の情報、または単に月額AIサブスクリプション費用を避けたい場合に重要です。

Model Context Protocol(MCP):機能の追加

言語モデルは会話や推論には優れていますが、自力ではWebを閲覧したり、ファイルを読んだり、他のシステムと対話したりすることはできません。Model Context Protocol(MCP)は、AIモデルに外部ツールへのアクセスを提供する標準化された方法を提供することで、この問題を解決します。

MCPはAIモデルと他のソフトウェアの間のユニバーサルトランスレーターと考えてください。AIにWeb検索をさせたいですか?そのためのMCPサーバーがあります。データベースを読み取らせる必要がありますか?別のMCPサーバーがあります。プロトコルをセットアップすれば、新しい機能の追加がはるかに簡単になるのが魅力です。

mcphost:信頼性の高い接続

ここからが実践的な部分です。MCPは標準ですが、実際にローカルAIモデルをMCPサーバーに接続するソフトウェアが必要です。mcphostはまさにこれを行い、確実に動作します。

最初は他のオプション(ollmcpなど)を試しましたが、接続タイムアウトや設定の煩わしさが絶えずありました。mcphostはすべてを自動検出しようとする代わりに明示的な設定ファイルを使用するため、実際のシナリオで確実に動作します。

DuckDuckGo MCPサーバー:プライベートWeb検索

Web検索機能には、DuckDuckGo MCPサーバーを使用しています。これにより、ローカルAIがDuckDuckGoのAPIを通じてWeb検索を実行できます。DuckDuckGoはユーザーを追跡したり検索履歴を保存したりしないため、プライバシー重視のローカルセットアップへの完璧な補完です。

uv:Python環境管理

uvは、分離された環境の作成と依存関係の管理を処理する高速なPythonパッケージマネージャーです。システム上の他のPythonプロジェクトに干渉することなく、DuckDuckGo MCPサーバーをクリーンに実行するために使用します。

すべてがどのように連携するか

ローカルAIに何かを検索させる場合のフローは以下の通りです:

  1. “eコマース規制の最近の動向を検索して”のような質問を入力します
  2. mcphostがメッセージを受信し、ローカルのOllamaモデルに転送します
  3. モデルは検索が必要であることを認識し、MCPプロトコルを通じてDuckDuckGo MCPサーバーを呼び出します
  4. MCPサーバーがDuckDuckGoを検索し、結果を返します
  5. ローカルモデルが検索結果を処理し、包括的な回答を提供します
  6. 実際のWeb検索クエリを除き、すべてがお使いのマシン上に留まります

セットアップ:実践的な手順

基盤の準備

まず、ツール呼び出しをサポートするモデルでOllamaを実行する必要があります。機能とスピードのバランスが良いqwen3:30b-a3bをお勧めします:

# Install and start Ollama
ollama pull qwen3:30b-a3b
ollama serve

mcphostのインストール

mcphostはGoで書かれているため、まずGoが必要です:

# On macOS
brew install go

# On Ubuntu/Debian
sudo apt install golang-go

# Install mcphost
go install github.com/mark3labs/mcphost@latest

# Make sure it's in your PATH
export PATH=$PATH:$(go env GOPATH)/bin

DuckDuckGo検索のセットアップ

DuckDuckGo MCPサーバーをクローンしてセットアップします:

git clone https://github.com/example/duckduckgo-mcp-server
cd duckduckgo-mcp-server
pip install uv  # if you don't have it
uv sync

実際に動作する設定

~/.mcphost.jsonに設定ファイルを作成します:

{
  "mcpServers": {
    "duckduckgo-search": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/path/to/your/duckduckgo-mcp-server",
        "python",
        "src/duckduckgo_mcp_server/server.py"
      ]
    }
  }
}

/path/to/your/duckduckgo-mcp-serverをリポジトリをクローンした実際のパスに置き換えてください。

新しいAIアシスタントの使い方

すべてが実行されたら、いくつかの方法でAIと対話できます:

インタラクティブチャット

# Start a conversation
mcphost -m ollama:qwen3:30b-a3b

継続的な会話ができ、必要に応じてWeb検索を依頼できるチャットインターフェースが表示されます。

ワンショットの質問

# Get a quick answer
mcphost -m ollama:qwen3:30b-a3b -p "Search for information about EU data privacy laws"

自動化スクリプト

# Save results to a file
mcphost -m ollama:qwen3:30b-a3b -p "Search for competitors in the bowling equipment market" --quiet > research.txt

このセットアップで実際にできること

リサーチとファクトチェック

ビジネスに関連するトピックの最新情報を検索するようAIに依頼できます。DuckDuckGoを使用しているため、追跡なしで適切なWeb検索結果が得られます。

コンテンツリサーチ

“持続可能なパッケージングの最近のトレンドを検索”と指示すると、モデルがトレーニングに基づいて分析・要約できる最新情報が得られます。

競合インテリジェンス

“[競合他社名]に関するニュースを検索し、最近の活動を要約して”と指示すると、リサーチの関心事を非公開にしながら最新情報が得られます。

技術的な問題解決

“APIレート制限の問題に対する解決策を検索”と指示すると、最新のベストプラクティスやコード例を見つけるのに役立ちます。

n8nとの接続:ワークフロー自動化とAIの融合

ここからが本当に興味深い部分です。n8nをセルフホスティングしてワークフロー自動化を行う方法をお見せしたように、このローカルAIセットアップは自動化ワークフローに統合できます。

n8nワークフローを通じてローカルAIをトリガーすることを想像してください:

  • 自動リサーチ: 業界ニュースを検索してサマリーをまとめる日次ワークフロー
  • コンテンツ生成: カレンダーイベントやフォーム送信に基づいてトリガーされるコンテンツ作成
  • データ分析: アップロードされたドキュメントのAIインサイトによる自動処理
  • カスタマーサポート: 人間のレビュー前にサポートチケットをローカルAIで処理

セルフホスティングのn8nとローカルAIの組み合わせは、データがインフラストラクチャを離れない強力な自動化スタックを作成します。完全なプライバシー管理のもと、自動化の利便性を享受できます。

将来の統合の可能性

これらのシステムを接続するいくつかの方法を検討しています:

  • n8nが呼び出せるローカルAIからのHTTPエンドポイント
  • n8nがドキュメントに対するAI処理をトリガーするファイルベースの統合
  • AI結果が自動化されたビジネスプロセスにフィードされるデータベースワークフロー
  • ローカルAIが回答の起草とパーソナライズを支援するメール自動化

WordPress自動化ツールがコンテンツ管理を効率化するのと同様に、ローカルAIとn8nワークフローの組み合わせは、データ主権を維持しながら複雑なビジネスプロセスを自動化できます。

実際のメリット

本当に重要なプライバシー

ビジネスの会話、社内ディスカッション、戦略的思考はすべてお使いのハードウェアに留まります。外部に出るのはWeb検索クエリのみ(プライバシー重視のDuckDuckGoを通じて)であり、それらには検索の理由に関するコンテキストは含まれません。

月額料金なし

初期セットアップ後は、継続的なAIサブスクリプション費用はかかりません。すべてを自分のハードウェアで実行しています。n8nのセルフホスティングが高価なSaaSワークフローツールの費用を節約するのと同様です。

信頼性の高いパフォーマンス

適切な設定を行えば、このセットアップは驚くほど安定しています。“AIサービスがダウンしている”や“月間上限に達した”といった問題はもうありません。

カスタマイズ可能で拡張可能

データベース検索を追加したいですか?ファイル読み取り?カスタムビジネスロジック?MCPエコシステムにより新しい機能の追加が簡単になり、n8nワークフローとの最終的な統合により無限の自動化の可能性が開かれます。

よくある問題と解決策

“Command Not Found”エラー

GoのバイナリディレクトリがPATHに含まれていることを確認してください:

echo 'export PATH=$PATH:$(go env GOPATH)/bin' >> ~/.zshrc
source ~/.zshrc

接続タイムアウト

通常、MCPサーバーが正しく起動していないことを意味します。手動でテストしてください:

cd /path/to/duckduckgo-mcp-server
uv run python src/duckduckgo_mcp_server/server.py

モデルがツール呼び出しに応答しない

関数呼び出しをサポートするモデルを使用していることを確認してください。すべてのOllamaモデルにこの機能が組み込まれているわけではありません。

パフォーマンスが遅い

ハードウェアが限られている場合は、より小さなモデル(qwen3:7bなど)の使用を検討するか、より高速な応答のためにtemperature設定を調整してください:

mcphost -m ollama:qwen3:7b --temperature 0.3 -p "your question"

インフラストラクチャの考慮事項

n8nのようなセルフホスティングサービスをすでに実行している場合は、同じインフラストラクチャ上でこれをホスティングすることを検討してみてください。Hetzner Cloud上のn8nで説明したセットアップは、Ollamaも簡単に対応できます。言語モデル用により多くのRAMとCPUが必要になるだけです。

典型的なセットアップには以下が含まれます:

  • 大規模モデルに必要なリソースのためのHetzner CCX42または同等のもの
  • n8nと並行した簡単な管理のためのDockerコンテナ化
  • セキュアなアクセスのためのTraefikリバースプロキシ(リモートアクセスが必要な場合)
  • モデルとワークフローデータ用の共有ストレージ

セットアップ時間に見合うか?

ビジネスタスクにAIを定期的に使用し、プライバシーを重視するなら、間違いなく価値があります。初期セットアップには数時間かかりますが、最終的に以下のような有能なAIアシスタントが手に入ります:

  • オフラインで動作(Web検索を除く)
  • データをサードパーティに送信しない
  • セットアップ後の運用コストがゼロ
  • 必要に応じて追加機能で拡張可能
  • 既存のセルフホスティングインフラストラクチャと統合可能

機密情報を扱うチームや規制産業で事業を行うチームにとって、このセットアップはクラウドサービスのコンプライアンスの煩わしさなしにAI機能を提供します。

ローカル処理と選択的なWebアクセスの組み合わせは、純粋なクラウドまたは純粋なローカルソリューションのいずれでも達成困難な、機能とプライバシーの実用的なバランスを実現します。そしてワークフロー自動化を組み合わせると、本当に洗練されたビジネス自動化の基盤を構築でき、すべてがお客様のコントロール下に置かれます。

次のステップ

ローカルAIセットアップとワークフロー自動化プラットフォームのより深い統合に積極的に取り組んでいます。今後の投稿では以下をカバーする予定です:

  • n8n + Ollamaを組み合わせたセットアップのDocker設定
  • ビジネス固有のデータソース用のカスタムMCPサーバー
  • 一般的なビジネスプロセスにローカルAIを活用するワークフローテンプレート
  • 本番デプロイのためのセキュリティ強化

ビジネス自動化の未来は、既存のサービスを接続するだけではありません。すべてをお客様のコントロール下に保ちながら、お客様に代わって推論し、調査し、行動できるインテリジェントなシステムを持つことです。


セットアップ中に問題が発生した場合や、特定のユースケースに合わせてこの設定を拡張したい場合は、当社の標準サポートチャネルを通じてお手伝いいたします。