Atelier201 websiteJoin the waitlist
ConnectTools

Tools

The tools an agent can call to build, change and publish a site, and the scope each one needs.

The generated operation coverage maps REST, CLI, and MCP. For discovery, read atelier201://operations, then atelier201://operations/{operation_id} for one full contract. The full document is atelier201://openapi. Unknown tool arguments are rejected instead of silently ignored.

get_workspace reads the uncommitted files and diff without running bash. It uses the same sites:write permission as the workspace REST endpoint and changes neither the draft nor the published site.

The tools are shaped around the work an agent does, not around endpoints. Their descriptions are written by hand, because a model reads them as its whole interface: each one says what it changes, whether visitors can see it, and what to call next.

Only the tools your credential’s scopes allow are offered, so a connection without sites:publish never sees publish_site. One tool spends credits, generate_media, and only with the media:generate permission.

The order of work

  1. get_account, then list_sites to get a site_id, or create_site.
  2. edit_text for any visible text, set_field for a field you know, save_entry and save_entries for entries, save_singleton theme for the look. Use read_file and edit_files (or bash then commit_workspace) only to change code.
  3. Every save starts its build and returns build: get_build with that id waits (50 s by default) and answers when it is ready or failed. With preview: true, a ready build comes with a link to open; without a browser, read_page reads the pages. build_site is for building a given revision or trying again.
  4. show_site: in a host that displays apps (Claude, ChatGPT), the owner sees the draft live in a card, with Publish. Elsewhere, share_preview and give them the link.
  5. review_publish, and publish_site only after the owner approves.

Sites and content

ToolScopeWhat it does
list_sites, get_sitesites:readRead the workspace’s sites.
create_sitesites:writeCreate a site from the starter and start its first build.
rename_sitesites:writeChange the name shown in Atelier201.
get_content_modelsites:readRead collections and singletons with their JSON Schemas.
list_entries, get_entrysites:readRead entries of a collection.
save_entrysites:writeWrite one entry, validated. A new entry starts as a draft.
delete_entrysites:writeRemove an entry from the draft.
get_singletonsites:readRead business details, theme or navigation.
save_singletonsites:writeReplace a whole singleton, validated.
set_fieldsites:writeChange one field by its data-atelier201-field address.
apply_site_plansites:writeWrite a first version or a large rework in one call: business details, theme, navigation, entries and pictures, validated together.
place_imagesites:writePut a picture in an image field (a stock description, a chosen result or a site file) with its alt text, in one call.
edit_textsites:writeChange a text wherever it is written (content or code), given as it reads on the page.

Files, history and changesets

ToolScopeWhat it does
list_files, read_file, read_files, search_filessites:readRead the project. read_file returns the hash to send as expected_hash; read_files reads up to 30 files in one call.
edit_filessites:writeApply put, delete and move operations as one history entry.
get_workspacesites:writeRead uncommitted files and their diff without running a command.
open_changeset, stage_changes, commit_changeset, abandon_changesetsites:writeOne history entry from several calls.
list_history, compare_revisionssites:readRead the history.
restore_revisionsites:writeMake the draft match an earlier revision, as a new entry.

Media

ToolScopeWhat it does
list_mediasites:readRead uploaded files and the storage left.
upload_mediasites:writeUpload a base64 file, 5 MB at most through MCP.
delete_mediasites:writeRemove a file from the next builds.
search_stock_mediasites:readSearch free stock photos and videos (Pixabay).
import_stock_mediasites:writeCopy one result into the site’s media, with its credit.
list_media_modelssites:readThe AI image and video models and their prices in credits.
generate_mediamedia:generateMake an image or video with AI. Spends credits: estimate_only first, then max_credits.
get_media_generationsites:readWhere a generation stands, and its file once done.

Build and preview

ToolScopeWhat it does
build_sitesites:writeCompile the draft. Returns a queued build at once.
list_builds, get_build, get_build_logsites:readRead builds and the log of a failed one. get_build takes wait (answer when the build finishes) and preview (a link to a ready build; needs sites:write).
read_pagesites:readOne page of a build as a visitor reads it, with the issues a quick review would catch: for an agent without a browser.
show_sitesites:readOpen the site card, an MCP app: the draft live (it reloads by itself after each build), a picture of the home page when the host cannot frame it, the Publish button (Go live, Publish changes) and Comment, which sends “change this” about an element back to the conversation. Without sites:write, the card shows the picture only.
share_previewsites:writeCreate a private link to a build, 7 days by default.
list_previewssites:readRead preview links.
revoke_previewsites:writeStop a preview link.

Publish and domains

These change what visitors see. Ask the owner first.

ToolScopeWhat it does
review_publishsites:readShow what would go live, what blocks it and the expected_generation.
publish_sitesites:publishMake a build live.
rollback_sitesites:publishServe an earlier publication again.
unpublish_sitesites:publishTake the site offline.
delete_sitesites:publishDelete a site for good. confirm_name must be its name or slug; a published site needs delete_published: true. Cannot be undone.
list_publicationssites:readRead the publication history.
get_site_analyticssites:readRead a site’s visitor numbers over a period.
list_domainssites:readRead domains and the DNS records each still needs.
add_domain, check_domaindomains:writeConnect a domain, and check its DNS records.
remove_domaindomains:writeDisconnect a domain.
set_main_domaindomains:writeRedirect the other addresses to one, and rebuild.

Publishing, rolling back, taking offline and changing domains also need a workspace admin. Binary project import and export use the REST API or CLI; MCP agents read and change individual files instead.

Account

ToolScopeWhat it does
get_accountaccount:readRead the workspace, the plan and the scopes of this credential.
get_credit_balanceaccount:readRead the credit balance and every grant.
get_usageusage:readRead credit usage over time.
list_skillsnoneList the manuals: how to create a site, edit content, change the design, import data, fix a build, publish. Call it before you build.
get_skillnoneRead one manual in full, as Markdown.
send_feedbacknoneReport something wrong or missing in the API, CLI or MCP server.

Writing safely

Send the hash from read_file as expected_hash on every file you change. If someone changed it since, the whole change is refused with a conflict error and nothing is written. Read the files again, apply your change on top and retry. publish_site takes the expected_generation from review_publish and is refused if the site was published since.

Use these docs with your AI tools

An AI agent can read this documentation directly. You do not need an account or an API key. Everything here is public and read-only.

Query these docs via MCP

Recommended

Add this server to Claude, Claude Code, Cursor, Mistral, or any tool that supports MCP. Your agent can then search Atelier201 Docs documentation and read it in full, instead of answering from memory.

https://atelier201.com/docs/mcp
  • searchFind the passages that answer a question.
  • fetchRead one page in full, as Markdown.
  • list_pagesSee every page in this documentation.

Query these docs over HTTP

The same tools also work as plain web requests. Use this for scripts, or for any tool that does not support MCP. There is one endpoint per tool. Arguments go in the query string, and the answer comes back as JSON.

https://atelier201.com/docs/api/docs/search?query=custom+domain

Read the OpenAPI description. It is built from the same definitions as the tools, so it always matches what the endpoints do.

Read these docs as Markdown

Add .md to any page URL to get its Markdown source. You can also send the headerAccept: text/markdown to the page URL itself.

To read the whole documentation in one file, open llms-full.txt. For a short index of every page, open llms.txt.