Itinai.com flat lay of a minimalist ai business toolkit. smal d512725d 5416 4042 96d5 62b63d1987a9 3
Itinai.com flat lay of a minimalist ai business toolkit. smal d512725d 5416 4042 96d5 62b63d1987a9 3

Создание чат-бота с доступом к инструментам с помощью MCP-Use

Легче сразу спросить 💭

AI снижает операционные расходы на 20–40% 📊 за 6 месяцев. А что бы вы сделали с этими деньгами?

Опишите задачу — обсудим, как это можно реализовать у вас.

ИИ автоматизирует 70% рутинных задач 🤖 за 3 месяца. Какие процессы в вашем бизнесе скинуть роботу?
Персонализированные AI-кампании увеличивают клиентскую базу на 30% 📈. Как это работает?
AI-аналитика сокращает ошибки в прогнозах на 50% 📉. Расскажите подробнее!


Введение в MCP-Use

MCP-Use — это библиотека с открытым исходным кодом, которая позволяет подключать любую LLM к любому серверу MCP, предоставляя вашим агентам доступ к инструментам, таким как веб-браузинг и операции с файлами, без необходимости использовать закрытые клиенты. В этом руководстве мы создадим простой чат-бот, который сможет взаимодействовать с инструментами через MCP.

Шаг 1: Настройка окружения

Установка менеджера пакетов uv

Сначала установим менеджер пакетов uv. Для Mac или Linux выполните команду:

curl -LsSf https://astral.sh/uv/install.sh | sh

Для Windows (PowerShell):

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Создание нового каталога и активация виртуального окружения

Создадим новый проект и инициализируем его с помощью uv:

uv init mcp-use-demo
cd mcp-use-demo

Теперь создадим и активируем виртуальное окружение. Для Mac или Linux:

uv venv
source .venv/bin/activate

Для Windows:

uv venv
.venvScriptsactivate

Установка зависимостей Python

Установим необходимые зависимости:

uv add mcp-use langchain-groq python-dotenv

Шаг 2: Настройка переменных окружения

API-ключ Groq

Чтобы использовать LLM от Groq, посетите консоль Groq и сгенерируйте API-ключ. Создайте файл .env в каталоге проекта и добавьте следующую строку:

GROQ_API_KEY=<ВАШ_API_КЛЮЧ>

API-ключ Brave Search

Это руководство использует сервер MCP Brave Search. Получите свой API-ключ Brave Search на сайте: Brave Search API. Создайте файл mcp.json в корне проекта со следующим содержимым:

{
  "mcpServers": {
    "brave-search": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-brave-search"
      ],
      "env": {
        "BRAVE_API_KEY": "<ВАШ_API_КЛЮЧ_BRAVE_SEARCH>"
      }
    }
  }
}

Node JS

Некоторые серверы MCP (включая Brave Search) требуют npx, который поставляется с Node.js. Скачайте последнюю версию Node.js с nodejs.org и выполните установку, оставив все настройки по умолчанию.

Использование других серверов

Если вы хотите использовать другой сервер MCP, просто замените содержимое mcp.json на конфигурацию для этого сервера.

Шаг 3: Реализация чат-бота и интеграция с сервером MCP

Создание файла app.py

Создайте файл app.py в каталоге и добавьте следующий код:

from dotenv import load_dotenv
from langchain_groq import ChatGroq
from mcp_use import MCPAgent, MCPClient
import os
import sys
import warnings

warnings.filterwarnings("ignore", category=ResourceWarning)

Настройка чат-бота

async def run_chatbot():
    load_dotenv()
    os.environ["GROQ_API_KEY"] = os.getenv("GROQ_API_KEY")

    configFile = "mcp.json"
    print("Запуск чат-бота...")

    client = MCPClient.from_config_file(configFile)
    llm = ChatGroq(model="llama-3.1-8b-instant")

    agent = MCPAgent(
        llm=llm,
        client=client,
        max_steps=15,
        memory_enabled=True,
        verbose=False
    )

Реализация чат-бота

    print("-----Интерактивный чат MCP-----")
    print("Введите 'exit' или 'quit' для завершения разговора")
    print("Введите 'clear' для очистки истории разговора")

    try:
        while True:
            user_input = input("Вы: ")

            if user_input.lower() in ["exit", "quit"]:
                print("Завершение разговора....")
                break
           
            if user_input.lower() == "clear":
                agent.clear_conversation_history()
                print("История разговора очищена....")
                continue
           
            print("Ассистент: ", end="", flush=True)

            try:
                response = await agent.run(user_input)
                print(response)
           
            except Exception as e:
                print(f"Ошибка: {e}")

    finally:
        if client and client.sessions:
            await client.close_all_sessions()

Запуск приложения

if __name__ == "__main__":
    import asyncio
    try:
        asyncio.run(run_chatbot())
    except KeyboardInterrupt:
        print("Сессия прервана. До свидания!")
   
    finally:
        sys.stderr = open(os.devnull, "w")

Шаг 4: Запуск приложения

Чтобы запустить приложение, выполните следующую команду:

uv run app.py

Это запустит приложение, и вы сможете взаимодействовать с чат-ботом и использовать сервер в течение сессии.

Заключение

Изучите, как технологии искусственного интеллекта могут трансформировать ваш подход к работе, например, реализуя агента LLM с доступом к инструментам с использованием MCP-Use. Найдите процессы, которые можно автоматизировать, и определите ключевые показатели эффективности (KPI), чтобы убедиться, что ваши инвестиции в ИИ действительно приносят положительный эффект для бизнеса.

Начните с небольшого проекта, собирайте данные о его эффективности и постепенно расширяйте использование ИИ в вашей работе. Если вам нужна помощь в управлении ИИ в бизнесе, свяжитесь с нами по адресу hello@itinai.ru. Чтобы быть в курсе последних новостей ИИ, подписывайтесь на наш Telegram: https://t.me/itinai.

Посмотрите практический пример решения на основе ИИ: продажный бот, предназначенный для автоматизации взаимодействия с клиентами круглосуточно и управления взаимодействиями на всех этапах клиентского пути.


Новости в сфере искусственного интеллекта