Works with

Build in ChatGPT or Claude
and publish on Darwa.

Connect your Darwa account, describe the website in plain language, review the generated files, and publish into your paid Web Hosting plan.

darwa — Settings → Apps — 120×32darwa.co/mcp ready
❯

1. Open Settings → Apps & Connectors 2. Enable Developer mode in Advanced settings 3. Create an app named Darwa 4. Set the MCP URL to https://darwa.co/mcp

Connect your Darwa workspace with OAuth, select Darwa in chat, then ask ChatGPT to build and publish your website.

https://darwa.co/mcp · OAuth + PKCE · scoped reads and confirmed publishing

01 / Getting connected
Four steps

Connected in minutes. Nothing to install.

Darwa hosts its MCP server at https://darwa.co/mcp. Add the URL in ChatGPT or Claude, approve your workspace in the browser, and ask it to create a website. The hosted connector previews and publishes generated files without using your computer.

  1. 01

    Add the Darwa MCP server

    Point your MCP client at https://darwa.co/mcp. Nothing to install, nothing to run — Darwa hosts the server on the canonical darwa.co origin.

  2. 02

    Connect your Darwa account

    OAuth opens in the browser. Choose the exact workspace and approve scoped hosting access; ChatGPT or Claude never receives your Darwa password.

  3. 03

    Describe the website

    Ask for a coffee shop, portfolio, or business website. Your AI subscription generates the HTML, CSS, and JavaScript; Darwa does not charge AI credits for generation.

  4. 04

    Review and publish

    Darwa validates the exact file bundle and destination first. Approve the publish action, then Darwa deploys it into an available paid Web Hosting slot.

02 / Remote server
https://darwa.co/mcp · scoped access

Our hosted MCP server.

Darwa hosts its MCP server on the canonical darwa.co origin using Streamable HTTP. It supports the stateless MCP 2026-07-28 protocol and legacy session-based clients. Clients sign in through the browser with OAuth and PKCE. Read tools expose only safe workspace metadata; publishing requires a matching preview digest and the client's user-approval step. No CLI required.

Connect your editor →
Your AI editorlive workspace

Which services are running in my workspace?

◆ 3 services · storefront, api, docs — all healthy

List my domains and their verification status.

◆ 2 domains · acme.com verified, staging pending DNS

How much of my email plan have I used?

◆ 1,240 of 5,000 sends this month

Scoped by design.

You approve exactly what the client can access. Publishing uses a separate write scope; credentials and environment-variable values are never returned.

OAuth scopesapproved in browser
workspace.read

Identity, plan, role, product catalog

read-only
projects.read

Services, websites, variable names — never values

read-only
hosting.read

Available hosting slots and generated-file previews

read-only
websites.write

Publish the exact approved generated website

confirmed write
sources.read

Source providers without tokens

read-only
domains.read

Routing and verification without secrets

read-only
databases.read

Metadata without credentials or addresses

read-only
agents.read

Agent catalog and deployments

read-only
email.read

Email overviews without secrets

read-only

Every tool, deny-by-default.

Only tools whose scope you approved are visible to the client. Nothing else exists as far as the editor can see.

Tools16 available
darwa_workspace_infoworkspace.read
darwa_list_productsworkspace.read
darwa_list_projectsprojects.read
darwa_web_hosting_optionshosting.read
darwa_preview_generated_websitehosting.read
darwa_publish_generated_websitewebsites.write
darwa_generated_website_statushosting.read
darwa_inspect_serviceprojects.read
darwa_environment_variablesprojects.read
darwa_source_connectionssources.read
darwa_list_domainsdomains.read
darwa_list_databasesdatabases.read
darwa_agent_catalogagents.read
darwa_list_agentsagents.read
darwa_professional_email_overviewemail.read
darwa_transactional_email_overviewemail.read
03 / Local server
Optional · for deployments

Deployments run through the local server.

