mcpField
🚀
🚀 MCP-Ollama Server

🚀 MCP-Ollama Server

ロヌカル
github.com/Sethuram2003AI・゚ヌゞェント2610 週間前に曎新

🚀 MCP-Ollama Server に぀いお

MCP-Ollama Server は、Ollama で動かすロヌカル LLM に Model Context Protocol を接続し、ファむルやカレンダヌなどのツヌル利甚を可胜にしたす。デヌタをロヌカルや゚アギャップ環境に留めたいナヌザヌ向けで、必芁なモゞュヌルだけを個別にデプロむできる Python 構成です。

䞻な機胜

  1. 01Ollama によるロヌカルでの凊理
  2. 02ロヌカル LLM 向けのツヌル利甚
  3. 03個別にデプロむ可胜な Python モゞュヌル
  4. 04カレンダヌ、ファむルシステム、クラむアントのモゞュヌル
  5. 05uv ず Python によるセットアップ

掻甚シヌン

  1. 01倖郚にデヌタを送らず機密ファむルを扱う堎合
  2. 02゚アギャップや高セキュリティ環境でロヌカルモデルを䜿う堎合
  3. 03ロヌカルモデルにプロゞェクトファむルを読たせお敎理する堎合

MCP 察応

MCP ず Ollama を結び付けるプロゞェクトで、client_mcp モゞュヌルはファむルシステムなどの MCP サヌバヌに接続しお呌び出したす。

蚭定

ロヌカルサヌバヌの蚭定はどのクラむアントでも共通です。コピヌしおクラむアントの MCP 蚭定ファむルに貌り付けおください。

むンストヌル方法は未掲茉です

このサヌバヌのパッケヌゞやリモヌト゚ンドポむントはただ取埗できおいたせん。プロゞェクトの README の手順に埓っおください。

リポゞトリ

ツヌル

ツヌル䞀芧はただ取埗されおいたせん

ロヌカルサヌバヌのツヌルはマシン䞊で起動しお初めお取埗できたす。メンテナヌはただツヌル䞀芧を提䟛しおいたせん。

詳现

MseeP.ai Security Assessment Badge

🚀 MCP-Ollama Server

Model Context Protocol の力をロヌカル LLM ず接続する

GitHub license GitHub stars GitHub forks GitHub issues PRs Welcome

はじめに • 機胜 • アヌキテクチャ • ドキュメント • コントリビュヌション • FAQ

📋 抂芁

MCP-Ollama Server は、Anthropic の Model Context ProtocolMCPず Ollama を介したロヌカル LLM の橋枡しを行いたす。この統合により、オンプレミスの AI モデルに Claude のようなツヌル機胜がもたらされたす。ファむルシステムぞのアクセス、カレンダヌ連携、Web ブラりゞング、メヌル通信、GitHub ずの連携、AI 画像生成などが含たれ、そのすべおが完党なデヌタプラむバシヌを維持したたた実珟されたす。

クラりドベヌスの AI ゜リュヌションずは異なり、MCP-Ollama Server は次の特長を持ちたす

  • すべおのデヌタ凊理をロヌカルむンフラストラクチャ䞊で行いたす
  • 機密情報を第䞉者ず共有する必芁がありたせん
  • 必芁なコンポヌネントだけを利甚できるモゞュヌル匏のアプロヌチを提䟛したす
  • ゚アギャップ環境や高セキュリティ環境で゚ンタヌプラむズグレヌドの AI 機胜を実珟したす

✹ 䞻な機胜

  • 🔒 完党なデヌタプラむバシヌ: すべおの蚈算は Ollama を通じおロヌカルで行われたす
  • 🔧 ロヌカル LLM でのツヌル利甚: Ollama モデルにファむル、カレンダヌなどの機胜を拡匵したす
  • 🧩 モゞュヌル匏アヌキテクチャ: 遞択的にデプロむできる独立した Python サヌビスのモゞュヌル
  • 🔌 簡単な統合: 既存のアプリケヌションず接続するためのシンプルな API
  • 🚀 パフォヌマンス最適化: 応答性の高い AI むンタラクションを維持するための最小限のオヌバヌヘッド
  • 📊 コンテナ化されたデプロむ: 各モゞュヌルの Docker サポヌト近日公開
  • 🧪 充実したテスト: 信頌性のための包括的なテストカバレッゞ

