Sitelas

Build a real website from a Claude or ChatGPT chat, publish it when you approve, then keep running it from the same chat.

Hosted MCP Server

npx add-mcp 'https://sitelas.com/api/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

The connector

Sitelas is a remote MCP server, so an AI agent can build and run your sites in natural conversation. In Claude or ChatGPT it is one click; every other client takes a few lines of config:

  1. Open Sitelas in Claude’s connector directory and choose Add — or open the Sitelas app in ChatGPT.
  2. Sign in to Sitelas (Google) and approve. Claude and ChatGPT both register themselves automatically — there’s no client ID to enter.

Everything else reads a config file rather than a directory. Point it at https://sitelas.com/api/mcp and sign in the same way — the exact shape differs by client:

Claude (web, desktop, mobile)No config — add it from the connector directory above.

ChatGPTNo config — add it from the app directory above.

Claude CodeRun this in your terminal

claude mcp add --transport http sitelas https://sitelas.com/api/mcp
{
  "mcpServers": {
    "sitelas": { "url": "https://sitelas.com/api/mcp" }
  }
}

VS Code.vscode/mcp.json — note the different root key and required type

{
  "servers": {
    "sitelas": { "type": "http", "url": "https://sitelas.com/api/mcp" }
  }
}

Antigravity (CLI, IDE & 2.0)~/.gemini/config/mcp_config.json — note serverUrl, not url or httpUrl

{
  "mcpServers": {
    "sitelas": { "serverUrl": "https://sitelas.com/api/mcp" }
  }
}

Gemini CLI~/.gemini/settings.json — note httpUrl, not url

{
  "mcpServers": {
    "sitelas": { "httpUrl": "https://sitelas.com/api/mcp" }
  }
}

Using a different MCP client? Sitelas is listed on Smithery, which generates the right config for a much longer list of clients.

Two ways to authenticate, same account, same tools:

Interactive connector

Who

You, in Claude / a browser

How

OAuth 2.1 — sign in once, approve. Claude registers itself (DCR).

When

Everyday use with a human present.

API key (headless)

Who

An agent, script, or automation

How

A bearer key (stl_pat_…) you generate in Account → API keys.

When

Unattended / programmatic — no browser.

Both resolve to the same set of tools, scoped to your account by database row-level security.

What your agent can do

The connector exposes tools across the full lifecycle: discover templates; create, edit, and publish sites (surgical patches, brand & palette changes, image search, URL cloning); manage content collections; read submissions, contacts, and analytics; schedule jobs; and configure custom domains. Destructive actions (like deleting a site) are annotated and require explicit confirmation.

Example prompts

“Build a portfolio for a Brooklyn wedding photographer — warm, editorial, with a contact form.” · “Any new contact-form messages this week?” · “Add a Pricing page with three tiers, then publish.”

Tool reference

The connector’s tools are the same whether you drive them from a chat or an agent with an API key. Here they are by category:

CategoryWhat it doesKey tools
DiscoverBrowse templates, section archetypes, and primitives; score a template against a brief.list_site_templates · select_template_for_brief · list_primitives
ReadList sites and inspect one — pages, theme, versions, and what changed.list_sites · get_site · get_site_overview · get_version_diff
Create & editCreate a site from a template, then customize — surgical patches, brand & palette, image search, URL cloning.create_site_from_template · patch_nodes · apply_brand · apply_palette · replace_images_from_search · capture_url
Your own photosPut your own photo on one spot of your site. Your agent gives you a one-time link: open it, choose the photo, and it goes into your draft. No sign-in. The link works once, for 30 minutes.get_editor_link · upload_image_from_url
Pages & structureAdd, delete, duplicate, and reorder pages; edit per-page SEO.add_page · delete_page · duplicate_page · update_seo
Content collectionsCreate collections (blog, projects, listings) and manage their items.create_collection · add_content_item · edit_content_item · delete_content_item · delete_collection
Publish & versionPreview a draft, publish whole-site or per-URL, unpublish, one-step revert, diff versions.get_preview · publish_site · unpublish_site · revert_site · get_version_diff
Inbox & CRMRead and reply to submissions; view contacts and their activity.list_submissions · read_submission · draft_reply_to_submission · list_contacts
AnalyticsRead pageviews, top paths, and recent activity.get_analytics · top_pages · summarize_recent_activity
ScheduleSchedule a publish or unpublish for later; list and cancel jobs.schedule_publish · list_scheduled_jobs · cancel_scheduled_job
Domains & SEOConnect and verify a custom domain; set site-wide search settings, language, business details (address, type, profiles) and Search Console verification tags; connect your Google Analytics, Tag Manager, Meta Pixel or Plausible; generate a sitemap.set_custom_domain · verify_custom_domain · update_seo · set_tracking_codes · generate_sitemap
Design reviewSelf-review a site against design and health checks before shipping.critique_design · site_health_check · verify_site

Destructive tools (like delete_site or delete_page) are annotated destructive and require an explicit confirmation before they run.

API keys (headless access)

The connect flow above uses interactive OAuth — a human signs in. For an agent, script, or automation that runs without a browser, create an API key in Dashboard → Account → API keys (shown once) and send it as a bearer header to /api/mcp. No OAuth round-trip.

Account → API keys — create a key (shown once), see last-used, revoke.

Account → API keys — create a key (shown once), see last-used, revoke.

Claude Code

claude mcp add --transport http sitelas https://sitelas.com/api/mcp \
  --header "Authorization: Bearer $SITELAS_API_KEY"

Anthropic API (build your own agent)

client.beta.messages.create(
    model="claude-opus-5",
    max_tokens=16000,
    betas=["mcp-client-2025-11-20"],
    mcp_servers=[{
        "type": "url",
        "url": "https://sitelas.com/api/mcp",
        "name": "sitelas",
        "authorization_token": os.environ["SITELAS_API_KEY"],
    }],
    tools=[{"type": "mcp_toolset", "mcp_server_name": "sitelas"}],
    messages=[{"role": "user",
               "content": "Build a portfolio site and publish it."}],
)

Any MCP client / raw HTTP

curl -X POST https://sitelas.com/api/mcp \
  -H "Authorization: Bearer stl_pat_…" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

The key acts on your account with the same ownership scoping as the connector — the same tool catalog, no human in the loop. Set an optional expiry, watch its last-used date, and revoke it any time from the same screen.

Keep reading

[

Start here

What Sitelas is, how to begin, and how a site gets from idea to live.

](https://sitelas.com/docs)[

The editor

Change your site by hand: text, photos, theme, pages and posts, how each page shows up in Google, saving and publishing.

](https://sitelas.com/docs/editor)[

Your dashboard

Sites, form submissions, search & SEO, your business in Google, verifying your site with Google, custom domains, AI credits, plans and limits, your account and sign-in.

](https://sitelas.com/docs/dashboard)[

Trust & support

How your data is handled, how the platform is secured, common questions, and how to reach us.

](https://sitelas.com/docs/trust)