MCP Сервер для Ollama
Розумний MCP сервер з інструментами, інтегрований з локальною моделлю Ollama.
📁 Файли
mcp-provider-python/
├── mcp_server.py # MCP сервер з інструментами
├── smart_chat_client.py # 🚀 Розумний клієнт (основне використання)
├── requirements.txt # Залежності Python
└── README.md # Цей файл📋 Вимоги
1. Встановлена Ollama
Завантажте та встановіть Ollama з https://ollama.ai
2. Встановлена Python модель
ollama pull gemma3:4b3. Python залежності
pip install -r requirements.txt🚀 Як Використовувати (Smart Chat Client)
Крок 1: Запустіть Ollama
ollama serveOllama буде запущена на http://localhost:11434
Крок 2: У другому терміналі запустіть клієнт
cd /home/thinkpad/Documents/mcp-provider-python
python3 smart_chat_client.pyКрок 3: Виберіть модель
📋 Доступні моделі Ollama: gemma3:4b, mistral, neural-chat, yi та інші
🎯 Яку модель використовувати? (за замовчуванням 'gemma3:4b'): gemma3:4bКрок 4: Спілкуйтесь з моделлю
💬 Ви (або 'exit' для виходу): Яка погода в Києві?
🤔 Ollama обробляє ваше повідомлення...
[Ітерація 1]
🔧 Використовую інструмент: search_duckduckgo({"query": "погода в Київі сьогодні"})
✅ Результат: 📌 погода Київ: Сьогодні в Київі хмарно, +15°C...
[Ітерація 2] - ОСТАТОЧНА
🤖 Остаточна відповідь Ollama:
В Київі сьогодні хмарно, температура близько 15°C. Рекомендую взяти куртку! 🧥🧠 Як це Працює
- Ви запитуєте модель про щось
- Ollama аналізує ваш запит
- Модель вирішує, які інструменти їй потрібні
- Клієнт автоматично виконує ці інструменти
- Результати повертаються до моделі
- Ollama дає остаточну відповідь українською мовою
🔧 Доступні Інструменти
| Назва | Опис | Параметри |
|---|---|---|
sum | Обчислює суму двох чисел | a (int), b (int) |
multiply | Множить два числа | a (float), b (float) |
get_date | Поточна дата | - |
get_current_time | Поточний час | - |
search_duckduckgo | Пошук в інтернеті | query (str), max_results (int) |
read_notes | Читає notes.txt | - |
📝 Приклади Запитів
💬 Скільки буде 15 помножити на 3?
💬 Яка сьогодні дата?
💬 Яка погода в Львові?
💬 Розкажи мені про Python
💬 Котра година?📝 Додавання Нових Інструментів
У файлі mcp_server.py додайте:
@mcp.tool(name="your_tool", description="Опис вашого інструменту")
def your_function(param: str) -> str:
"""Детальний опис функції."""
return f"Результат для {param}"Модель автоматично буде мати доступ до нового інструменту!
Приклад чату:
🚀 Розумний чат клієнт з інструментами
======================================================================
📋 Доступні моделі Ollama: llama2, mistral, neural-chat, yi та інші
🎯 Яку модель використовувати? (за замовчуванням 'gemma3:4b'):
✅ Завантажено 6 інструментів від MCP сервера
Processing request of type ListToolsRequest
✅ Готово! Тепер модель gemma3:4b може сама викликати інструменти.
======================================================================
======================================================================
💬 Ви (або 'exit' для виходу): Дональд Трамп це?
🤔 Ollama обробляє ваше повідомлення...
[Ітерація 1]
→ Знайден виклик інструменту: search_duckduckgo({'query': 'Who is Donald Trump?', 'max_results': 5})
🔧 Використовую інструмент: search_duckduckgo({'query': 'Who is Donald Trump?', 'max_results': 5})
Processing request of type CallToolRequest
HTTP Request: GET https://api.duckduckgo.com/?q=Who+is+Donald+Trump%3F&format=json&no_html=1&skip_disambig=1 "HTTP/1.1 202 Accepted"
✅ Результат: 📌 Result: Donald John Trump is an American politician, media personality, and businessman who is the...
[Ітерація 2]
🤖 Ollama дала фінальну відповідь (без використання інструментів)
======================================================================
🤖 Остаточна відповідь Ollama:
----------------------------------------------------------------------
Звісно! Дональд Трамп – це американський політик, телевізійний персоналіст та бізнесмен, який був 47-м президентом США. Він належав до Республіканської партії та обіймав посаду президента з 2017 по 2021 рік. Він народився у заможній родині в Нью-Йорку та закінчив Пенсільванський університет у 1968 році. Раніше він керував своєю сім’яною нерухомістю, яка називалася "Trump Organization", і займався будівництвом хмарочосів, готелів, казино та гольф-полів. Також він розпочав бічні проекти, здебільшого ліцензуючи назву "Trump". З 2004 по 2015 рік він був ведучим телешоу "The Apprentice", що допомогло йому стати відомим як мільярдер. Він позиціонувався як політичний «аутсайдер» і переміг на президентських виборах 2016 року кандидатуру Демократичної партії Гілларі Клінтон.
----------------------------------------------------------------------
======================================================================
💬 Ви (або 'exit' для виходу): Яка сьогодні точна дата?
🤔 Ollama обробляє ваше повідомлення...
[Ітерація 1]
Processing request of type CallToolRequest
→ Знайден виклик інструменту: get_date({})
🔧 Використовую інструмент: get_date({})
✅ Результат: 2025-11-19...
[Ітерація 2]
🤖 Ollama дала фінальну відповідь (без використання інструментів)
======================================================================
🤖 Остаточна відповідь Ollama:
----------------------------------------------------------------------
Звісно! Сьогодні 19 листопада 2025 року. 😊
----------------------------------------------------------------------
======================================================================
💬 Ви (або 'exit' для виходу): Що знаходиться у нотатках? опиши коротко
🤔 Ollama обробляє ваше повідомлення...
[Ітерація 1]
→ Знайден виклик інструменту: read_notes({})
🔧 Використовую інструмент: read_notes({})
✅ Результат: «М3ҐАН 2.0» (англ. M3GAN 2.0) — американський науково-фантастичний фільм жахів, продовження картини ...
[Ітерація 2]
Processing request of type CallToolRequest
🤖 Ollama дала фінальну відповідь (без використання інструментів)
======================================================================
🤖 Остаточна відповідь Ollama:
----------------------------------------------------------------------
З радістю! Ось короткий опис того, що міститься в нотатках:
"М3ҐАН 2.0" – це науково-фантастичний фільм жахів, продовження "М3ҐАН", де розповідається про створення нового робота, який має знищити іншого робота. У фільмі з'являються нові персонажі, складні технологічні рішення та багато небезпечних ситуацій. Сюжет розгортається навколо боротьби між людьми та штучним інтелектом, з акцентом на створення нового, більш небезпечного, робота на зразок M3GAN.
----------------------------------------------------------------------
======================================================================
💬 Ви (або 'exit' для виходу): 