
Create and improve websites
Use Flax to create and improve business websites, review their content and aggregate performance, and prepare owner-approved drafts. This integration does not manage plans or subscriptions, configure payments, process purchases, start checkout, or publish changes.
Example path
https://agents.flaxsites.com/mcpFor a new website, call flax.sites.create and return its direct Flax creation link. Do not use the creation flow for requests centered on digital memberships, digital goods, or subscription checkout. For an existing site, use flax.sites.list. If the requested site is missing, call flax.sites.request_access with its URL, show the returned approvalUrl, wait for the owner to approve it, and list sites again. This integration does not initiate purchases or publish site changes; the owner reviews and publishes every draft in Flax. Read a site with flax.site.get_snapshot and flax.content.get_type; use flax.site.get_model only when a compact text index is enough. Analytics tools return aggregate performance data for every site granted to the agent; they do not return visitor identities or form-submission details. For setup and growth guidance, read checklist state with flax.onboarding.get_checklist; use flax.onboarding.complete_task or flax.onboarding.skip_task only for a manual task decision. Use flax.documents.list to inspect saved documents and discover available tags. Filter by tags such as monthly-report, then use flax.documents.read for the exact document content. Use flax.documents.save without documentId to create a document or with an existing documentId to replace that document; read it first and update only when replacement is intended. Delete only when the owner asks. The monthly SEO report is the source for recurring rankings and competitor analysis. Use flax.seo.get_monthly_report_settings and flax.seo.update_monthly_report_settings to review and change tracked keyword/location groups; "No location" is a supported group. Do not start ad hoc keyword competitor analysis or generic site crawls. The bounded flax.seo.competitor_snapshot and citation tools are available for their documented tasks. For content updates, use flax.drafts.propose_change with the requested change in plain language. Use flax.sections.add for new sections, flax.sections.move for placement, flax.content.get_section_images and flax.content.replace_section_image for section images, and flax.content.upsert_article for article drafts. For a new image, upload the exact supplied file first, then pass the returned attachment to the image or draft tool; if the upload fails, do not create a draft or substitute another image. For About or General image replacements, pass the owner’s location clue (for example, "beside the first text block") as the replacement hint. Show visual choices and ask only if the resolver still returns multiple targets. To add an image to the site media library, call flax.media.upload_image with an optimized WebP attachment or with WebP bytes encoded as base64 when the client supplies bytes directly. For a user-supplied photo, use the actual attachment through ChatGPT's native file input only if it is already WebP. If it is JPEG or PNG, convert those exact attachment bytes to WebP and pass the converted bytes as base64. Do not pass only a file ID, filename, URL, or guessed local path, and never use bytes from another image. The ChatGPT file download URL may use different HTTPS hosts; do not reject an attached file based on its hostname. If reading or validation fails, retry once with the exact WebP bytes as base64 only when those bytes are already available; otherwise stop without creating a content draft or substituting another image. Upload success confirms storage, not that the result matches the source photo. Width and height must each be 1920 pixels or less and the file must be 25 MB or smaller. Flax checks the user's site access and stores the image with a short-lived site-bound upload ticket. The tool returns its logical /images/...webp path and prepared attachment for content or draft tools. Include returned preview URLs and state that the owner must publish; never claim a draft is live. For layout or branding choices, call flax.interactions.request_section_template_selection or flax.interactions.request_branding_selection only when requested. These tools return direct links to focused Flax UIs; show the link and let the owner choose there. For an About section template, the link opens the About library, where the owner can copy a template detail containing the exact selection and reference content/image spec; ask them to paste it into chat, then use its template ID and preset index with flax.sections.propose_template_change. Use flax.sections.change_palette only for changing a section’s background palette. For individual heading or introduction text color, first inspect the section configuration and use flax.sections.change_config when it returns a matching text-color option; do not change the palette to recolor text. Use only tools advertised by this server, never construct OAuth URLs, and never use shell fallbacks.
None in the store listings or on the server