[{"data":1,"prerenderedAt":550},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fmcp\u002Frecipes":3,"docs-navigation":464,"docs-surround-\u002Fdocs\u002Fmcp\u002Frecipes":547},{"id":4,"title":5,"body":6,"description":455,"extension":456,"icon":457,"meta":458,"navigation":459,"path":460,"seo":461,"stem":462,"__hash__":463},"docs\u002Fdocs\u002F2.mcp\u002F5.recipes.md","Recipes",{"type":7,"value":8,"toc":443},"minimark",[9,13,17,22,33,36,74,81,85,94,109,111,155,158,168,172,181,183,196,199,203,213,221,223,263,280,289,293,300,308,310,340,349,353,358,360,381,388,392,401,403,427,430,434],[10,11,5],"h1",{"id":12},"recipes",[14,15,16],"p",{},"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.",[18,19,21],"h2",{"id":20},"publish-a-single-generated-artifact","Publish a single generated artifact",[23,24,25],"blockquote",{},[14,26,27,28,32],{},"Generate a one-page HTML summary of {topic} and publish it. Use the shared ",[29,30,31],"code",{},"us.hostsmith.link"," domain.",[14,34,35],{},"What the agent does:",[37,38,39,49,59,68],"ol",{},[40,41,42,45,46,48],"li",{},[29,43,44],{},"list_domains"," - confirm ",[29,47,31],{}," is available and active.",[40,50,51,54,55,58],{},[29,52,53],{},"create_site"," with ",[29,56,57],{},"{ domain: \"us.hostsmith.link\" }"," (auto-generated subdomain).",[40,60,61,54,64,67],{},[29,62,63],{},"deploy_files",[29,65,66],{},"{ files: [{ fileName: \"index.html\", content: \"\u003Chtml>...\" }] }",".",[40,69,70,73],{},[29,71,72],{},"get_site"," - read back the public URL to share.",[14,75,76,77,80],{},"Result: a live ",[29,78,79],{},"https:\u002F\u002F\u003Cauto>.us.hostsmith.link\u002F"," URL within a few seconds.",[18,82,84],{"id":83},"deploy-a-multi-file-site","Deploy a multi-file site",[23,86,87],{},[14,88,89,90,93],{},"Build a small landing page with ",[29,91,92],{},"index.html",", a stylesheet, and one image. Deploy it.",[14,95,96,97,100,101,104,105,108],{},"For a few small text files plus one image, the agent typically zips the bundle and uses ",[29,98,99],{},"deploy_create_upload"," + ",[29,102,103],{},"deploy_finalize"," (faster, preserves the ",[29,106,107],{},"assets\u002F"," subdirectory).",[14,110,35],{},[37,112,113,121,137,144,150],{},[40,114,115,117,118,120],{},[29,116,44],{}," and ",[29,119,53],{}," (or skip if a target site exists).",[40,122,123,124,126,127,126,130,133,134,67],{},"Zip ",[29,125,92],{},", ",[29,128,129],{},"styles.css",[29,131,132],{},"assets\u002Fhero.png"," into ",[29,135,136],{},"site.zip",[40,138,139,54,141,67],{},[29,140,99],{},[29,142,143],{},"{ files: [{ fileName: \"site.zip\", fileSize: \u003Cbytes> }] }",[40,145,146,147,67],{},"PUT the zip to the returned presigned URL(s), capturing each ",[29,148,149],{},"ETag",[40,151,152,154],{},[29,153,103],{}," with the collected completions.",[14,156,157],{},"The fileWorker auto-extracts the zip after promotion, so subdirectories are preserved end-to-end.",[159,160,162],"callout",{"type":161},"tip",[14,163,164,165,167],{},"For 3 or fewer small text files, plain ",[29,166,63],{}," is simpler. The agent will pick the right path based on payload size.",[18,169,171],{"id":170},"update-an-existing-site","Update an existing site",[23,173,174],{},[14,175,176,177,180],{},"Update the homepage on my ",[29,178,179],{},"weekly-report"," site - here's the new HTML.",[14,182,35],{},[37,184,185,191],{},[40,186,187,190],{},[29,188,189],{},"list_sites"," - find the site by subdomain or label.",[40,192,193,195],{},[29,194,63],{}," with the new content.",[14,197,198],{},"Deploys overwrite the previous version. Confirm overwrite with the user before any deploy if the artifact represents work you don't want to lose.",[18,200,202],{"id":201},"attach-a-custom-domain","Attach a custom domain",[14,204,205,206,209,210,212],{},"Custom domain provisioning is initiated from the Hostsmith app (DNS validation requires you to add records at your registrar). Once the domain shows ",[29,207,208],{},"active"," in ",[29,211,44],{},", the MCP path is the same as for shared domains.",[23,214,215],{},[14,216,217,218,67],{},"List my custom domains, then create a site at ",[29,219,220],{},"landing.example.com",[14,222,35],{},[37,224,225,246,253],{},[40,226,227,54,229,45,232,235,236,238,239,242,243,67],{},[29,228,44],{},[29,230,231],{},"{ shared: false }",[29,233,234],{},"example.com"," is available and ",[29,237,208],{}," and check ",[29,240,241],{},"enableApexDomain"," \u002F ",[29,244,245],{},"enableSubdomains",[40,247,248,54,250,67],{},[29,249,53],{},[29,251,252],{},"{ domain: \"example.com\", subdomain: \"landing\", partition: \u003Cdomain's partition> }",[40,254,255,257,258,100,260,262],{},[29,256,63],{}," (or ",[29,259,99],{},[29,261,103],{},") as usual.",[14,264,265,266,268,269,272,273,276,277,67],{},"To serve the bare apex (",[29,267,234],{},"), pass ",[29,270,271],{},"subdomain: \"www\""," - only valid when the domain has ",[29,274,275],{},"enableApexDomain: true",". The bare apex automatically redirects to ",[29,278,279],{},"www.\u003Capex>",[14,281,282,283,288],{},"See ",[284,285,287],"a",{"href":286},"\u002Fdocs\u002Fgetting-started\u002Fcustom-domains","Custom domains"," for the one-time provisioning flow.",[18,290,292],{"id":291},"switch-data-partition","Switch data partition",[14,294,295,296,299],{},"By default, sites land in your home partition (set when you signed up). To create a site in the other partition, pass ",[29,297,298],{},"partition"," explicitly.",[23,301,302],{},[14,303,304,305,67],{},"Show my home partition, then create a site in the EU partition under ",[29,306,307],{},"eu.hostsmith.link",[14,309,35],{},[37,311,312,322,333],{},[40,313,314,317,318,321],{},[29,315,316],{},"get_account"," - read ",[29,319,320],{},"user.homePartition"," so the agent knows where the default would land.",[40,323,324,54,326,329,330,332],{},[29,325,44],{},[29,327,328],{},"{ partition: \"eu\" }"," to confirm ",[29,331,307],{}," is reachable.",[40,334,335,54,337,67],{},[29,336,53],{},[29,338,339],{},"{ domain: \"eu.hostsmith.link\", partition: \"eu\" }",[14,341,342,343,345,346,348],{},"The ",[29,344,298],{}," argument on ",[29,347,53],{}," MUST match the partition of the selected domain.",[18,350,352],{"id":351},"inspect-plan-headroom-before-creating","Inspect plan headroom before creating",[23,354,355],{},[14,356,357],{},"How many sites can I still create on my current plan?",[14,359,35],{},[37,361,362],{},[40,363,364,366,367,117,370,373,374,377,378,67],{},[29,365,316],{}," - returns ",[29,368,369],{},"plan.limits",[29,371,372],{},"usage",". The agent compares ",[29,375,376],{},"usage.sites"," against ",[29,379,380],{},"plan.limits.maxSites",[14,382,383,384,387],{},"If you're at the limit, ask the agent to free space first (",[29,385,386],{},"delete_site",") or upgrade in the app.",[18,389,391],{"id":390},"delete-a-site-safely","Delete a site safely",[23,393,394],{},[14,395,396,397,400],{},"Delete the ",[29,398,399],{},"old-demo"," site from my account. Yes, I'm sure.",[14,402,35],{},[37,404,405,413,420],{},[40,406,407,409,410,67],{},[29,408,189],{}," - resolve the ",[29,411,412],{},"siteId",[40,414,415,416,419],{},"Confirm with the user (the tool itself enforces this - it returns an error unless ",[29,417,418],{},"confirm: true",").",[40,421,422,54,424,67],{},[29,423,386],{},[29,425,426],{},"{ siteId, confirm: true }",[14,428,429],{},"The URL becomes unreachable immediately and content cannot be recovered.",[18,431,433],{"id":432},"use-private-password-protected-sites","Use private \u002F password-protected sites",[14,435,436,437,439,440,442],{},"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 ",[29,438,63],{}," or ",[29,441,99],{},". Existing access settings persist across deploys.",{"title":444,"searchDepth":445,"depth":445,"links":446},"",2,[447,448,449,450,451,452,453,454],{"id":20,"depth":445,"text":21},{"id":83,"depth":445,"text":84},{"id":170,"depth":445,"text":171},{"id":201,"depth":445,"text":202},{"id":291,"depth":445,"text":292},{"id":351,"depth":445,"text":352},{"id":390,"depth":445,"text":391},{"id":432,"depth":445,"text":433},"Task-shaped how-tos for the things people actually want to do with the Hostsmith MCP server.","md","solar:chef-hat-bold",{},null,"\u002Fdocs\u002Fmcp\u002Frecipes",{"title":5,"description":455},"docs\u002F2.mcp\u002F5.recipes","pJEauv7UBPX1f5Ud7cfdWDkwE2tzPsovhQPR_GVMmQc",[465],{"title":466,"path":467,"stem":468,"children":469,"page":546},"Docs","\u002Fdocs","docs",[470,496,528],{"title":471,"path":472,"stem":473,"children":474,"page":-1,"icon":476},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started\u002Findex",[475,477,481,485,489,492],{"title":471,"path":472,"stem":473,"icon":476},"solar:rocket-bold",{"title":478,"path":479,"stem":480},"Introduction","\u002Fdocs\u002Fgetting-started\u002Fintroduction","docs\u002F1.getting-started\u002F1.introduction",{"title":482,"path":483,"stem":484},"Quick Start","\u002Fdocs\u002Fgetting-started\u002Fquick-start","docs\u002F1.getting-started\u002F2.quick-start",{"title":486,"path":487,"stem":488},"Sites","\u002Fdocs\u002Fgetting-started\u002Fsites","docs\u002F1.getting-started\u002F3.sites",{"title":490,"path":286,"stem":491},"Custom Domains","docs\u002F1.getting-started\u002F4.custom-domains",{"title":493,"path":494,"stem":495},"Support","\u002Fdocs\u002Fgetting-started\u002Fsupport","docs\u002F1.getting-started\u002F5.support",{"title":497,"path":498,"stem":499,"children":500,"page":-1,"icon":502},"MCP","\u002Fdocs\u002Fmcp","docs\u002F2.mcp\u002Findex",[501,503,507,511,515,519,520,524],{"title":497,"path":498,"stem":499,"icon":502},"solar:plug-circle-bold",{"title":504,"path":505,"stem":506},"Quick start","\u002Fdocs\u002Fmcp\u002Fquick-start","docs\u002F2.mcp\u002F1.quick-start",{"title":508,"path":509,"stem":510},"Clients","\u002Fdocs\u002Fmcp\u002Fclients","docs\u002F2.mcp\u002F2.clients",{"title":512,"path":513,"stem":514},"Authentication","\u002Fdocs\u002Fmcp\u002Fauthentication","docs\u002F2.mcp\u002F3.authentication",{"title":516,"path":517,"stem":518},"Tools","\u002Fdocs\u002Fmcp\u002Ftools","docs\u002F2.mcp\u002F4.tools",{"title":5,"path":460,"stem":462},{"title":521,"path":522,"stem":523},"Limits and errors","\u002Fdocs\u002Fmcp\u002Flimits-and-errors","docs\u002F2.mcp\u002F6.limits-and-errors",{"title":525,"path":526,"stem":527},"FAQ","\u002Fdocs\u002Fmcp\u002Ffaq","docs\u002F2.mcp\u002F7.faq",{"title":529,"path":530,"stem":531,"children":532,"page":-1,"icon":534},"Developers","\u002Fdocs\u002Fdevelopers","docs\u002F3.developers\u002Findex",[533,535,538,542],{"title":529,"path":530,"stem":531,"icon":534},"solar:code-bold",{"title":512,"path":536,"stem":537},"\u002Fdocs\u002Fdevelopers\u002Fauthentication","docs\u002F3.developers\u002F1.authentication",{"title":539,"path":540,"stem":541},"API Explorer","\u002Fdocs\u002Fdevelopers\u002Fapi-explorer","docs\u002F3.developers\u002F2.api-explorer",{"title":543,"path":544,"stem":545},"Node.js SDK","\u002Fdocs\u002Fdevelopers\u002Fsdk","docs\u002F3.developers\u002F3.sdk",false,[548,549],{"title":516,"path":517,"stem":518,"children":-1},{"title":521,"path":522,"stem":523,"children":-1},1778091982130]