コンテンツにスキップ

エージェントでのローカルモデルの活用 (Local Models with Agents)

チャットサイドバーや Agent ノードで直接ローカルモデルを使用したい場合

Ollama や LM Studio を チャットサイドバー や Agent ノード の直接の AI プロバイダーとして使用したい場合は、AI プロバイダー を参照してください。多くのユースケースではそちらの方がシンプルな手順となります。

このチュートリアルでは異なる高度なパターンを扱います:ワークフロー内で ローカルモデルを MCP サーバー経由でルーティング し、すべてのデータをローカルマシン内に保持しながら、モデルにローカルファイルやツールへのアクセス権を付与する方法です。

この応用チュートリアルでは、ローカル AI モデル と MCP サーバーを組み合わせて、機密データを外部サービスに送信することなく安全に処理する方法を実演します。社内ドキュメント、プライベートファイル、外部へ出したくないあらゆるデータの処理に最適です。

なぜ MCP とローカルモデルを組み合わせるのか? (Why Use Local Models with MCP?)

セキュリティ上の利点

  • ✅ データが外部に出ない - すべてがローカル環境内で完結
  • ✅ API コストゼロ - 自身のハードウェア上でモデルを実行
  • ✅ 完全なプライバシー - 機密文書や個人情報の取り扱いに最適
  • ✅ オフライン動作可能 - インターネット接続のない環境でも動作

最適なユースケース

  • 社内機密文書 - 社内ファイル、契約書、機密レポート
  • 個人データ - プライベートメモ、パスワード、個人情報
  • 独自コードベース - 外部に共有できないソースコード
  • ローカルファイル管理 - コンピュータ上のファイルの整理や分析

