Что такое MCP сервер и как его настроить для Claude и ChatGPT
В статье разберем простой способ поднять локальный MCP-сервер для Claude Desktop и ChatGPT, чтобы настроить взаимодействие ИИ с Google Search Console. Статья будет интересна SEO и DevOps специалистам.
Меню:
Что такое Model Context Protocol (MCP)
Model Context Protocol (MCP) - открытый протокол от Anthropic (создатель Claude), который унифицирует подключение ИИ с внешними системами, API, базами данных, файловой системой и пр., позволяя ИИ-моделям получать актуальный контекст из других сервисов и выполнять с ними какие-либо действия.
Как это работает? Клиент (приложение, либо веб-сервис) отправляет запрос к ИИ, а тот, используя протокол MCP, запрашивает у MCP-сервера нужные инструменты (функции/API) и данные, которые тот получает от удаленных сервисов и формирует ответ в окне клиента. Если интересно углубиться в технические детали, то можно почитать официальную документацию илинапример, эту статью.
У Claude есть огромное количество уже готовых коннекторов для взаимодeйствия с определёнными сервисами и данными, которые включаются по кнопке в клиенте, но там пока нет сервера для Google Search Console. Так же у Claude есть каталог доступных MCP-серверов с инструкциями по настройки.
В данной статье мы создадим MCP-сервер на MacOS для взаимодействия с Google Search Console и формированию отчетов по результатам запросов.
Настройка Google Search Console API
Прежде всего необходимо создать API ключи в Google Search Console (далее GSC), который будет давать права доступа в этот сервис.
Заходим в Google Cloud Console.
Создаем проект (или выбери существующий):
Меню "Select a project" → "New Project"
Вводим любое название, например "mcp-gsc", организацию и локацию (если они есть) и жмем "Сreate".
Заходим в созданный проект, нажав на "Select Project":
Далее заходим в меню APIs & Services (либо, "Explore and enable APIs".) → Library. Ищем "Google Search Console API", заходим в него и жмем Enable.
Далее создаем Credentials.
На этом этапе должен быть настроен OAuth consent. Если этого не сделано, то заходим в:
APIs & Services → OAuth consent screen
User Type: External
App name: MCP GSC
User support email: email вашего пользователя
Developer contact: email вашего пользователя
Save and Continue
Test users (Audience → Test users → Add users): email вашего пользователя (пока app в Testing mode)
В появившемся окне в поле Application type выбираем "Desktop app", далее придумываем имя и после этого нажимаем Create.
В окне "OAuth client created" скачиваем JSON по кнопке "Download JSON". И сохраняем любую папку. Для примера, я создал ~/mcp-gsc-claude, в ней и буду производить дальнейшие действия. После сохранения, путь до файла будет такой:
~/mcp-gsc-claude/gsc-oauth-credentials.json.
Отлично! Далее приступим к настройки ИИ-клиентов.
Настройка Claude
Настроим локальный MCP-сервер и подключим его к приложению Claude Desktop.
! Перед тем как приступить к установки mcp-сервера, у вас должна быть установлена версия python 3.11 и выше.
Устанавливаем mcp-gsc сервер в нашу папку и подготавливаем окружение с нужными зависимостями:
Далее, создаем файл когнфигурации для Desktop Claude:
Запускаем Claude Desktop (если ранее клиент был открыт - перезапускаем через "cmd + q").
Если при запуске появится такое сообщение
значит что-то пошло не так. Скорее всего установили неверный путь до файла gsc-oauth-credentials.json. Нажмите на кнопку "Open developer settings" в сообщении и посмотрите логи (logs) вашего MCP сервера (gsc). Если видите ошибки типа, то попробуйте пересоздать окружение:
Если при запуске клиента никаких сообщений нет, то значит всё хорошо и в браузере откроется окно с разрешением авторизации через почту привязанную к гугл аккаунту. После разрешения, появится такая надпись:
Возвращаемся в клиент Claude. Можем проверить, что MCP сервер запущен: Setting → Developer. В списке "Local MCP servers" должен появиться наш сервер с названием "gsc" и статусом "Running".
Теперь можно использовать промпты, например:
Done.
Настройка ChatGPT
Здесь установка будет несколько сложней, так как он не умеет работать с локальным сервером напрямую. Нам придется запустить его у себя на устройстве, опубликовать в сети через HTTPS и подключить в Сhatgpt Web-UI (сайт). Советую арендовать для этого простенький VPS сервер и уже на нем производить все эти действия. Это даст более стабильное соединение (на локальном устройство запросы часто возвращают ошибку 500), а так же вариант при котором настрои и запустил сервер один раз и забыл о нем, не нужно будет запускать его каждый раз когда нужно поработать.
Итак, создадим отдельную папку, например mcp-server-chargpt, скопируем туда ключ от Google API (gsc-oauth-credentials.json), который мы получили, когда настраивали Claude и склонируем репозиторий с готовым mcp-gsc-proxy сервером:
Далее вводим команду, которая создаст скрипт для получения токена, необходимого для получения доступа к GSC:
Запускаем его один раз и получаем токен:
в дальнейшем этого делать не надо будет, он обновиться автоматически. Теперь в папке ~/mcp-gsc-chatgpt/mcp-gsc/ есть файл с нужным нам токеном - token.json.
Теперь устанавливаем docker отсюда, либо так:
Создаем файл docker-compose.yml через эту команду:
Запускаем:
В дальнейшем, если понадобиться поднять или перезапустить сервер, вам не нужно делать ничего кроме это команды. Единственный важный момент - при перезапуске cloudflared-tunnel поменяет внешний адрес (URL). Чтобы узнать актуальный URL вводим команду:
Из примера видно, что внешний адрес выглядит так:
https://designer-containers-assignments-organizational.trycloudflare.com
Идем на сайт chartgpt.com. Нажимаем на имя профиля (слева внизу), заходим в
Settings → Apps → Advanced → Включаем Developer mode.
Далее, в том же меню нажимаем "Create App" и заполняем данные так же как на картинке ниже.
ВАЖНО - Когда будете вставлять наш URL в поле "MCP Server URL, то обязательно в конце добавьте "/mcp", то есть итоговый адрес для нашего сервера должен получиться такой: https://designer-containers-assignments-organizational.trycloudflare.com/mcp
Нажимаем "Create". После некоторых раздумий СhatGPT создаст новый коннектор/приложение (раньше они назывались "Connectors", сейчас "Apps").
Далее создаем новый диалог:
нажимаем на "+" → "... More" и выбираем наш сервер.
Примеры промптов
Если не знаете с чего начать, то можете попросить ИИ составить примеры промптов:
"Напиши общие примеры промптов, которые я могу задавать этому mcp-серверу"
Как видите, ничего сложного нет. Если у вас возникли трудности или какие-то вопросы по теме - можете писать в комментариях. Если вам интересна тема devops и blockchain, то можете подписаться на мой телеграмм канал: @art_of_chain.
Там я пишу заметки о блокчейне от DevOps специалиста. От базовых знаний до глубоких технических разборов. Без криптотрейдинга и шиткоинов — только docker, helm и здравый смысл.
Иногда про жизнь вне терминала.
Всем удачи!