mcpField
M
MCP + Ollama Local Tool Calling Example

MCP + Ollama Local Tool Calling Example

ローカル
github.com/rajeevchandraAI・エージェント878 週間前に更新

MCP + Ollama Local Tool Calling Example について

このPythonサンプルは、Ollamaを使うローカルエージェントがMCP経由で関数を呼び出す方法を示します。加算と乗算のツールを公開するMCPサーバーと、Ollamaと連携するクライアントが含まれます。

主な機能

  1. 01OllamaでローカルLLMを実行
  2. 02MCPクライアントでサーバーに接続
  3. 03加算・乗算ツールの公開
  4. 04リクエストに応じたモデルのツール選択

活用シーン

  1. 01ローカルモデルによる加算
  2. 02ローカルモデルによる数値の乗算

MCP 対応

MCPサーバーが`add`と`multiply`ツールをクライアントに公開します。PythonクライアントはツールとユーザーのリクエストをOllamaに送り、モデルが選んだツールを呼び出します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP + Ollama ローカルツール呼び出しの例

このプロジェクトでは、ローカルの AI エージェントが次のものを使用して、ユーザーのクエリを理解し、Python 関数を自動的に呼び出す方法を紹介します。

  • Model Context Protocol(MCP)
  • ローカル LLM(例:Llama3)を実行するための Ollama
  • Python の MCP クライアントとサーバー

🔗 シーケンス図

sequenceDiagram
    participant User
    participant MCP_Client
    participant Ollama_LLM
    participant MCP_Server

    User->>MCP_Client: 1) User types: "What is 5 + 8?"
    MCP_Client->>Ollama_LLM: 2) Send available tools + user query
    Ollama_LLM->>Ollama_LLM: 3) Understand query & tool descriptions
    Ollama_LLM->>Ollama_LLM: 4) Select tool: add(a=5, b=8)
    Ollama_LLM->>MCP_Client: 5) Return tool_call
    MCP_Client->>MCP_Server: 6) Execute add(a=5, b=8)
    MCP_Server-->>MCP_Client: 7) Return result: 13
    MCP_Client-->>User: 8) Show final answer: 13

📚 プロジェクト構成

.
├── math_server.py      # MCP Server exposing add() and multiply() tools
├── ollama_client.py    # MCP Client interacting with Ollama
├── README.md           # Project documentation

🛠️ セットアップ手順

1. 必要なものをインストールする
pip install "mcp[cli] @ git+https://github.com/awslabs/mcp.git" openai==0.28 httpx

Ollama がインストールされ、実行中であることを確認してください。

2. LLM モデルを取得または実行する
ollama run llama3

(実行するモデルがツール呼び出しに対応していることを確認してください。)

3. MCP サーバーを実行する
python math_server.py

サーバーは、次の 2 つのシンプルなツールを公開します。

  • add(a: int, b: int) -> int
  • multiply(a: int, b: int) -> int
4. MCP クライアントを実行する
python ollama_client.py math_server.py
5. 操作する!

クエリの例:

Query: What is 5 + 8?
Response: 13

Query: Multiply 7 and 9
Response: 63

MCP クライアントはクエリと利用可能なツールを Ollama に送信します。LLM は、ツールの説明とユーザーの意図に基づいて、内部で使用するツールを決定します。


🚀 仕組み

  • MCP クライアントが利用可能なツールを一覧表示します。
  • ツールとユーザーのクエリを Ollama LLM に送信します。
  • LLM が最も適したツールを推論します。
  • LLM が tool_call を生成します。
  • MCP クライアントが MCP サーバー経由で関数を呼び出します。
  • 最終結果が返され、表示されます。

✅ 手動でハードコーディングする必要はありません! ✅ すべてローカルで実行できます! ✅ 完全に自律的です!


📢 重要な理由

このパターンを使うと、次のようなスマートなローカル AI エージェントを構築できます。

  • ユーザーの意図を理解する
  • 適切なアクションを動的に選択する
  • 完全にオフラインかつローカルで動作する

次の可能性が広がります。

  • 自律型の開発者
  • ローカルのインテリジェントアシスタント
  • 安全な AI ワークフロー

🏷️ 共有用ハッシュタグ

#MCP #ModelContextProtocol #Ollama #LocalLLM #FunctionCalling #Python #AI #DeveloperTools #AIEngineering #AutonomousAgents

🙌 クレジット


「より賢い AI エージェントは、自分たちがどう考えるかを理解することから始まります!」


次のステップ: Streamlit UI を追加するか、このプロジェクトを Docker 化しましょう 🚀

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。