Что такое MCP сервер и как его настроить для Claude и ChatGPT

Что такое MCP сервер и как его настроить для Claude и ChatGPT

В статье разберем простой способ поднять локальный MCP-сервер для Claude Desktop и ChatGPT, чтобы настроить взаимодействие ИИ с Google Search Console. Статья будет интересна SEO и DevOps специалистам.

Меню:

Что такое Model Context Protocol (MCP)

Model Context Protocol (MCP) - открытый протокол от Anthropic (создатель Claude), который унифицирует подключение ИИ с внешними системами, API, базами данных, файловой системой и пр., позволяя ИИ-моделям получать актуальный контекст из других сервисов и выполнять с ними какие-либо действия.

Что такое MCP сервер и как его настроить для Claude и ChatGPT

Как это работает? Клиент (приложение, либо веб-сервис) отправляет запрос к ИИ, а тот, используя протокол 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 сервер и как его настроить для Claude и ChatGPT

Вводим любое название, например "mcp-gsc", организацию и локацию (если они есть) и жмем "Сreate".

Что такое MCP сервер и как его настроить для Claude и ChatGPT

Заходим в созданный проект, нажав на "Select Project":

Что такое MCP сервер и как его настроить для Claude и ChatGPT

Далее заходим в меню APIs & Services (либо, "Explore and enable APIs".) → Library. Ищем "Google Search Console API", заходим в него и жмем Enable.

Что такое MCP сервер и как его настроить для Claude и ChatGPT

Далее создаем Credentials.

Что такое MCP сервер и как его настроить для Claude и ChatGPT

На этом этапе должен быть настроен 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.

Что такое MCP сервер и как его настроить для Claude и ChatGPT

В окне "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 сервер в нашу папку и подготавливаем окружение с нужными зависимостями:

cd ~/mcp-gsc-claude/ git clone https://github.com/AminForou/mcp-gsc.git cd mcp-gsc python3 -m venv .venv source .venv/bin/activate python3 -m pip install --no-user -r requirements.txt

Далее, создаем файл когнфигурации для Desktop Claude:

# Вместо <USERNAME> поставьте ваше имя пользователя в системе cat > ~/Library/Application\ Support/Claude/claude_desktop_config.json << 'EOF' { "mcpServers": { "gsc": { "command": "/Users/<USERNAME>/mcp-gsc-claude/mcp-gsc/.venv/bin/python", "args": ["/Users/<USERNAME>/mcp-gsc-claude/mcp-gsc/gsc_server.py"], "env": { "GSC_OAUTH_CLIENT_SECRETS_FILE": "/Users/<USERNAME>/mcp-gsc-claude/gsc-oauth-credentials.json" } } } } EOF

Запускаем Claude Desktop (если ранее клиент был открыт - перезапускаем через "cmd + q").

Если при запуске появится такое сообщение

Что такое MCP сервер и как его настроить для Claude и ChatGPT

значит что-то пошло не так. Скорее всего установили неверный путь до файла gsc-oauth-credentials.json. Нажмите на кнопку "Open developer settings" в сообщении и посмотрите логи (logs) вашего MCP сервера (gsc). Если видите ошибки типа, то попробуйте пересоздать окружение:

cd ~/mcp-gsc-claude/ rm -rf ~/mcp-gsc-claude/mcp-gsc/.venv python3 -m venv ~/mcp-gsc-claude/mcp-gsc/.venv source ~/mcp-gsc-claude/mcp-gsc/.venv/bin/activate pip install -r ~/mcp-gsc-claude/mcp-gsc/requirements.txt

Если при запуске клиента никаких сообщений нет, то значит всё хорошо и в браузере откроется окно с разрешением авторизации через почту привязанную к гугл аккаунту. После разрешения, появится такая надпись:

Авторизация успешно сконфигурирована, можно закрывать окно.
Авторизация успешно сконфигурирована, можно закрывать окно.

Возвращаемся в клиент Claude. Можем проверить, что MCP сервер запущен: Setting → Developer. В списке "Local MCP servers" должен появиться наш сервер с названием "gsc" и статусом "Running".

Что такое MCP сервер и как его настроить для Claude и ChatGPT

Теперь можно использовать промпты, например:

Что такое MCP сервер и как его настроить для Claude и ChatGPT

Done.

Настройка ChatGPT

Здесь установка будет несколько сложней, так как он не умеет работать с локальным сервером напрямую. Нам придется запустить его у себя на устройстве, опубликовать в сети через HTTPS и подключить в Сhatgpt Web-UI (сайт). Советую арендовать для этого простенький VPS сервер и уже на нем производить все эти действия. Это даст более стабильное соединение (на локальном устройство запросы часто возвращают ошибку 500), а так же вариант при котором настрои и запустил сервер один раз и забыл о нем, не нужно будет запускать его каждый раз когда нужно поработать.

Итак, создадим отдельную папку, например mcp-server-chargpt, скопируем туда ключ от Google API (gsc-oauth-credentials.json), который мы получили, когда настраивали Claude и склонируем репозиторий с готовым mcp-gsc-proxy сервером:

