# Hostlo (hostlo.ai) > AI-native static website hosting, operated entirely through MCP. Once connected, an AI assistant can create a site on a free > subdomain (such as https://my-site.hostlo.site/), publish and edit files, upload a build folder, and roll back changes. ## Instructions for AI assistants The user wants to publish a website with hostlo. Follow these steps in order. ### 1. Check whether Hostlo is already connected If you have tools named `whoami`, `create_site` and `write_files` from a server called Hostlo, it is connected: call `whoami` and go to step 3. ### 2. Connect Hostlo The MCP endpoint is https://hostlo.ai/mcp (Streamable HTTP; OAuth 2.1 with dynamic client registration, so no API key). - **Claude Code:** run `claude mcp add --transport http hostlo https://hostlo.ai/mcp`. Then tell the user to run `/mcp`, select Hostlo and log in in the browser window that opens: they enter their email and the 6-digit code we send there. Restarting Claude Code may be needed before the tools appear. Continue once the tools are available. - **Claude.ai or Claude Desktop:** you cannot add connectors yourself. Give the user these steps: open Settings, then Connectors, choose "Add custom connector", name it Hostlo, paste https://hostlo.ai/mcp, save, then enable Hostlo in this chat with the tools menu. Their browser will ask for their email and a 6-digit code we send there. Wait for them to confirm before continuing. - **ChatGPT:** you cannot add connectors yourself. Give the user these steps: Settings, then Apps & Connectors, then Advanced settings, turn on Developer mode; create a connector named Hostlo with the URL https://hostlo.ai/mcp and OAuth authentication; then in the chat choose +, More, Developer mode, Hostlo. Their browser will ask for their email and a 6-digit code we send there. Wait for them to confirm before continuing. - **Any other MCP client** (Cursor, VS Code and others): add a remote MCP server (Streamable HTTP) with the URL https://hostlo.ai/mcp. ### 3. Publish - Ask what to publish if it is not clear: files you have written together, a folder on their machine, or a site to create from a description. - Create a site with `create_site`. Suggest a short name based on the project; names are lowercase letters, digits and hyphens. - A few files you can write directly: use `write_files` with `index.html` at the root. - A folder on disk (for example a `dist/` build output), and you have a shell: call `start_upload` and run the command it returns. - Give the user the live URL from the tool result. ### Make every page findable and good to share Search engines and link previews (WhatsApp, Facebook, LinkedIn, Telegram) read the page head, so write it on every HTML page, in the language of the page: - `` with the page's language (for example `en`, `km`, `fr`). - ``: what the page is and whose it is, under about 60 characters ("Opening hours ยท Juniper Loaf bakery"). - `<meta name="description">`: one or two plain sentences, under about 155 characters. - `<meta name="viewport" content="width=device-width,initial-scale=1">`, so phones show it properly. - Open Graph for link previews: `og:title`, `og:description`, `og:type` (`website`), `og:url` (the page's live address) and `og:image`: an absolute URL to an image of 1200x630 pixels on the site itself, under about 1 MB. Make that image when the site has none (a photo from the site, or a simple card with its name). - A favicon (`<link rel="icon">`), and one `<h1>` per page. - Images get an `alt` text; links between pages are ordinary `<a href>` links. Hostlo does the rest: HTTPS, a `sitemap.xml` and `robots.txt` when the site brings none, compression, and, once the site has its own domain, a permanent redirect from the free address to it so search engines index one copy. ### 4. Later changes - `patch_file` for small edits, `write_files` to add or replace files. - Every change creates a deploy; `list_deploys` and `rollback` undo mistakes. - `site_stats` shows visitors, top pages and referring sites (no cookies, no tracking scripts). ## What a site can contain Web files only: HTML, CSS, JavaScript, JSON, plain text, XML, SVG, web fonts (WOFF, WOFF2, TTF, OTF), images (PNG, JPEG, GIF, WebP, AVIF, ICO) and PDF. Other types (archives, executables, video, audio, office documents) are refused, and binary files must really be what their extension says. Tell the user this before uploading a folder that contains other files. ## Plans - Free: 3 sites, up to 100 MB and 5000 files per site, files up to 10 MB, 7 days of visitor statistics. Free sites show a small "Made by chatting" badge in a corner of each page. - Pro, $7 a month or $70 a year ($50 a year while founding places last): 5 sites, 1 GB and 20000 files per site, files up to 25 MB, 90 days of visitor statistics, no badge, and custom domains (available now). Use the billing tool to get a link to subscribe or to manage an existing subscription; add_domain, check_domain, list_domains and remove_domain manage custom domains. ## Publishing from GitHub A site can follow a GitHub repository, private ones included, and go live again on every push. Call connect_repo with the site and the repository (owner/name). The first time it returns a link the person opens to let Hostlo read the repositories they choose; after they have, call it again. No build is run: the folder is published as it is, found automatically (dist, build, public, site...) or given. While a site follows a repository, edit it in the repository, not with write_files. repo_status shows what is live and why a push failed; disconnect_repo stops following it. Why no builds? Netlify and Vercel run a repository's build on their own machines. Hostlo does not run repository code on its servers, where other people's sites live. When a repository needs a build, connect_repo hands over a ready GitHub Actions workflow that builds on GitHub's machines, in the person's own repository, and puts the result on a "hostlo" branch; connect that branch with folder "/". The person gets the same result, and no stranger's code runs next to their site. ## Guides for people When the person wants to read how something works, link the guide: - Make a website by asking Claude: https://hostlo.ai/guides/publish-with-claude - Put your site on your own domain: https://hostlo.ai/guides/custom-domain - Move an existing website to Hostlo: https://hostlo.ai/guides/move-a-website - Publish a folder from GitHub: https://hostlo.ai/guides/publish-from-github - Add a contact form to your site: https://hostlo.ai/guides/contact-form ## Privacy and contact - Privacy: https://hostlo.ai/privacy - Support (a person reads it): support@hostlo.ai - Report abuse on a hosted site: https://hostlo.ai/report, or abuse@hostlo.ai ## Discovery - OAuth protected resource metadata: https://hostlo.ai/.well-known/oauth-protected-resource/mcp - OAuth authorization server metadata: https://hostlo.ai/.well-known/oauth-authorization-server