Host and deploy a website from Claude Code
Claude Code can deploy a website in one step once Ginta's MCP server is added. Run
claude mcp add --transport http ginta https://ginta.app/mcp, sign in once with /mcp, and ask Claude Code to publish:
it sends hand-written pages straight to Ginta, or zips your Vite, Astro or Next build and uploads it through a
short-lived link. The site is live at <name>.ginta.page as soon as the upload finishes, and on your own domain on paid
plans. No GitHub repo, no Vercel or Netlify account, no API key to paste.
We make Ginta. The Claude Code commands below come from Anthropic's Claude Code docs, checked on 19 October 2026.
Add Ginta to Claude Code
claude mcp add --transport http ginta https://ginta.app/mcp
Then sign in, either way:
- Inside Claude Code: run
/mcp, pick ginta and follow the sign-in in your browser. - From the shell:
claude mcp login ginta(it prints a URL when there's no browser;--no-browserforces that).
A Ginta window opens: sign in (or create a free account) and press Allow. Tokens refresh by themselves;
claude mcp logout ginta signs out.
Scopes. The default, --scope local, keeps Ginta for you in this project only. Put the flag after the name:
claude mcp add --transport http ginta --scope user https://ginta.app/mcp # every project on this machine
claude mcp add --transport http ginta --scope project https://ginta.app/mcp # shared with the team through .mcp.json
The project scope writes this to .mcp.json, which you can also add by hand:
{ "mcpServers": { "ginta": { "type": "http", "url": "https://ginta.app/mcp" } } }
Already added Ginta as a connector in claude.ai? If you sign in to Claude Code with that claude.ai subscription, it
shows up in /mcp by itself (not when you use an API key).
Two ways to publish
Hand-written pages. For a few HTML, CSS and JavaScript files, Claude Code calls create_site with the files
(index.html required) and later update_site with small find-and-replace edits, so it never resends whole files. Ask
it to read Ginta's guide first (get_guide) if you want Ginta's design rules, free photos and form block; for code you
wrote yourself, topic: "developers" covers builds and APIs.
A framework build. For a Vite, Astro, SvelteKit or Next.js static export, ask:
Build the project and deploy dist/ to Ginta as a new site called my-app.
Claude Code calls create_site without files (or upload_files without files for a site that already exists). Ginta
answers with an upload link (it works for 15 minutes and 3 uploads) and the exact command, which Claude Code runs:
cd dist && zip -qr ../site.zip . && curl -sS --fail-with-body -X POST \
-H "Content-Type: application/zip" --data-binary @../site.zip "https://ginta.app/api/upload/<token>"
The answer is JSON: the new version, the changed and deleted files, and anything skipped (hidden files, unsupported
types). The bundle never passes through the model's context, so a large build costs no tokens. A zip of the folder
itself (zip -r site.zip dist) works too: Ginta unwraps the single top folder. With replace_all, the upload becomes
the whole site and old files are removed; without it, files are added or replaced.
For Next.js, set output: "export" and deploy out/. Every create, change and upload carries a short note from
Claude Code about what changed and why, which the site's owner sees in Ginta's editor.
Routing: clean URLs, 404 and _redirects
- Clean URLs:
about.htmlis served at/about(and/about.htmlredirects there);blog/index.htmlat/blog/. - Your own
404.htmlanswers any unknown address with status 404. _redirectsin the Netlify / Cloudflare Pages format, one rule per line:
/old-menu /menu 301
/blog/:slug /news/:slug 301
/* /index.html 200
The last line is the single-page-app fallback: a 200 rule only applies when no file matches. Search engines see the HTML
Ginta sends, so prerender your pages if SEO matters. Every site has its own origin, so root-relative paths like
/assets/app.js work. All file types and rules: files and routing.
APIs without exposing keys
A page may only fetch its own address, and nothing in page code is secret. For an outside API, ask Claude Code to
store the key with manage_secrets (encrypted, write-only: nobody can read it back) and add a connection with
manage_connections. Your JavaScript then calls /_ginta/api/<name>/… and Ginta adds the key and forwards the call to
that API only. Details and limits: secrets and connections.
Scripts from other websites: a trusted list (analytics, Stripe.js, Calendly, chat widgets, video players) on every plan,
any https:// script on Hosting, Hosting Plus, Hosting Studio, Pro and Agency (from €5 a month).
When Ginta is the wrong choice
Ginta hosts static files plus its own parts (forms, bookings, shop, menu, blog). It doesn't run your server code: no API routes, server-side rendering or database of your own. For a real app backend, Vercel, Netlify or Cloudflare Workers fit better. Ginta fits a business website or a static app that should go live quickly, that someone non-technical may keep up to date later (in Ginta's editor, without Claude Code), and that needs forms or bookings without extra services.
Limits and price
Deploying from Claude Code uses no Ginta credits. The Free plan includes 20 websites at their Ginta
address with a small "Made with Ginta" badge. Your own domain comes with paid plans (from €5 a month): Hosting,
€5 a month (50 websites, 3 domains, no badge), is the plan for people
who build with their own AI. Files per site, total size, file size, API calls and MCP writes per plan are on
limits; every change is a version, and restore_version undoes one. All plans: pricing.
Sources
- Claude Code docs: Connect Claude Code to tools via MCP (read 19 October 2026)
- Ginta docs: Claude Code, files and routing, tools reference
Questions
Can Claude Code deploy a website by itself?
It can build one and run deploy commands, but it needs somewhere to deploy to, usually with your own account and credentials for that host. With Ginta's MCP server added, it publishes through Ginta's tools after you sign in once.
Is there free hosting for a Claude Code project?
Yes: Ginta's Free plan publishes up to 20 websites at their ginta.page address, with the badge and no
custom domain. Own domains start at €5 a month.
Which frameworks work?
Anything that builds to static files: plain HTML, Vite (React, Vue, Svelte), Astro, Next.js with output: "export",
SvelteKit with the static adapter, Eleventy, Hugo. Server routes and SSR don't run on Ginta.
Can I connect my own domain from Claude Code?
Yes, on paid plans (from €5 a month). Ask it to connect the domain: connect_domain returns the exact DNS steps for your
provider, and asked again, it checks whether the site is live there.
Can someone else edit the site later?
Yes. The site lives in your Ginta account: you can change it in Ginta's editor by asking in plain words, and give a helper their own sign-in at the site's address + /admin for its parts.
Does it work in Codex or Cursor too?
Yes, it's the same server: deploy a website from Codex or Cursor. Non-developers can use Claude on the web: build a website with Claude. All tools: website builder MCP.