[← All docs](/docs)

# Edit your site from Claude or ChatGPT

Your WebEgg site has an MCP server and a REST API. Connect it to the assistant you already pay for and ask it to change your website in plain language. Edits made this way use **your assistant’s** plan, not WebEgg AI credits — WebEgg only applies the change and republishes.

## 1. Get your connector URL

In your [dashboard](/dashboard), open the **API & Connectors** tab and press **Generate key**. You’ll see two things:

- **Your MCP connector URL** — `https://webegg.ai/mcp/we_…` (the key is part of the address; treat it like a password).

- **Your API key** — `we_…`, for the REST API and ChatGPT Actions.

Regenerating the key invalidates the old URL immediately.

## 2a. Claude (claude.ai, desktop and mobile)

1. Open **Customize → Connectors → Add custom connector** (on Team/Enterprise an owner adds it under Organization settings → Connectors).

1. Name it *WebEgg*, paste your MCP connector URL, and choose Authentication **No sign-in**. (Your key is in the URL, so nothing else is needed. Don’t add `/sse` to the address.)

1. In a new chat, open the **+** menu → Connectors, switch WebEgg on, and ask: *“List my WebEgg sites, then change the phone number on the contact section of Rise and Shine to (661) 555-0142 and publish.”* Approve the edit when Claude asks.

**Claude Code** (terminal), with the key as a header instead:

```
claude mcp add --transport http webegg https://webegg.ai/mcp \
  --header "Authorization: Bearer we_YOUR_KEY"
```

## 2b. ChatGPT

**Connector (MCP):** turn on **Settings → Security and login → Developer mode**, then open **Apps → +** (chatgpt.com/plugins), name it *WebEgg*, and paste your MCP connector URL as the public endpoint with authentication *None*. In a new chat, pick WebEgg from the tools menu under Developer mode and ask for the change; confirm write actions when prompted. Developer mode needs a paid plan, and on Business/Enterprise an admin has to enable it. Write actions may be read-only on some plans — if so, use Actions below.

**Custom GPT (Actions):** when creating a GPT, choose **Actions → Import from URL** and paste `https://webegg.ai/api/v1/openapi.json`. Set authentication to *API Key*, auth type *Bearer*, and paste your API key.

## What the assistant can do

````````````````````

| Tool | What it does |
| --- | --- |
| list_sites | Your sites with live and preview links. |
| get_site | The brief behind a site: business facts, pages, open to-do items. |
| get_page / find_in_page | Read a page’s HTML, or search it for a phrase with context. |
| replace_in_page | Precise find → replace edits (one or many) — the safe way to change copy, numbers, links. |
| set_page_html | Replace a whole page (guarded: must stay a real page of similar size). |
| undo_last_change | Restore the previous version of a page. |
| list_setup_tasks / complete_setup_task | The “Finish your site” list from onboarding (license number, hours, real reviews…). |
| publish | Push the saved pages live (preview link and your custom domain). |

Changes are saved to your site immediately but only go live when you (or the assistant) call **publish**. Every page write keeps a one-step backup.

## Limits and billing

- Available on every claimed account. Free accounts keep their free-edit limit; paid plans are unlimited.

- Connector edits cost **zero WebEgg AI credits**. Your assistant does the thinking; WebEgg does deterministic HTML edits and deploys.

- Rate limit: 300 write operations per hour per key. Reads are not limited.

- Anyone holding your connector URL or API key can edit your site. Regenerate it from the dashboard if it leaks.

## REST API (for scripts)

```
GET  https://webegg.ai/api/v1/sites
GET  https://webegg.ai/api/v1/sites/{lead_id}
GET  https://webegg.ai/api/v1/sites/{lead_id}/pages/{page}
PUT  https://webegg.ai/api/v1/sites/{lead_id}/pages/{page}        {"html": "..."}
POST https://webegg.ai/api/v1/sites/{lead_id}/pages/{page}/replace {"edits": [{"find": "...", "replace": "..."}]}
POST https://webegg.ai/api/v1/sites/{lead_id}/publish
GET  https://webegg.ai/api/v1/sites/{lead_id}/tasks
POST https://webegg.ai/api/v1/sites/{lead_id}/tasks               {"key": "license_number", "value": "CSLB #1012345"}

Authorization: Bearer we_YOUR_KEY
```

Full schema: [/api/v1/openapi.json](/api/v1/openapi.json) (OpenAPI 3.1).
