Skip to main content
Glama

wp-mcp-gateway (версия для Cloudflare Workers)

Та же идея, что и в Node-версии: один MCP-эндпоинт, каждый вызов инструмента принимает site_id, так что один коннектор Claude покрывает весь ваш парк WordPress. Эта версия работает на Cloudflare Workers вместо VPS — не нужно патчить сервер, бесплатного тарифа с запасом хватает, и она доступна по URL на workers.dev через пару минут после запуска wrangler deploy.

Она построена на текущем рекомендуемом подходе Cloudflare: обработчик без состояния createMcpHandler из SDK agents (старый подход с сохранением состояния — McpAgent / Durable Objects — объявлен устаревшим для новых серверов; этому шлюзу состояние сессии всё равно не нужно, так как каждый вызов инструмента независим).

Проверено локально от начала до конца перед сдачей: Worker запускается, /health отвечает, рукопожатие MCP initialize работает, аутентификация по bearer-токену корректно отклоняет отсутствующие/неверные токены и пропускает правильный, а list_sites возвращает реальные данные из тестового SITES_JSON.

1. Предварительные требования

npm install -g wrangler   # or just use npx wrangler as shown below
wrangler login            # opens a browser to authenticate with your Cloudflare account

Если у вас ещё нет аккаунта Cloudflare, зарегистрируйтесь бесплатно на https://dash.cloudflare.com/sign-up — бесплатного тарифа (100 000 запросов в день) более чем достаточно для этого.

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

cd wp-mcp-gateway-cf
npm install

3. Настройка ваших сайтов

В отличие от Node-версии, у Workers нет файловой системы, поэтому реестр сайтов хранится в секрете (SITES_JSON), а не в файле. Формат прежний — одна запись на сайт:

{
  "town-green": {
    "label": "Town Green",
    "baseUrl": "https://town-green.org",
    "username": "mcp-agent",
    "appPassword": "xxxx xxxx xxxx xxxx xxxx xxxx",
    "host": "wpengine"
  },
  "cra": {
    "label": "CRA",
    "baseUrl": "https://cra.com",
    "username": "mcp-agent",
    "appPassword": "xxxx xxxx xxxx xxxx xxxx xxxx",
    "host": "gridpane"
  }
}

Соберите такой JSON для всех ваших сайтов (скрипт для преобразования электронной таблицы в JSON легко написать, как только вы сгенерируете Application Passwords для каждого сайта — спросите, если нужен такой скрипт), затем установите его как секрет:

npx wrangler secret put SITES_JSON
# paste the whole JSON blob when prompted, then press Ctrl+D

Application Passwords: в wp-admin: Users → your user → Application Passwords. Рекомендация прежняя — используйте отдельного пользователя WP с низкими привилегиями для каждого сайта, а не ваш личный админ-аккаунт, чтобы утёкший токен не мог сделать больше, чем позволяет эта роль.

4. Установите токен аутентификации шлюза

npx wrangler secret put GATEWAY_TOKEN
# paste a long random value, e.g. output of: openssl rand -hex 32

Без этого значения эндпоинт работает без аутентификации — это нормально для первого локального теста, но никогда для развёрнутой версии.

5. Локальное тестирование

npx wrangler dev

Это запускает локальный dev-сервер (по умолчанию http://localhost:8787). Для локального тестирования поместите ваши секреты в файл .dev.vars (никогда не коммитьте его):

GATEWAY_TOKEN=some-local-test-token
SITES_JSON={"town-green":{"label":"Town Green","baseUrl":"https://town-green.org","username":"mcp-agent","appPassword":"xxxx"}}

Проверьте, что он жив:

curl http://localhost:8787/health

6. Деплой

npx wrangler deploy

Wrangler выведет ваш рабочий URL, примерно так:

https://wp-mcp-gateway.<your-subdomain>.workers.dev

Ваш MCP-эндпоинт: https://wp-mcp-gateway.<your-subdomain>.workers.dev/mcp.

7. Добавьте его как коннектор в Claude

Добавьте кастомный коннектор, указывающий на URL /mcp, с заголовком Authorization: Bearer <GATEWAY_TOKEN> (то же значение, которое вы задали в шаге 4).

С этого момента для запроса «покажи черновики записей на cra.com» Клоду достаточно вызвать list_sites (или уже знать id), а затем list_posts с site_id: "cra" — поведение то же, что и в Node-версии, только размещено на edge.

Обновление сайтов позже

Чтобы добавить новый сайт или изменить учётные данные, выполните повторно:

npx wrangler secret put SITES_JSON

Повторный деплой не нужен — секреты обновляются независимо от кода Worker.

Примечания, характерные для этого развёртывания

  • Ни файловой системы, ни долгоживущих процессов — весь реестр хранится в секрете SITES_JSON и разбирается заново при каждом запросе. Стоимость ничтожна даже при ~80 сайтах.

  • Без состояния по построению — каждый MCP-запрос создаёт свежий экземпляр сервера (согласно текущим рекомендациям Cloudflare); нет межзапросной сессии, которую можно потерять.

  • WAF-флаги на управляемых хостингах — та же оговорка, что и в Node-версии: WP Engine в особенности может помечать трафик с незнакомого диапазона IP-адресов, обращающийся к REST API. Если сайт возвращает 403 только при обращении через этот шлюз, это первое, что стоит проверить в поддержке WP Engine — если нужно, имеет смысл добавить исходящие диапазоны Cloudflare в белый список.

  • Охват инструментов — этот шлюз общается только с основным WP REST API (/wp/v2/...). Никаких операций через WP-CLI, SSH или на уровне базы данных — Workers в любом случае не может устанавливать исходящие SSH-соединения, так что для этого понадобится совершенно другой компонент, если он вам понадобится позже.

Чек-лист безопасности перед подключением Claude к развёрнутому URL

  • GATEWAY_TOKEN установлен через wrangler secret put, длинный и случайный

  • SITES_JSON использует отдельного пользователя WP с низкими привилегиями для каждого сайта

  • .dev.vars (если вы использовали его локально) находится в .gitignore и никогда не коммитится

  • Вы протестировали на 2–3 сайтах, прежде чем масштабировать секрет на все ~80

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Turn Claude or ChatGPT into a website builder that ships a real site to a live URL you own.

  • WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.

  • The bridge from K2 agents through Wrangler to your master AI - safe, approval-gated Cloudflare ops.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/118group/wp-mcp-gateway'

If you have feedback or need assistance with the MCP directory API, please join our Discord server