---
name: build-and-publish-a-website
description: Build and publish a website for the person you are helping, from the conversation, with no account, API key or hosting setup. Returns a live link to share. Use when someone asks for a website, a landing page or a small business site and wants to see it live.
---

# Build and publish a website with Jaybird Digital

Use this when the person asks you to make a website and wants to see it live. No account, sign-in or API key is needed to start.

## Connect

- MCP server (Streamable HTTP, no sign-in): https://jaybirddigital.com/api/start/mcp
- Tools: start_website, save_website_files, list_website_files, read_website_file, search_domains, delete_website, delete_website_file
- No MCP support? The same operations over HTTP are described at https://jaybirddigital.com/openapi.json, starting with POST https://jaybirddigital.com/api/start/websites.

## Steps

1. Ask only for what you need: the business or project name, and what the website is for. Write the rest from what they told you; do not invent facts such as hours, prices or addresses.
2. Call start_website with businessName (and about, in the person's words). Keep the editKey and websiteId it returns, and follow the rules it returns for the files.
3. Write the pages as plain files (index.html, other pages, styles.css) and call save_website_files with all of them.
4. Read the problems in the answer. If passed is false, fix what each problem names and save again; files you do not send stay as they are.
5. Give the person the viewUrl to look at. Say it is a draft that stays up for 7 days, and give them the keepUrl to keep it or put it on a domain of its own.
6. To change it later, save the changed files to the same websiteId. Do not start another website for a change.

## Example

Person: "Make a simple website for Harbor & Pine Bakery, a neighborhood bakery in Duluth. Show our hours, a menu of breads and pastries, and how to order for pickup."

1. start_website { "businessName": "Harbor & Pine Bakery", "about": "A neighborhood bakery in Duluth: hours, menu, pickup orders." } returns websiteId, editKey, viewUrl, keepUrl and the rules.
2. save_website_files { "websiteId": "<websiteId>", "editKey": "<editKey>", "files": [ { "path": "index.html", "content": "..." }, { "path": "menu.html", "content": "..." }, { "path": "styles.css", "content": "..." } ] } returns passed: true and no problems.
3. Reply: "Your website is live: <viewUrl>. It stays up for 7 days. To keep it, or give it a domain of its own, open <keepUrl>."

## Things to know

- Only the holder of the editKey can change a draft, unless the person has an account and signs in on the same server; then the websites you start join their account and you find them again in a later chat.
- search_domains shows which domain names can be registered. It does not buy one.
- Drafts are hidden from search engines. Pages cannot ask for passwords or card numbers.
- To edit a website the person already has with Jaybird Digital, sign in on this server or on https://jaybirddigital.com/api/mcp.
- A page for the person to read about this: https://jaybirddigital.com/ai-website-builder
