Создание клиентского приложения для MCP с использованием Gemini: пошаговое руководство


Как создать клиентский протокол Model Context Protocol (MCP) с использованием Gemini

В этом руководстве мы реализуем пользовательский клиент протокола Model Context Protocol (MCP) с использованием Gemini. В конце этого руководства вы сможете подключить свои AI-приложения к серверам MCP, открывая мощные новые возможности для улучшения ваших проектов.

Шаг 1: Установка зависимостей

API Gemini

Мы будем использовать модель Gemini 2.0 Flash для этого руководства. Чтобы получить свой API-ключ Gemini, посетите сайт и следуйте инструкциям. Как только у вас будет ключ, сохраните его в безопасном месте — он потребуется позже.

Некоторые серверы MCP требуют N

Загрузите последнюю версию N с сайта. Запустите установщик и оставьте все настройки по умолчанию для завершения установки.

API Службы национальных парков

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

Установка библиотек Python

В командной строке введите следующий код для установки необходимых библиотек Python:

pip install mcp python-dotenv google-genai

Шаг 2: Настройка файлов конфигурации

Создание файла конфигурации

Создайте файл с именем mcp_config.json. Этот файл будет хранить детали конфигурации о серверах MCP, к которым будет подключаться ваш клиент. После создания файла добавьте следующее начальное содержимое:

{
  "mcpServers": {
    "nationalparks": {
      "command": "npx",
      "args": ["-y", "mcp-server-nationalparks"],
      "env": {
        "NPS_API_KEY": "ваш_ключ"
      }
    }
  }
}

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

Создайте файл .env в той же директории, что и mcp_config.json, и введите следующий код:

GEMINI_API_KEY=ваш_ключ

Шаг 3: Реализация клиента MCP

Теперь мы создадим файл для реализации нашего клиента MCP. Убедитесь, что этот файл находится в той же директории, что и mcp_config.json и .env.

Основная структура клиента

Сначала импортируем необходимые библиотеки и создадим базовый класс клиента.

import asyncio
import json
import os
from typing import List, Optional
from contextlib import AsyncExitStack
from google import genai
from mcp import ClientSession, StdioServerParameters
from dotenv import load_dotenv

load_dotenv()

Выбор сервера MCP

Метод select_server предлагает пользователю выбрать сервер из доступных опций, загружает и подготавливает параметры подключения к выбранному серверу для дальнейшего использования.

Подключение к серверу MCP

Метод connect устанавливает асинхронное соединение с выбранным сервером MCP, инициализирует сессию MCP и получает доступные инструменты с сервера.

Обработка запросов пользователя и вызов инструментов

Метод agent_loop отправляет запрос пользователя в Gemini, обрабатывает любые вызовы инструментов, возвращенные моделью, и выполняет соответствующие инструменты MCP.

Интерактивный чат

Метод chat предоставляет интерфейс командной строки, где пользователи могут отправлять запросы и получать ответы от Gemini.

Очистка ресурсов

Метод cleanup закрывает асинхронный контекст и очищает все открытые ресурсы.

Основная точка входа

Главная логика выполнения программы заключена в методе main.

Шаг 4: Запуск клиента

Запустите следующий код в терминале, чтобы запустить ваш клиент:

python ваш_файл.py

Клиент:

  • Считывает файл для перечисления доступных серверов MCP.
  • Предлагает пользователю выбрать один из перечисленных серверов.
  • Подключается к выбранному серверу MCP с использованием предоставленных конфигурации и настроек окружения.
  • Взаимодействует с моделью Gemini через серию запросов и ответов.
  • Обеспечивает интерфейс командной строки для пользователей.
  • Гарантирует правильное очищение ресурсов по завершении сессии.

AI Image

Преобразование подхода к работе с помощью технологий искусственного интеллекта

Ищите процессы, которые можно автоматизировать. Определите ключевые моменты в взаимодействии с клиентами, где искусственный интеллект может добавить наибольшую ценность.

Выберите инструменты, которые соответствуют вашим потребностям и позволяют настраивать их в соответствии с вашими целями.

Начните с небольшого проекта, соберите данные о его эффективности и постепенно расширяйте использование ИИ в вашей работе.

Если вам нужна помощь в управлении AI в бизнесе, свяжитесь с нами по адресу hello@itinai.ru.

Чтобы быть в курсе последних новостей из мира ИИ, подписывайтесь на наш Telegram.

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


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