MCP-Ollama Client について
MCP-Ollama Clientは、Ollamaのローカルモデルを使うコマンドラインのチャットクライアントです。設定した複数のMCPサーバーを起動してツールを統合し、名前にプレフィックスを付けて衝突を防ぎます。
主な機能
- 01Ollamaによるローカルモデル利用
- 02設定ファイルから複数サーバーを起動
- 03ツールの統合と名前のプレフィックス付け
- 04オフラインでの自然言語対話
活用シーン
- 01オフラインでローカルモデルに質問
- 021つのセッションで複数サーバーを利用
- 03ファイルやデータベースのサーバーから情報を取得
MCP 対応
config.jsonに記載されたstdio対応のMCPサーバーを起動してツールを取得・統合し、モデルが呼び出すサーバーを選択します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP-Ollama Client
ローカルの Ollama 経由で動作する、小規模なコマンドラインチャットクライアントです。
- ローカル LLM を使って完全にオフラインで動作します
- 任意の数の 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', ...]
>>>

自然言語でクエリを入力すると、公開されたツールをいつ、どのように呼び出すかをモデルが判断します。
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 つのファイルで設定できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。