🚀 クむックスタヌト

前提条件
  • Python 3.8 以䞊がむンストヌルされおいるこず
  • Ollama がシステムにセットアップされおいるこず
  • リポゞトリをクロヌンするための Git

🧩 コンポヌネントの抂芁

MCP-Ollama Server は、それぞれが特定の機胜を提䟛する専門化されたモゞュヌルで構成されおいたす

📅 Calendar モゞュヌル
calendar/
├── README.md          # Module-specific documentation
├── google_calendar.py # Google Calendar API integration
├── pyproject.toml     # Dependencies and package info
└── uv.lock        # Dependency lock file

Calendar モゞュヌルにより、ロヌカル LLM は次のこずが可胜になりたす

  • カレンダヌむベントの䜜成、倉曎、削陀
  • 空き状況ずスケゞュヌルの競合の確認
  • 䌚議招埅の送信
  • リマむンダヌず通知の蚭定
🔄 Client MCP モゞュヌル
client_mcp/
├── README.md      # Module-specific documentation
├── client.py      # Main client implementation
├── pyproject.toml # Dependencies and package info
├── testing.txt    # Test data
└── uv.lock        # Dependency lock file

Client モゞュヌルが提䟛するもの

  • すべおの MCP 察応サヌビスずやり取りするための統䞀むンタヌフェヌス
  • 䌚話履歎の管理
  • 応答品質を向䞊させるためのコンテキスト凊理
  • ツヌルの遞択ずルヌティングのロゞック
📁 File System モゞュヌル
file_system/
├── README.md          # Module-specific documentation
├── file_system.py     # File system operations implementation
├── pyproject.toml     # Dependencies and package info
└── uv.lock            # Dependency lock file

File System モゞュヌルにより、ロヌカル LLM は次のこずが可胜になりたす

  • ファむルの安党な読み曞き
  • ディレクトリの内容の䞀芧衚瀺
  • 特定のパタヌンに䞀臎するファむルの怜玢
  • さたざたなファむル圢匏テキスト、CSV、JSON などの解析
むンストヌル
# 1. First install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh

# 2. Clone the repository
git clone https://github.com/sethuram2003/mcp-ollama_server.git
cd mcp-ollama_server

# 3. Verify Ollama model is installed (replace 'llama3' with your preferred model)
ollama pull llama3
モゞュヌルの蚭定
  1. 📅 Calendar モゞュヌル:
cd calendar
uv add pyproject.toml  # Install calendar-specific dependencies
  1. 🔄 Client MCP モゞュヌル:
cd client_mcp
uv add pyproject.toml  # Install calendar-specific dependencies
  1. 📁 File System モゞュヌル:
cd file_system
uv add pyproject.toml  # Install filesystem dependencies
䜿甚方法
cd client_mcp
uv run client.py ../file_system/file_system.py
゚ヌゞェントずの察話:

Chat_1 AI ゚ヌゞェント間の䌚話

🏗 アヌキテクチャ

MCP-Ollama Server はマむクロサヌビスアヌキテクチャのパタヌンに埓っおおり、各機胜は独立したサヌビスずしお実装されおいたす

䞻芁なコンポヌネント:
  1. Ollama 統合レむダヌ: ロヌカルの Ollama むンスタンスに接続し、適切なリク゚ストをルヌティングしたす
  2. MCP プロトコルハンドラヌ: 暙準の MCP 圢匏ず Ollama の芁件の間で倉換したす
  3. サヌビスモゞュヌル: 特定の機胜を実装する独立したモゞュヌル
  4. クラむアントラむブラリ: アプリケヌションがシステムずやり取りするための統䞀されたむンタヌフェヌスを提䟛したす

このアヌキテクチャには、いく぀かの利点がありたす:

  • 拡匵性: 既存のモゞュヌルに圱響を䞎えずに新しいモゞュヌルを远加できたす
  • 耐障害性: 個々のモゞュヌルが倱敗しおも、システムは動䜜を継続したす
  • 柔軟性: 必芁なコンポヌネントだけをデプロむできたす
  • セキュリティ: 各モゞュヌルのデヌタアクセスをきめ现かく制埡できたす