mkdir ~/mcp-gsc-chatgpt && cd ~/mcp-gsc-chatgpt cp ~/mcp-gsc-claude/gsc-oauth-credentials.json ./ git clone https://github.com/AminForou/mcp-gsc.git cd mcp-gsc

Далее вводим команду, которая создаст скрипт для получения токена, необходимого для получения доступа к GSC:

cat > ~/mcp-gsc-chatgpt/mcp-gsc/generate_token.py << 'EOF' import os from google_auth_oauthlib.flow import InstalledAppFlow SCOPES = ["https://www.googleapis.com/auth/webmasters"] CLIENT_SECRETS = os.environ.get("GSC_OAUTH_CLIENT_SECRETS_FILE", "client_secrets.json") flow = InstalledAppFlow.from_client_secrets_file(CLIENT_SECRETS, SCOPES) creds = flow.run_local_server(port=0) with open("token.json", "w") as f: f.write(creds.to_json()) print("Token saved to token.json") EOF

Запускаем его один раз и получаем токен:

GSC_OAUTH_CLIENT_SECRETS_FILE=../gsc-oauth-credentials.json python3 generate_token.py

в дальнейшем этого делать не надо будет, он обновиться автоматически. Теперь в папке ~/mcp-gsc-chatgpt/mcp-gsc/ есть файл с нужным нам токеном - token.json.

Теперь устанавливаем docker отсюда, либо так:

brew install --cask docker

Создаем файл docker-compose.yml через эту команду:

cat > ~/mcp-gsc-chatgpt/docker-compose.yml << 'EOF' services: mcp-gsc-proxy: image: python:3.11-slim container_name: mcp-gsc-proxy working_dir: /app volumes: - ./mcp-gsc:/app - ./gsc-oauth-credentials.json:/credentials/gsc-oauth-credentials.json:ro - ./mcp-gsc/token.json:/app/token.json:ro environment: - GSC_OAUTH_CLIENT_SECRETS_FILE=/credentials/gsc-oauth-credentials.json - PYTHONUNBUFFERED=1 command: > bash -c " pip install -q mcp-streamablehttp-proxy -r requirements.txt && mcp-streamablehttp-proxy --host=0.0.0.0 --port=8081 python gsc_server.py " ports: - "8081:8081" networks: - mcp-network restart: unless-stopped cloudflared: image: cloudflare/cloudflared:latest container_name: cloudflared-tunnel command: tunnel --no-autoupdate --url http://mcp-gsc-proxy:8081 networks: - mcp-network depends_on: - mcp-gsc-proxy restart: unless-stopped networks: mcp-network: driver: bridge EOF

Запускаем:

docker compose up -d
Что такое MCP сервер и как его настроить для Claude и ChatGPT

В дальнейшем, если понадобиться поднять или перезапустить сервер, вам не нужно делать ничего кроме это команды. Единственный важный момент - при перезапуске cloudflared-tunnel поменяет внешний адрес (URL). Чтобы узнать актуальный URL вводим команду:

docker logs cloudflared-tunnel 2>&1 | grep trycloudflare.com
Что такое MCP сервер и как его настроить для Claude и ChatGPT

Из примера видно, что внешний адрес выглядит так:
https://designer-containers-assignments-organizational.trycloudflare.com

Идем на сайт chartgpt.com. Нажимаем на имя профиля (слева внизу), заходим в

Settings → Apps → Advanced → Включаем Developer mode.

Что такое MCP сервер и как его настроить для Claude и ChatGPT

Далее, в том же меню нажимаем "Create App" и заполняем данные так же как на картинке ниже.

ВАЖНО - Когда будете вставлять наш URL в поле "MCP Server URL, то обязательно в конце добавьте "/mcp", то есть итоговый адрес для нашего сервера должен получиться такой: https://designer-containers-assignments-organizational.trycloudflare.com/mcp

Что такое MCP сервер и как его настроить для Claude и ChatGPT

Нажимаем "Create". После некоторых раздумий СhatGPT создаст новый коннектор/приложение (раньше они назывались "Connectors", сейчас "Apps").

Что такое MCP сервер и как его настроить для Claude и ChatGPT

Далее создаем новый диалог:
нажимаем на "+" "... More" и выбираем наш сервер.

Что такое MCP сервер и как его настроить для Claude и ChatGPT

Примеры промптов

"Покажи список моих сайтов в Google Search Console"
"Покажи список моих сайтов в Google Search Console"
"Составь отчет по трафику для сайта XXX.com за предыдущую неделю"
"Составь отчет по трафику для сайта XXX.com за предыдущую неделю"

Если не знаете с чего начать, то можете попросить ИИ составить примеры промптов:

"Напиши общие примеры промптов, которые я могу задавать этому mcp-серверу"

Что такое MCP сервер и как его настроить для Claude и ChatGPT

Как видите, ничего сложного нет. Если у вас возникли трудности или какие-то вопросы по теме - можете писать в комментариях. Если вам интересна тема devops и blockchain, то можете подписаться на мой телеграмм канал: @art_of_chain.
Там я пишу заметки о блокчейне от DevOps специалиста. От базовых знаний до глубоких технических разборов. Без криптотрейдинга и шиткоинов — только docker, helm и здравый смысл.
Иногда про жизнь вне терминала.
Всем удачи!

1
1
Начать дискуссию