Deploying, rebuilding, and applying .env files all read your local project, so those powers live in a local MCP server that ships inside the Darwa CLI — your files and secret values never pass through the hosted server. Run darwa login in a terminal before retrying an MCP tool. It opens secure browser sign-in using an S256 PKCE exchange and a one-time callback bound to a random 127.0.0.1 loopback port — the same local machine as localhost. The MCP server never leaves a tool call waiting for that browser callback. Your password never enters the terminal. Sessions last six hours and can be revoked from Settings → Security.

terminal
# macOS
brew install haqiq-app/tap/darwa

# macOS, Linux, or Windows with Node.js 20+
npm install -g https://github.com/haqiq-app/darwa-cli/releases/download/v0.2.0/darwa-cli-0.2.0.tgz

darwa login
Arguments
--remote

Use a separate one-time browser code and secure WebSocket approval when the browser runs on another device. · Optional

--force

Replace an existing CLI session on this device instead of reusing it. · Optional

04 / Local server
darwa integrate cursor

Integrate Cursor with one command.

Safely merges Darwa into Cursor's mcp.json without removing other MCP servers, writing the configuration atomically with restrictive file permissions. Restart Cursor afterwards, then ask: “Deploy this website on Darwa.”

terminal
darwa integrate cursor [--global|--project|--directory path]

# Examples
darwa integrate cursor
darwa integrate cursor --project
darwa integrate cursor --directory ~/work/storefront
Arguments
--global

Install for every project by writing ~/.cursor/mcp.json. · Default

--project

Install only for the current project by writing .cursor/mcp.json in the working directory. · Optional

--directory path

Install into a specific project directory's .cursor/mcp.json. · Optional

05 / Local server
darwa mcp

Start the MCP server.

Runs the Darwa MCP server over stdio. You rarely run this by hand — the editor launches it from its MCP configuration. Any MCP-compatible client (Codex, Claude Code, Claude Desktop, Windsurf, or VS Code with MCP support) can use the same entry.

terminal
darwa mcp

Manual configuration for any MCP client:

mcp.json
{
  "mcpServers": {
    "darwa": {
      "command": "darwa",
      "args": ["mcp"]
    }
  }
}
06 / Local server tools
Preview first · confirm to apply

Every tool the local server exposes.

These are the tools an MCP client sees after connecting to darwa mcp. Mutations — deployments, rebuilds, restarts, environment changes — always return a preview first and require your explicit confirmation. Secret values never leave the local CLI.

darwa_inspect_website

Inspect a local application and recommend Darwa Web Hosting, Frontend Cloud, or Web Services using the official routing rules.

darwa_authenticate

Check the active Darwa CLI session immediately. When sign-in is required, it returns darwa login and darwa login --remote commands instead of holding the MCP tool call open.

darwa_list_products

List every supported Darwa product, including Professional Email and Transactional Email, with its intended workload and dashboard.

darwa_deploy_website

Preview or perform a Web Hosting, Frontend Cloud, or Web Service deployment. A preview is always returned first; deployment requires explicit user approval.

darwa_web_hosting_options

List Web Hosting plans with free website slots and the unused domains available on each plan, used before every Web Hosting deployment.

darwa_existing_web_hosting_site

Resolve a domain to its attached Web Hosting website and check whether its public CNAME points to the target required by Darwa.

darwa_update_existing_website

Preview or upload the current local website to an existing Web Hosting site. Requires explicit confirmation before replacing deployed content.

darwa_connect_github

Check the Darwa GitHub connection and open authorization when GitHub is not connected.

darwa_list_github_repositories

List repositories from the GitHub account connected to the authenticated Darwa workspace.

darwa_inspect_service

Inspect a Web Service, Web Hosting site, or Frontend Cloud project — source, latest release, supported operations, and environment-variable names. Secret values are never returned.

darwa_service_logs

View sanitized build and runtime logs from the latest release of a service.

darwa_rebuild_service

Preview or create a new release from the latest source commit, a named commit, or a clean build.

darwa_restart_service

