Skip to main content
Glama

wp-mcp-gateway (Cloudflare Workers 버전)

Node 버전과 같은 아이디어입니다: 하나의 MCP 엔드포인트, 모든 도구 호출이 site_id를 받으므로, 하나의 Claude 커넥터가 WordPress 사이트 전체를 포괄합니다. 이 버전은 VPS 대신 Cloudflare Workers에서 실행됩니다 — 패치할 서버가 없고, 무료 티어가 이를 충분히 감당하며, wrangler deploy를 실행한 지 몇 분 안에 workers.dev URL에서 라이브로 운영됩니다.

Cloudflare의 현재 권장 방식을 기반으로 구축되었습니다: agents SDK의 stateless createMcpHandler (기존의 stateful McpAgent / Durable Objects 방식은 새 서버에서는 더 이상 권장되지 않습니다 — 이 게이트웨이는 어차피 세션 상태가 필요 없습니다, 모든 도구 호출이 독립적이기 때문입니다).

인계 전에 로컬에서 엔드투엔드로 검증했습니다: Worker가 기동하고, /health가 응답하고, MCP initialize 핸드셰이크가 작동하며, 베어러 토큰 인증이 누락/잘못된 토큰을 올바르게 거부하고 올바른 토큰을 허용하며, 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을 생성하세요 (각 사이트에 Application Passwords를 생성한 후 스프레드시트를 JSON으로 변환하는 스크립트는 쉽게 만들 수 있습니다 — 필요하면 요청하세요), 그런 다음 시크릿으로 설정하세요:

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

이렇게 하면 로컬 개발 서버(기본값 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에서 커넥터로 추가

해당 /mcp URL을 가리키는 사용자 지정 커넥터를 추가하고, 헤더에 Authorization: Bearer <GATEWAY_TOKEN>를 설정하세요 (4단계에서 설정한 값과 동일).

그때부터 "cra.com의 임시글 목록" 작업은 Claude가 list_sites를 호출하거나(또는 id를 이미 알고 있거나) 그런 다음 list_postssite_id: "cra"로 호출하기만 하면 됩니다 — Node 버전과 동일한 동작이며, 다만 엣지에서 호스팅됩니다.

나중에 사이트 업데이트

새 사이트를 추가하거나 자격 증명을 변경하려면 다음을 다시 실행하세요:

npx wrangler secret put SITES_JSON

재배포가 필요 없습니다 — 시크릿은 Worker 코드와 독립적으로 업데이트됩니다.

이 배포에 특정한 참고 사항

  • 파일 시스템 없음, 장기 실행 프로세스 없음 — 전체 레지스트리는 SITES_JSON 시크릿에 저장되며, 각 요청 시 새로 파싱됩니다. ~80개 사이트에서조차 비용은 미미합니다.

  • 설계상 stateless — 각 MCP 요청은 새 서버 인스턴스를 생성합니다(Cloudflare의 현재 지침에 따라); 손실될 크로스 요청 세션이 없습니다.

  • 관리형 호스트의 WAF 플래그 — Node 버전과 동일한 주의사항: 특히 WP Engine은 REST API를 호출하는 익숙하지 않은 IP 범위의 트래픽을 플래그할 수 있습니다. 어떤 사이트가 이 게이트웨이를 통할 때만 403을 반환한다면, WP Engine 지원팀에 확인해야 할 첫 번째 사항입니다 — 필요하다면 Cloudflare의 이그레스 범위를 허용 목록에 추가할 가치가 있습니다.

  • 도구 범위 — 핵심 WP REST API(/wp/v2/...)와만 통신합니다. WP-CLI, SSH, 데이터베이스 수준 작업은 없습니다 — Workers는 어차피 SSH로 나갈 수 없으므로, 나중에 필요하다면 완전히 별도의 구성 요소가 필요할 것입니다.

Claude를 배포된 URL에 연결하기 전 보안 체크리스트

  • GATEWAY_TOKENwrangler secret put으로 설정되어 있고, 길고 무작위인지

  • SITES_JSON이 사이트별로 전용 저권한 WP 사용자를 사용하는지

  • .dev.vars(로컬에서 사용한 경우)가 .gitignore에 있고 커밋되지 않았는지

  • 시크릿을 전체 ~80개로 확장하기 전에 2–3개 사이트에서 테스트했는지

-
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