mcpField
M
MCP-Ollama Client

MCP-Ollama Client

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

MCP-Ollama Client について

MCP-Ollama Clientは、Ollamaのローカルモデルを使うコマンドラインのチャットクライアントです。設定した複数のMCPサーバーを起動してツールを統合し、名前にプレフィックスを付けて衝突を防ぎます。

主な機能

  1. 01Ollamaによるローカルモデル利用
  2. 02設定ファイルから複数サーバーを起動
  3. 03ツールの統合と名前のプレフィックス付け
  4. 04オフラインでの自然言語対話

活用シーン

  1. 01オフラインでローカルモデルに質問
  2. 021つのセッションで複数サーバーを利用
  3. 03ファイルやデータベースのサーバーから情報を取得

MCP 対応

config.jsonに記載されたstdio対応のMCPサーバーを起動してツールを取得・統合し、モデルが呼び出すサーバーを選択します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

MCP-Ollama Client

ローカルの Ollama 経由で動作する、小規模なコマンドラインチャットクライアントです。

  1. ローカル LLM を使って完全にオフラインで動作します
  2. 任意の数の Model-Context-Protocol(MCP)サーバーと通信します。すべてを 1 つの config.json で定義します。

起動時にクライアントはすべてのサーバーを起動し、ツールスキーマを取得して、ツール名にプレフィックス(postgres.*、filesystem.* など)を付け、統合したリストをモデルに渡します。 各ユーザーリクエストでどのサーバーを呼び出すかは、LLM が判断します。


機能

機能説明
ローカル LLM を優先デフォルトのモデルは qwen3:14b ですが、Ollama が公開している関数呼び出し対応モデルなら、どれでも動作します。クラウドキーは不要です。
複数サーバーをすぐに利用可能Postgres、filesystem、または独自の MCP サーバーを同時に実行でき、すべて config.json で定義します。
衝突しないツール名ツールは <server>.<tool> として公開されるため、名前が衝突することはありません。

必要条件

コンポーネントテスト済みバージョン
Python≥ 3.12
Ollama≥ 0.8.0
MCP サーバーstdio トランスポートに対応するものすべて

クイックスタート

# 1. clone
git clone https://github.com/Nagharjun17/MCP-Ollama-Client.git
cd mcp-ollama-client

# 2. set up environment
uv venv
source .venv/bin/activate
uv pip sync pyproject.toml         # or: uv pip install -r uv.lock

# 3. pull a local model
ollama pull qwen3:14b

# 4. edit Model Name, DATABASE_URI etc. in config.json and download required MCP Servers. In my case:
uv pip install postgres-mcp

# 5. run
uv run client.py

起動ログの例:

🔌 Starting MCP server: postgres
🔌 Starting MCP server: filesystem
🛠️  Aggregated tools: ['postgres.list_schemas', 'filesystem.read_file', ...]
>>>

MCP クライアントの起動

自然言語でクエリを入力すると、公開されたツールをいつ、どのように呼び出すかをモデルが判断します。


config.json の形式

{
  "llm": {
    "model": "qwen3:14b",
    "temperature": 0.7,
    "max_tokens": 2048
  },

  "mcpServers": {
    "postgres": {
      "command": "postgres-mcp",
      "args": ["--access-mode=restricted"],
      "env": {
        "DATABASE_URI": "postgresql://user:pass@localhost:5432/db"
      }
    },

    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/mnt/smbshare/"
      ]
    }
  }
}
  • mcpServers の下にあるキーがプレフィックス(postgres.*、filesystem.*)になります。*

各サーバーは独立した stdio サブプロセスとして起動します。

client.py に手を加えずに、サーバーを追加または削除できます。*

すべてローカルに保たれ、すべてを 1 つのファイルで設定できます。

コメント

MCP は初めてですか?

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

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