Preview or restart an existing running Web Service or Web Hosting site without rebuilding its source.

darwa_environment_variables

List configured and inherited environment-variable names for a service. Never reveals values.

darwa_apply_environment_file

Preview or securely apply variables from a local .env file. Values stay local to the CLI and are never returned to the editor.

darwa_open_domains_dashboard

After the user agrees, open the authenticated Darwa Domains page to add and verify a domain before deployment.

darwa_professional_email_overview

View mailbox seats, storage, domains, and mailboxes for the workspace. Does not expose mailbox passwords.

darwa_transactional_email_overview

View the workspace's sending plan, usage, domains, delivery counts, and credential count. Never returns credential secrets.

07 / Prefer the terminal?
Same operations, same previews

Every MCP operation is also a CLI command.

The same operations the MCP tools perform are available directly from the terminal, with the same previews, confirmations, and workspace authorization.

terminal
darwa deploy
darwa services inspect api --json
darwa services logs api --limit 100
darwa services rebuild api --yes
darwa services rebuild api --clear-cache --yes
darwa services restart api --yes
darwa services env list api
darwa services env apply api --from-file .env.production

See the complete command reference in the CLI documentation.

Frequently Asked Questions

What is the Darwa MCP server?

Darwa hosts a Model Context Protocol server at https://darwa.co/mcp. ChatGPT, Claude, and other OAuth-capable clients connect directly to your chosen workspace. The hosted server can inspect safe workspace metadata and publish a generated static website into a paid Web Hosting slot after preview and user approval.

Who generates the website?

ChatGPT or Claude generates the website using the customer's existing AI subscription. Darwa validates, stores, deploys, and serves the generated files; this workflow does not consume Darwa AI credits.

Why does the CLI appear on this page?

The CLI is optional and serves a different workflow: deploying an existing project already on your computer, rebuilding services, or applying local environment files. A website generated entirely inside ChatGPT or Claude publishes through the hosted Darwa connector without a CLI, GitHub, or local upload.

What is the difference between the remote and local servers?

The remote server supports scoped reads plus one tightly constrained generated-website publish flow. It accepts only static text files, validates paths, sizes, file types, and credential patterns, binds publishing to the preview digest, and uses the client's write-action approval. The local server handles operations that must read files or secrets from your own computer.

Which editors and clients are supported?

ChatGPT and Claude connect directly through their app or connector settings. Codex, Claude Code, Cursor, VS Code, Windsurf, and other MCP clients can also connect to https://darwa.co/mcp.

How does the integration choose a product?

Darwa recommends Web Hosting for static HTML, PHP, and WordPress; Frontend Cloud for Next.js, React, Vue, Vite, Astro, Nuxt, Svelte, and Angular; and Web Services for APIs, backends, Docker applications, Python, Express, Fastify, NestJS, Koa, Go, and Ruby.

Can it publish without my confirmation?

No. Darwa returns a validation preview and digest before the write tool runs. ChatGPT or Claude must request approval for the publish action, and Darwa rejects the call if the files, destination, or digest changed after preview.

How are environment variables handled?

Before a Web Service is created, the agent asks whether it needs environment variables and offers detected local files such as .env.production by filename. Only variable names appear in the preview; values are read by the local CLI and sent over the authenticated API. Values are never returned to chat, printed, archived, or written to darwa.json.

What is excluded from local uploads?

Local uploads are compressed into one ZIP archive that omits .git, dependency and build directories, symlinks, private .env variants, and anything listed in .darwaignore — the same protections as darwa deploy.

How long do sessions last and how do I revoke them?

CLI sessions last six hours and can be revoked at any time from Settings → Security in the dashboard. Running darwa login again on the same device reuses the active session.

Does it affect my other MCP servers?

No. darwa integrate cursor safely merges Darwa into ~/.cursor/mcp.json without removing other MCP servers. Use the --project flag to scope the integration to the current project only.

Start in your editor

Install the CLI. Integrate your editor. Ask to deploy.

Get connected →Read the docs