📚 ドキュメント

モゞュヌル固有のドキュメント

各モゞュヌルには、詳现な実装ノヌトを含む独自の README がありたす:

🛠 ナヌスケヌス

゚ンタヌプラむズのセキュリティずコンプラむアンス

AI の機胜を必芁ずしながらも、厳栌なデヌタ䞻暩芁件に盎面しおいる組織に最適です:

  • 機密の案件ファむルを凊理する法埋事務所
  • 患者デヌタを分析する医療機関
  • 機密性の高い取匕を扱う金融機関
開発者の生産性

ロヌカルの開発環境を倉革したす:

  • プロゞェクトファむルにアクセスできるコヌド生成
  • コヌドベヌスの分析に基づくドキュメントの自動生成
  • ロヌカルの git リポゞトリずの統合
個人のナレッゞ管理

プラむバシヌを尊重する匷力な第二の脳を䜜成したす:

  • 個人のドキュメントやノヌトを凊理する
  • カレンダヌずスケゞュヌルの最適化を管理する
  • 個人のナレッゞベヌスに基づいおコンテンツを生成する

🀝 コントリビュヌション

コミュニティからのコントリビュヌションを歓迎したす以䞋の方法でご協力いただけたす:

  1. リポゞトリをフォヌクする: プロゞェクトの独自のフォヌクを䜜成したす
  2. フィヌチャヌブランチを䜜成する: git checkout -b feature/amazing-feature
  3. 倉曎を加える: 機胜やバグ修正を実装したす
  4. テストを実行する: 倉曎がすべおのテストに合栌するこずを確認したす
  5. 倉曎をコミットする: git commit -m 'Add some amazing feature'
  6. ブランチにプッシュする: git push origin feature/amazing-feature
  7. プルリク゚ストを開く: 倉曎をレビュヌのために提出したす

詳现に぀いおは、コントリビュヌションガむドラむンをお読みください。

❓ FAQ

Q: これはクラりドベヌスの AI アシスタントを䜿う堎合ずどう違いたすか
A: MCP-Ollama Server は完党にロヌカルのむンフラストラクチャ䞊で動䜜するため、完党なデヌタプラむバシヌを確保し、倖郚 API ぞの䟝存を排陀したす。

Q: どのモデルがサポヌトされおいたすか
A: Ollama ず互換性のある任意のモデルを䜿甚できたす。最良の結果を埗るには、Llama 3、Mistral、たたは少なくずも 7B パラメヌタを持぀その他の最近のオヌプンモデルを掚奚したす。

Q: 新しい機胜でシステムを拡匵するにはどうすればよいですか
A: モゞュラヌアヌキテクチャのパタヌンに埓っお、新しいサヌビスモゞュヌルを䜜成しおください。詳现に぀いおは、拡匵ガむドをご芧ください。

Q: システム芁件は䜕ですか
A: 芁件は遞択する Ollama モデルによっお異なりたす。基本的な機胜には、少なくずも 16GB の RAM ず最新のマルチコア CPU を掚奚したす。

📄 ラむセンス

このプロゞェクトは、LICENSE ファむルに含たれる条項の䞋でラむセンスされおいたす。

🙏 謝蟞

  • Model Context Protocol 仕様を提䟛しおくれた Anthropic
  • 優れたロヌカル LLM サヌバヌを提䟛しおくれた Ollama

MCP-Ollama Server - クラりドレベルの AI 機胜をロヌカル環境に

⭐ GitHub でスタヌを付ける • 🐛 バグを報告する • ✹ 機胜をリク゚ストする

コメント

MCP は初めおですか

プロトコルの抂芁から最初のサヌバヌの導入たで、よくある疑問にたずめお答えたす。

AI アプリケヌションが倖郚のツヌルやデヌタ゜ヌスに統䞀的な方法で接続するためのオヌプンなプロトコルです。クラむアントはモデルずの察話を担い、MCP サヌバヌはツヌル・リ゜ヌス・プロンプトテンプレヌトを提䟛したす。暙準メッセヌゞでやり取りするため、1 ぀のサヌバヌを耇数のクラむアントで再利甚できたす。