Dance MCP documentation
How the connectors work
Two Model Context Protocol connectors for Claude, Codex, Cursor and v0 and other MCP clients. AI Website Builder builds and manages your website. Digital Marketing + SEO finds the change that wins more customers and prepares it for your approval.
Both run on the same Dance service, so one Dance account and one change history work on either. To add one to your AI app, follow the steps on Connect your AI.
Connector
AI Website Builder
Build, redesign and manage your business website from the AI app you already use.
https://www.startdancing.ai/mcp/server/websiteServer name dance-website-builder · About AI Website Builder
What it does
New websites: a free preview, $299 to keep. build_website builds a modern website from your current one on Yoink (yoink.website), a Dance product, and returns a private link where you watch it being built. The preview is free. Keeping it costs $299 one-time, which includes the whole website, AI changes in your own words, the code to download, your own editor, the first month of hosting, and a real person to help you go live. buy_website shows the seller, the full price, what it includes and where refunds go, and only after you say yes hands over Stripe’s secure checkout for exactly that amount. Card details never enter the conversation, and your current website, domain and DNS are not changed.
Websites built here: any change, then your own domain. change_website takes a change in plain words: a new page, a section, a photo from your current site or a public image link, a booking button that goes to the booking tool you already use, layout or words. Each change lands on the preview first, and undo_website_change takes the latest one back out. Once the website is bought, publish_website shows you the preview and puts live only the version you approve; then connect_domain connects a domain you already own and returns the DNS records to add. Dance never sells or registers domains.
Connected websites: text changes with approval. On a site whose owner connected a compatible CMS, it changes page text (see Connected websites): an exact before and after, an unpublished draft, publication only after you approve, a check of the live page, and an undo.
Tools (17)
- build_websiteWrite
- get_website_buildRead
- find_my_websiteWrite
- buy_websiteSensitive write
- change_websiteWrite
- get_website_change_statusRead
- undo_website_changeWrite
- publish_websiteWrite
- connect_domainWrite
- check_domainRead
- list_connected_sitesOn both connectorsRead
- get_site_contextOn both connectorsRead
- prepare_website_changeOn both connectorsWrite
- apply_website_changeOn both connectorsWrite
- publish_website_changeOn both connectorsSensitive write
- get_website_changeOn both connectorsRead
- revert_website_changeOn both connectorsSensitive write
Try asking
- Build a website for my business where customers can book a call.
- Give my current website a fresh look.
- Add a page for our new service and match the rest of my site.
- Add a “Book now” button that goes to my Square page.
- Put my new website on mybusiness.com. I already own it.
- Publish it.
Not yet
- Buying a domain (connect one you already own instead)
- Building from a description when there’s no website yet (Dance’s team builds it with you)
- Uploading image files from the chat (use photos from your current site or a public image link)
- Booking systems (it links to the one you already use)
- New pages, photos or layout on a website you connected to Dance rather than one it built (text changes only there)
Connector
Digital Marketing + SEO
Find the one change that wins more customers, see the evidence, and prepare it for your approval.
https://www.startdancing.ai/mcp/server/marketingServer name dance-marketing-seo · About Digital Marketing + SEO
What it does
Any public website: research and recommendations. analyze_business reads the site, Google search demand and results, and AI answers (whether Google AI Overviews and ChatGPT cite the business, and who they cite instead). It ranks what to fix first, with the evidence behind each point, and propose_page_update drafts the exact before and after. It never changes a website it has only analyzed.
Reports. A new analysis is a Dance report. A free Dance account includes 3, shared across both connectors; when one is needed, the tool replies with a sign-in link. buy_reports sells more, approval first. Reusing finished research and talking through findings never use a report.
Connected websites: making the change. When the site’s owner has connected a compatible CMS, the recommendation becomes a change you approve. Anywhere else, you get the exact change to make yourself.
Tools (13)
- analyze_businessWrite
- get_analysisRead
- propose_page_updateWrite
- plan_site_rebuildRead
- get_report_allowanceRead
- buy_reportsWrite
- list_connected_sitesOn both connectorsRead
- get_site_contextOn both connectorsRead
- prepare_website_changeOn both connectorsWrite
- apply_website_changeOn both connectorsWrite
- publish_website_changeOn both connectorsSensitive write
- get_website_changeOn both connectorsRead
- revert_website_changeOn both connectorsSensitive write
Try asking
- Look at my website. What should I fix first to get more customers?
- Why are my competitors showing up on Google ahead of me?
- Help my business get recommended by AI assistants.
- Rewrite my homepage title and description.
- Make that change.
Not yet
- AI visibility beyond Google AI Overviews and ChatGPT
- Ads, social media and email campaigns
- Editing websites that aren’t connected to Dance, such as most WordPress, Wix or Squarespace sites (you get the exact change to make instead)
Addresses and sign-in
| Item | Value |
|---|---|
| Addresses | https://www.startdancing.ai/mcp/server/website (AI Website Builder), https://www.startdancing.ai/mcp/server/marketing (Digital Marketing + SEO) |
| Transport | MCP Streamable HTTP (JSON-RPC 2.0 over HTTPS POST). The server returns a signed Mcp-Session-Id on initialize; clients send it back so a conversation keeps one identity. Nothing to install or run locally. |
| Protocol versions | 2025-11-25 (latest), 2025-06-18, 2025-03-26 and 2024-11-05 |
| Sign-in | None needed to start: no account, OAuth or key. Each conversation is a guest with its own free daily allowance. When something needs a Dance account, such as a new report, the tool replies with a one-time sign-in link on www.startdancing.ai, and the account keeps its reports, websites and purchases across every app you use. |
| Access keys | Optional. A Dance access key, sent as Authorization: Bearer <key> in clients that support custom headers, reaches an account with connected websites or higher limits. The same key works on both connectors. A wrong or revoked key is treated as a guest, never an error. |
| Server names | dance-website-builder, dance-marketing-seo |
These are protocol endpoints, not web pages: opened in a browser they answer with an error. Use the www address; startdancing.ai without www redirects, and MCP clients don’t follow redirects. Each access key is its own account: its research, proposals, connected sites and changes are invisible to every other key, and only a fingerprint of the key is stored.
Earlier addresses run the same connectors and keep working, so there’s no need to reinstall:
https://www.startdancing.ai/muse/mcp/websitehttps://muse.startdancing.ai/mcp/websitehttps://www.startdancing.ai/muse/mcp/marketinghttps://muse.startdancing.ai/mcp/marketing
curl -s https://www.startdancing.ai/mcp/server/website \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Tool reference
Read changes nothing. Write saves something in Dance, an unpublished draft or a website preview. Sensitive write changes a live public website or sells you a website, and needs your approval every time.
- Write
analyze_business
Digital Marketing + SEO
Researches a public website: the business, its pages, search demand, search results and AI answers, then ranks what to fix first and drafts a page proposal.
- Side effects
- Saves an investigation to the caller’s account. Reads public pages (bounded, honours robots.txt) and makes paid search-data lookups for new live investigations. A new investigation is a Dance report: it reserves one of the Dance account’s reports before starting, uses it when the report is saved (complete or partial) and gives it back if the run fails. Reusing research uses none. Never changes any website.
- Inputs
- url (homepage or deep page), goal, evidence_mode ("saved" | "live"), run_id to resume, request_id (a report kept through sign-in, payment or confirmation), confirm_new_report, country_location_code, language_code.
- Returns
- run_id, status (queued, running, complete, partial, failed, needs_input, or sign_in_needed, confirm_new_report, reports_used, reports_busy, sign_in_unavailable), stages, recommendation, proposal handoff, limitations, an expiring report link, and report_notice when a report starts or finishes.
- Read
get_report_allowance
Digital Marketing + SEO
The Dance account behind the conversation: whether it is signed in, full reports left (free, bought, included with the Dance plan), its reports with links, a report waiting to continue, and payment status.
- Side effects
- None for the account. When the conversation isn’t signed in, it returns a one-time sign-in link (30 minutes) on www.startdancing.ai.
- Inputs
- None.
- Returns
- signed_in, reports (remaining by kind), your_reports (with deliverable links), waiting_report, payment.state, can_buy_reports, upgrade_url; or a sign-in link and match code.
- Write
buy_reports
Digital Marketing + SEO
More full reports after the free ones: first the terms (reports in the pack and its price, read from Dance’s Stripe account; one-time, not a subscription), then, once the person approves that price, Stripe’s secure checkout link.
- Side effects
- Creates a Stripe Checkout session only after approval; charges nothing itself and never charges a saved card. Reports are added only when Stripe confirms the payment, once per payment.
- Inputs
- approved_price (the exact price shown in the terms), request_id (the report to continue).
- Returns
- state (needs_approval, checkout_ready, price_changed, not_available, sign_in_needed), terms, checkout_url, upgrade_url.
- Read
get_analysis
Digital Marketing + SEO
Returns one of the caller’s investigations (or a public demo): ranked actions with evidence, confidence, sources and proposals.
- Side effects
- None. Reading never advances or changes an investigation.
- Inputs
- run_id.
- Returns
- The full analysis with evidence IDs and expiring read-only links.
- Write
propose_page_update
Digital Marketing + SEO
Creates an evidence-grounded proposal for one inspected page, or revises it from plain-language instructions.
- Side effects
- Saves a proposal revision in Dance. Refining shared demo material creates the caller’s private copy. Never changes any website.
- Inputs
- run_id, action_id, page_url, instructions, proposal_revision (rejects edits to a stale revision).
- Returns
- Proposal ID, revision, validation checks, declined claims.
- Read
plan_site_rebuild
Digital Marketing + SEO
Assesses whether a finished investigation’s site would benefit from a structured, plain-language-editable CMS and returns a brief when it would.
- Side effects
- May fetch the site’s homepage once to detect its platform (cached). Builds, deploys and changes nothing.
- Inputs
- run_id, force.
- Returns
- Fit, reasons, blockers, cautions and an optional brief. The brief is not a built website; build_website builds one.
- Write
build_website
AI Website Builder
Builds a brand-new website for a business from its current site, as a free homepage preview. Built and hosted by Yoink (yoink.website), a Dance product. Keeping it costs $299 one-time, which includes the whole website, AI changes in your own words, the code to download, your own editor, the first month of hosting, and a real person to help you go live (buy_website).
- Side effects
- Starts one preview build on Yoink and returns a private link to it. Never changes the current website, its domain or DNS. Charges nothing. The same site from the same account (a guest conversation or an access key) returns the same website instead of a second build.
- Inputs
- website_url (the business’s current website), email (optional; Yoink emails when the preview is ready, and it lets them find the website again from a later conversation with find_my_website).
- Returns
- website_id, status (building, ready, failed, no_website), open_url (private), price, paid.
- Read
get_website_build
AI Website Builder
Reports the progress of a website started with build_website.
- Side effects
- None.
- Inputs
- website_id.
- Returns
- Status, the private link, the price and whether it has been bought.
- Write
find_my_website
AI Website Builder
Brings back a website started in an earlier conversation, by proving the email address it was built for.
- Side effects
- With an email only: Yoink emails that address a 6-digit code (10 minutes, one use), only when it started a website here; the answer is the same either way. With the code: this conversation gets the same access to those websites as the one that built them. Never changes a website.
- Inputs
- email (the address given when the website was built), code (optional; the 6 digits from the email).
- Returns
- status (code_sent, found, none) and, once found, each website’s website_id, status, private open_url, price and whether it has been bought.
- Sensitive write
buy_website
AI Website Builder
Buys a website started with build_website, in the conversation, approval first. Without approved_price it returns only the terms: seller (Yoink, a Dance product), $299 one-time (not a subscription), what it includes, what happens to hosting after the included first month, where refunds go and the full terms. With the amount the person approved it returns Stripe’s secure checkout link for exactly that amount.
- Side effects
- Opens (or reopens) one Stripe Checkout on Yoink; the person pays there (Link works), never in the chat, and the connector never sees card details. Payment is confirmed only by Stripe’s webhook to Yoink. Refuses with price_changed if the amount due differs from the approved one. Repeating returns the same checkout, never a second charge.
- Inputs
- website_id, approved_price (only after the person approved).
- Returns
- state (needs_approval, checkout_ready, confirming, paid), offer, amount_due, checkout_url (only once approved), purchase (amount paid, receipt, order) once paid.
- Write
change_website
AI Website Builder
Sends a plain-language change (a page, section, photo from their site or a public image link, booking button, layout, words) to the builder of a website started with build_website.
- Side effects
- Changes the website’s preview only, never the live site. On the free preview, changes stay on the homepage and each one uses a free change; a refused or failed change uses none.
- Inputs
- website_id, request (plain words, up to 2,000 characters).
- Returns
- change_id, state (working, applied, saved, answered, refused, failed, unconfirmed), the builder’s reply, preview_url, changes_left, can_undo.
- Read
get_website_change_status
AI Website Builder
Reports where one change or undo stands. Never sends it again.
- Side effects
- None for the person; a finished change is moved onto the preview.
- Inputs
- change_id.
- Returns
- The same fields as change_website.
- Write
undo_website_change
AI Website Builder
Takes the latest change back out, when it is the person’s own and nothing else is running.
- Side effects
- Changes the website’s preview only.
- Inputs
- website_id.
- Returns
- change_id and its state, as change_website.
- Write
publish_website
AI Website Builder
Puts a bought website live, approval first: the first call returns the preview and its version and publishes nothing; a second call with approved_version publishes exactly that version.
- Side effects
- Publishes the website to its web address. Refused, with nothing published, if the website changed after the person looked. Never touches a connected website.
- Inputs
- website_id, approved_version (only after the person approved the preview).
- Returns
- state (not_published, publishing, live), live_url, version, preview_url, up_to_date.
- Write
connect_domain
AI Website Builder
Connects a domain the person already owns to a website started with build_website, once it is bought and published (publish_website).
- Side effects
- Attaches the domain to the website’s hosting. Never changes the person’s DNS and never buys or registers a domain.
- Inputs
- website_id, domain.
- Returns
- status (needs_verification, pending_dns, active), the DNS records to add, live_url once live.
- Read
check_domain
AI Website Builder
Re-checks a connected domain: live yet, or which records are still missing.
- Side effects
- None.
- Inputs
- website_id, domain.
- Returns
- The same fields as connect_domain.
- Read
list_connected_sites
AI Website Builder · Digital Marketing + SEO
Lists the websites connected to the caller’s account, with their permissions and capabilities.
- Side effects
- None.
- Inputs
- None.
- Returns
- Sites (managed address, research domains it represents, permissions, status) or the setup steps when none are connected.
- Read
get_site_context
AI Website Builder · Digital Marketing + SEO
Finds a page on a connected site by URL, path, record ID or search, and returns its published values, editable fields, any draft and its version.
- Side effects
- Reads from the connected CMS. Changes nothing.
- Inputs
- site_id, page, query.
- Returns
- Page record with editable fields and limits, unsupported areas, open changes.
- Write
prepare_website_change
AI Website Builder · Digital Marketing + SEO
Reads the page’s current content from the CMS and saves a validated change plan with the exact before and after of every field. Accepts explicit field values, a plain-language request, or a proposal.
- Side effects
- Saves a plan in Dance. Changes nothing in the CMS or on the website. Plain-language requests are mapped by the AI model; no crawl or keyword research runs.
- Inputs
- site_id, page, changes[] or request or proposal_id (+ proposal_revision), context, change_id (revise), idempotency_key.
- Returns
- change_id, plan_revision, plan_hash, changes (before → after), not_applied, approval_summary.
- Write
apply_website_change
AI Website Builder · Digital Marketing + SEO
Saves exactly one plan revision to the connected CMS as an unpublished draft, then reads it back.
- Side effects
- Creates one draft change in the CMS. Nothing is live. Creates a signed draft-preview link that expires after two hours. Refuses if the page changed or holds someone else’s draft.
- Inputs
- change_id, plan_hash, idempotency_key.
- Returns
- CMS change reference, baseline and draft versions, read-back result, preview_url.
- Sensitive write
publish_website_change
AI Website Builder · Digital Marketing + SEO
Publishes only this change’s own draft to the live website, then fetches the public page to verify the new values.
- Side effects
- Changes the live public website. Other pending drafts are never published. Fails without changing anything if the plan, draft or page changed after approval.
- Inputs
- change_id, plan_hash (the plan the person approved), idempotency_key.
- Returns
- Publication reference and version, verification (verified, pending or mismatch) or approval_url.
- Read
get_website_change
AI Website Builder · Digital Marketing + SEO
Reports the actual state of one change, or lists recent changes.
- Side effects
- Asks the CMS about any unconfirmed operation and re-checks the public page, then records what it found. It never repeats or starts a write.
- Inputs
- change_id (optional).
- Returns
- Status, CMS references, versions, verification and next step.
- Sensitive write
revert_website_change
AI Website Builder · Digital Marketing + SEO
Undoes exactly this change: removes its draft, or restores the live page values from before it was published.
- Side effects
- Changes the live public website when the change was published. Never undoes an unrelated change. Refuses if the page was edited since.
- Inputs
- change_id, plan_hash, idempotency_key.
- Returns
- Reverted CMS references, read-back of the restored values and public-page verification.
Approvals
Talking about a change is not permission to make it. Nothing goes live or costs money until you approve the exact thing that will happen, and each approval is checked by Dance, not taken on the model’s word: a value the model supplies, such as an “approved” flag, is never accepted on its own.
Purchases. buy_website and buy_reports first return only the terms. A checkout link comes back only when the call repeats the exact price you approved, and if the price changed in between, nothing is charged and the new terms are shown. Payment happens on Stripe’s page, never in the chat.
Publishing a website built here. publish_website first shows the preview and its version. It publishes only when called again with that version, and refuses if the website changed after you looked.
Connected websites. prepare_website_change (plan) → apply_website_change (unpublished draft, read back from the CMS) → publish_website_change (live, verified) → optionally revert_website_change. Every plan has a plan_hash that pins its exact fields, values, page and CMS version; revising a plan gives a new hash, and approval for the old one no longer works. Publishing affects only this change’s own records; other drafts on the site stay unpublished.
Your AI app’s confirmations. Most AI apps can ask before running a tool. Keep that on for sensitive writes. Access keys issued for apps that can’t guarantee a person approves each call get an approval_url instead: a Dance page showing the exact before and after, where you approve with your own access key. It expires after 24 hours and is tied to that one change.
Status, retries and errors
| Status | Meaning |
|---|---|
| planned | A plan exists in Dance. Nothing in the CMS. |
| drafted | Saved as an unpublished draft in the CMS and read back. Nothing is live. |
| awaiting_approval | Publication requested; waiting for the person to approve on the review page. |
| published | The CMS confirmed publication. See verification for what the public page shows. |
| reverted | This change was undone. The page fields are back to their earlier values. |
| conflict | The page changed outside this plan, so nothing was overwritten. Prepare a new plan. |
| failed | The operation failed without modifying the site. See last_error. |
| applying · publishing · reverting | An operation started and its result is not yet confirmed. get_website_change reconciles it with the CMS. |
Verification. After publishing or a live revert, Dance fetches the public page without caches and checks the changed values. verified means the page shows every value. pending means the CMS confirmed the change but the page still shows older content; it is reported as propagating, not as failed. get_website_change checks again.
Retries. Write tools accept an optional idempotency_key. Repeating a call with the same key and request returns the stored result without writing again; reusing a key for a different request fails without changing anything. If a call times out, the outcome is reported as uncertain: call get_website_change (or get_website_change_status for websites built here), which asks what happened instead of repeating the action.
| Error | Meaning |
|---|---|
| needs_input | No website or page was given. Nothing was started; ask the person which site they mean. |
| no_connected_site · site_not_connected | The website is not connected to this account. It can be analyzed, not edited. Setup steps are included. |
| permission_denied | The access key or the site connection does not allow this action. |
| identity_unverified | The managed page is not recorded as the import of the research URL given. Name the managed page directly. |
| unrelated_draft | The page already holds someone else’s unpublished draft. The connector will not merge into or publish it. |
| conflict | The page changed after the plan was read. Nothing was written. |
| plan_changed | The plan_hash is not the current plan revision. Review and approve the current plan. |
| validation_failed | A requested value is not allowed (unknown field, too long, markup, unknown link). Nothing was planned. |
| idempotency_key_reused | That idempotency_key was used for a different request. Nothing was changed. |
| request_in_progress | The same request is running or its outcome is unknown. Check get_website_change. |
| cms_unreachable · outcome "uncertain" | The CMS did not confirm. Nothing is assumed; get_website_change asks the CMS what happened. |
| daily_limit | A published usage limit was reached. Saved research still works. |
| unsafe_url | The address is not a public website (private networks and unsafe redirects are refused). |
| invalid_address | build_website: not a public address. Nothing was built. (An address with no website returns status no_website: Dance’s team follows up in person.) |
| unavailable | Website tools: Yoink did not answer. Nothing was built or charged; a change already sent is read back with get_website_change_status, never resent. |
| code_invalid · code_expired · too_many · invalid_email | find_my_website: the 6-digit code is wrong, older than 10 minutes, or tried too often, or the email isn’t an address. Nothing was opened; ask for the code again or send a new one. |
| not_paid · not_published | connect_domain: the website must be bought (buy_website), then published once (publish_website), before a domain connects. publish_website: not_paid = buy it first. Nothing was connected or published. |
| price_changed | buy_website: the amount due is no longer the amount the person approved. No link was given and nothing was charged; show the current terms and ask again. |
| not_ready | buy_website: the website is still being built; it can be bought once get_website_build says ready. Nothing was charged. |
| invalid_domain | connect_domain / check_domain: not a domain name that can be connected. Nothing was connected. |
| site_unreachable | No server answers for that address (DNS lookup failed). Nothing was analyzed; confirm the address and try again. |
| sign_in_needed | analyze_business: a new report needs a free Dance account (3 free reports included). Nothing was started or used; the request is kept, and request_id continues it after signing in. |
| confirm_new_report | analyze_business: the account already has a report for this site, so a fresh analysis would use another. Nothing was started; continue with request_id and confirm_new_report only if the person agrees. |
| reports_used | analyze_business: no reports left. Nothing was started or charged; buy_reports or a Dance plan upgrade continues it (request_id). Existing reports stay available. |
| reports_busy | analyze_business: today’s free reports across Dance are used up; new free reports open tomorrow. Bought and plan reports are unaffected. |
Connected websites
A connected website is one whose owner linked a compatible CMS to their Dance account, with the permissions they chose (read, draft, publish, revert). The first supported CMS is Dance’s structured CMS; Dance does not edit arbitrary WordPress, Wix or Squarespace sites. Asking to edit a website that isn’t connected returns the setup steps instead, and analysis still works. On a connected page, one change can update any of these existing fields:
- SEO title and meta description
- Page headline (H1)
- Introduction or hero paragraph
- Tagline on product pages
- Labels and destinations of existing buttons (a page on the same site, or a link the site already uses)
- Text of existing sections: headings, eyebrows, subheadings, paragraphs, bullets, intros and bodies
Not supported:
- Images, layout, adding or removing sections, creating or deleting pages
- Navigation, footer and other sitewide settings (no sitewide changes are possible through the connector)
- Prices, product facts, nutrition and structured data
- Any website that is not connected through a compatible CMS, including arbitrary WordPress, Wix or Squarespace sites
Usage limits
Using the connectors is free within these limits. Two things are paid, both approval first and through Stripe Checkout: keeping a website built with build_website ($299 one-time, to Yoink), and reports beyond the free ones (buy_reports).
| What | Limit |
|---|---|
| Full reports (new investigations) | Each Dance account includes 3 free reports, once, shared across both connectors and every conversation signed in to it; then bought reports or what the Dance plan includes. A report counts only when it is saved; failed runs give it back. Free reports across Dance are capped at 100 a day. Without a Dance account a guest can still reuse research already done for a public site (shared with other guests), which uses no report. Access keys not signed in to an account keep their own daily limits (3 a day by default, 6 a day per network, 30 a day across keys). Reusing finished research, reading or downloading reports and all planning advice are never limited. |
| Website-change operations | 60 a day per account and 120 a day per network (prepare, apply, publish and revert each count). |
| New website previews | 1 a day per account (guest conversation or access key), 2 a day per network for keys and 5 for guests, and 10 a day across Dance. Checking a website already started is not limited. An address with no website builds nothing and uses none. |
| Changes to websites built here | 20 a day per account, 40 a day per network and 200 a day across Dance (changes and undos), on top of the website’s own allowance on Yoink: a few free changes on the preview, homepage only, then the bought website’s allowance. Checking a change is not limited. |
| Crawling | Up to 60 pages per investigation (7 for a single deep page), public addresses only, robots.txt and its crawl delay honoured, at least 2 seconds between requests to one site. |
| Call duration | Each call returns within about 80 seconds. Longer investigations return status "running" and a run_id to continue. |
| Field lengths | SEO title 120 characters, meta description 320, H1 140, introduction 1,500, button label 60. Plain text only. |
| Scope of one change | One page and up to 20 fields per change. |
| Links | Report and proposal links expire after 7 days and can be revoked; draft previews after 2 hours; approval links after 24 hours. |
Data handling
What is stored, per account: the websites you ask about and the evidence gathered from them (page text excerpts, search data), investigations, proposals and their revisions, change plans with their before and after values, approval records and verification results. Access keys are stored only as fingerprints; connected-site credentials are encrypted.
Who processes it: Vercel (hosting and the AI Gateway, which sends prompts to the configured model provider, currently Anthropic), Neon (database, United States) and DataForSEO (search data and AI-answer visibility for the domains and keywords being researched). For a new website, Yoink (Dance) receives the current site’s address and, only if you give it, an email address for the ready notice. Changes go only to the CMS the site owner connected.
Use: only to answer your requests and to operate, secure and support the connectors. It is not sold, not used for advertising and not used to train models.
Retention: guest research on public websites is kept 14 days and shared read-only with other guests, so the same site answers instantly. Report links, draft previews and approval links expire. To delete an account’s data, email privacy@startdancing.ai.
Safety: fetched website content is treated as evidence, never as instructions; it cannot authorize an edit or change permissions. Crawling is bounded, honours robots.txt and refuses private network addresses.
The connector privacy notice and connector terms apply, alongside Dance Technologies’ general Privacy Policy and Terms of Use. Questions: admin@startdancing.ai.