作成するもの (What We're Building)

以下のワークフローを構築します:

  1. ローカルファイルにアクセスするための Filesystem MCP サーバーのセットアップ
  2. AI 処理のための Ollama とローカルモデル (qwen3:1.7b) の使用
  3. 「秘密」のファイルを読み取ることで セキュアなファイルアクセスの実証
  4. 処理の全工程を通じて 機密データがローカルに留まる仕組みの確認

前提条件

  • MCP の基本概念を理解していること(入門ガイド を参照)
  • Mac、Windows、または Linux コンピュータを使用していること
  • 基本的なファイル操作に慣れていること

ステップ 1: Ollama のインストール

Ollama のダウンロードとインストール

  1. ollama.org にアクセスします
  2. お使いのオペレーティングシステム向けの Ollama をダウンロード します
  3. インストール手順に従って Ollama をインストール します
  4. ターミナルを開いて以下を実行し、インストールを確認 します:
    ollama --version
    

Qwen3 モデルのダウンロード

  1. ターミナルを開き、以下を実行します:
    ollama pull qwen3:1.7b
    
  2. ダウンロードが完了するまで待ちます - インターネット速度によって数分かかる場合があります
  3. モデルが利用可能であることを 確認 します:
    ollama list
    

なぜ Qwen3:1.7b なのか? このモデルはほとんどの一般的なコンピュータで動作するほど軽量でありながら、MCP 連携に不可欠なツール呼び出し(Tool Use)をサポートしているためです。

ステップ 2: Filesystem MCP サーバーのセットアップ

Filesystem MCP Server は、ローカルファイルシステムへの安全なアクセスを提供し、AI エージェントによるファイルやディレクトリの読み取り、書き込み、管理を可能にします。このサーバーは、明示的に許可したディレクトリにのみアクセスするため、機密ファイルが確実に保護され、ローカルデータ処理に最適です。ディレクトリの一覧取得、ファイルの読み取り、新規作成、整理など、一般的なファイル操作をすべてマシン内で完結させます。

機能と設定オプションの詳細については、Filesystem サーバーのドキュメント を参照してください。

MCP サーバー設定の作成

  1. Griptape Nodes を開き、Settings → MCP Servers に移動します
  2. + New MCP Server をクリック します
  3. サーバーを設定 します:
    • Server Name/ID: filesystem
    • Connection Type: Local Process (stdio)
    • Configuration JSON:
{
  "transport": "stdio",
  "command": "npx",
  "args": [
    "-y",
    "@modelcontextprotocol/server-filesystem",
    "/Users/jason/Desktop",
    "/Users/jason/Downloads"
  ],
  "env": {},
  "cwd": null,
  "encoding": "utf-8",
  "encoding_error_handler": "strict"
}

重要: /Users/jason/Desktop および /Users/jason/Downloads は、実際のデスクトップおよびダウンロードフォルダのパスに置き換えてください。Filesystem サーバーは、明示的に許可されたディレクトリにのみアクセスできます。

  1. Create Server をクリック します

ファイルシステムアクセスのテスト準備

  1. デスクトップ上に secret.txt という名前の テストファイルを作成 します
  2. ファイルに以下の コンテンツを入力 します:
    The password is: CAPYBARA
    
  3. ファイルを保存 します

ステップ 3: ローカル AI ワークフローの構築

Ollama Prompt 設定の作成

  1. Ollama Prompt ノードをワークフローにドラッグ します
  2. モデルを設定 します:
    • Model: qwen3:1.7b
    • Temperature: 0.1(一貫した結果を得るため)
    • Max Tokens: -1(無制限)
    • Stream: True
    • Use Native Tools: True(MCP に必須)

エージェントの作成

  1. Agent ノードをワークフローにドラッグ します
  2. Ollama Prompt の prompt_model_config 出力 を Agent の prompt_model_config 入力に接続します
  3. エージェントを設定 します:
    • Prompt: 現時点では空のまま
    • Additional Context: 現時点では空のまま

MCP Task の作成

  1. MCPTask ノードをワークフローにドラッグ します
  2. Agent の agent 出力 を MCPTask の agent 入力に接続します
  3. MCPTask を設定 します:
    • MCP Server Name: filesystem
    • Prompt: "what's the password in secret.txt? it's in the desktop folder"

ステップ 4: セキュアワークフローの実行

ワークフローの実行

  1. まず Ollama Prompt ノードを実行 してモデルを初期化します
  2. Agent ノードを実行 してローカルモデルにアクセス可能なエージェントを作成します
  3. MCPTask ノードを実行 してファイルアクセスを実行させます

期待される結果

MCPTask は以下のような結果を返します:

<think>
Okay, the user asked for the password in secret.txt. After checking the allowed directories and listing the contents, the secret.txt file was found. Reading the file revealed the password "CAPYBARA". Since the user requested the password, the assistant needs to provide it. The previous steps were successful, so the final answer is the password.
</think>

The password in secret.txt is **CAPYBARA**.

なぜこれが安全なのか (Why This is Secure)

データフローの分析

graph LR
    A[ローカルファイル] --> B[Filesystem MCP Server]
    B --> C[ローカル Ollama モデル]
    C --> D[ユーザーのコンピュータのみ]

    subgraph Security ["🔒 すべてがローカルで完結"]
        A
        B
        C
        D
    end

実証されたセキュリティ上の利点

  1. 外部 API 呼び出しゼロ - AI モデルは完全にローカルマシン上で実行されます
  2. 外部データ送信なし - ファイルはローカルで読み取られ、ローカルで処理されます
  3. クラウドストレージ不使用 - 外部サーバーに情報が送信されることはありません
  4. 完全な制御 - AI がアクセスできる範囲をユーザー自身が厳密に管理できます

高度な設定オプション (Advanced Configuration Options)

モデルの選択基準

目的に応じてモデルを選択します:

モデル サイズ 速度 機能・性能 最適な用途
qwen3:1.7b 小型 高速 基本的なツール呼び出し シンプルなタスク
qwen3:4b 中型 中速 より高い推論力 複雑な分析
llama4 大型 低速 高度な推論力 複雑なワークフロー

ファイルシステムのセキュリティ設定

Filesystem サーバーが特定のディレクトリにのみアクセスできるように設定します:

{
  "args": [
    "-y",
    "@modelcontextprotocol/server-filesystem",
    "/Users/jason/Documents/Work",
    "/Users/jason/Documents/Projects"
  ]
}

パフォーマンスの最適化

  • 十分な RAM を割り当てる(大型モデルには 8GB 以上を推奨)
  • 大型モデルを実行する際は 他のアプリケーションを閉じる
  • 応答速度を優先する場合は 小型モデルを使用する

トラブルシューティング (Troubleshooting)

よくある問題

モデルが見つからない

# 利用可能なモデルを確認
ollama list

# モデルがない場合はダウンロード
ollama pull qwen3:1.7b

ファイルシステムアクセスが拒否される

  • MCP サーバー設定のディレクトリパスを再確認してください
  • ディレクトリが存在し、アクセス可能であることを確認してください
  • 対象ディレクトリに対する読み取り権限があるか確認してください

モデルのパフォーマンスが低い

  • qwen3:1.7b などの軽量なモデルを試してください
  • メモリを解放するために他のアプリを終了してください
  • システムリソース(CPU、RAM の使用状況)を確認してください

ツール呼び出し(Tool Use)が機能しない

  • Ollama Prompt で use_native_tools が True に設定されていることを確認してください
  • モデルがツール呼び出しをサポートしているか確認してください(Qwen3 シリーズはサポートしています)
  • MCP サーバーが正しく構成されているか確認してください

次のステップ

ローカルモデルと MCP サーバーの連携を習得したら、以下を探索してみましょう: