Recipes
Each recipe is a prompt you can give your agent. The agent picks the tools - these descriptions just show which calls are involved so you know what to expect.
Publish a single generated artifact
Generate a one-page HTML summary of {topic} and publish it. Use the shared
us.hostsmith.linkdomain.
What the agent does:
list_domains- confirmus.hostsmith.linkis available and active.create_sitewith{ domain: "us.hostsmith.link" }(auto-generated subdomain).deploy_fileswith{ files: [{ fileName: "index.html", content: "<html>..." }] }.get_site- read back the public URL to share.
Result: a live https://<auto>.us.hostsmith.link/ URL within a few seconds.
Deploy a multi-file site
Build a small landing page with
index.html, a stylesheet, and one image. Deploy it.
For a few small text files plus one image, the agent typically zips the bundle and uses deploy_create_upload + deploy_finalize (faster, preserves the assets/ subdirectory).
What the agent does:
list_domainsandcreate_site(or skip if a target site exists).- Zip
index.html,styles.css,assets/hero.pngintosite.zip. deploy_create_uploadwith{ files: [{ fileName: "site.zip", fileSize: <bytes> }] }.- PUT the zip to the returned presigned URL(s), capturing each
ETag. deploy_finalizewith the collected completions.
The fileWorker auto-extracts the zip after promotion, so subdirectories are preserved end-to-end.
For 3 or fewer small text files, plain deploy_files is simpler. The agent will pick the right path based on payload size.
Update an existing site
Update the homepage on my
weekly-reportsite - here's the new HTML.
What the agent does:
list_sites- find the site by subdomain or label.deploy_fileswith the new content.
Deploys overwrite the previous version. Confirm overwrite with the user before any deploy if the artifact represents work you don't want to lose.
Attach a custom domain
Custom domain provisioning is initiated from the Hostsmith app (DNS validation requires you to add records at your registrar). Once the domain shows active in list_domains, the MCP path is the same as for shared domains.
List my custom domains, then create a site at
landing.example.com.
What the agent does:
list_domainswith{ shared: false }- confirmexample.comis available andactiveand checkenableApexDomain/enableSubdomains.create_sitewith{ domain: "example.com", subdomain: "landing", partition: <domain's partition> }.deploy_files(ordeploy_create_upload+deploy_finalize) as usual.
To serve the bare apex (example.com), pass subdomain: "www" - only valid when the domain has enableApexDomain: true. The bare apex automatically redirects to www.<apex>.
See Custom domains for the one-time provisioning flow.
Switch data partition
By default, sites land in your home partition (set when you signed up). To create a site in the other partition, pass partition explicitly.
Show my home partition, then create a site in the EU partition under
eu.hostsmith.link.
What the agent does:
get_account- readuser.homePartitionso the agent knows where the default would land.list_domainswith{ partition: "eu" }to confirmeu.hostsmith.linkis reachable.create_sitewith{ domain: "eu.hostsmith.link", partition: "eu" }.
The partition argument on create_site MUST match the partition of the selected domain.
Inspect plan headroom before creating
How many sites can I still create on my current plan?
What the agent does:
get_account- returnsplan.limitsandusage. The agent comparesusage.sitesagainstplan.limits.maxSites.
If you're at the limit, ask the agent to free space first (delete_site) or upgrade in the app.
Delete a site safely
Delete the
old-demosite from my account. Yes, I'm sure.
What the agent does:
list_sites- resolve thesiteId.- Confirm with the user (the tool itself enforces this - it returns an error unless
confirm: true). delete_sitewith{ siteId, confirm: true }.
The URL becomes unreachable immediately and content cannot be recovered.
Use private / password-protected sites
Site access controls (password, allowlist) are configured in the Hostsmith app. The MCP server itself does not expose access-control tooling today - configure it once in the app, then deploy normally with deploy_files or deploy_create_upload. Existing access settings persist across deploys.
