accueil / serveurs / Fichiers & Documents / ai.sitectrl/sitectrl
ai.sitectrl/sitectrl
serveur MCP (Model Context Protocol) · sitectrl 0.1.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que ai.sitectrl/sitectrl est sûr ?
Au dernier audit MCP Hub, le serveur MCP « ai.sitectrl/sitectrl » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 13 outils
- add_component≈ 670 tokens
Insert a component from the site's shared library into one or more existing pages, INSTEAD of hand-writing the markup yourself — the classes are already styled and themed to this site's colours. Choices: sc-page-title (the page's one <h1>), sc-gallery (cross-fading photo reel — needs 'images'), sc-info-tiles (title + picture + text sections — needs 'tiles'), sc-instructions (numbered/titled steps, optionally with a button each — needs 'tiles'), sc-event (one dated thing: a class, a session, an opening — needs 'title'), sc-btn (a link styled as a button — needs 'label'). NOT offered: sc-header/sc-footer (the site's own shell already emits those) or sc-hero (placed once, on the home page, by the site's own build). 'anchor' says where it goes: {"type": "heading", "value": "<text on the page>", "position": "after"} (default), {"type": "id", "value": "<element id>", "position": "after"}, {"type": "main_end"} (append at the end of the page), or {"type": "replace", "value": "<class of an existing sc-* block>"}. 'pages' is "all" or a list of paths from list_site_files. A page whose anchor doesn't match comes back in 'findings' with what's wrong and the fix — other pages in the same call still get the component. Follow with publish_site.
Paramètres, retour & exemple (5)
Paramètresname· string · requis · sc-page-title | sc-gallery | sc-info-tiles | sc-instructions | sc-event | sc-btnslug· string · requispages· ? · optionnel
"all", or an array of page paths, e.g. ["index.html", "about.html"]anchor· object · requisfields· object · requis
Component-specific content. sc-page-title: {text, eyebrow?}. sc-gallery: {images: [{src, alt}]}. sc-info-tiles: {tiles: [{title, img?, alt?, text}]}. sc-instructions: {title?, intro?, tiles: [{title?, body, img?, alt?, button?: [label, href]}]}. sc-event: {title, img?, meta?: [{label, value}], desc?, rsvp_href?, rsvp_label?}. sc-btn: {label, href}.
Exemple d'appel{"name": "add_component", "arguments": {"name": "sc-page-title", "slug": "texte", "anchor": {}, "fields": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_site≈ 488 tokens
Build a brand-new hosted website from a plain-language description. RETURNS IMMEDIATELY with status 'building' — the site takes about 2-3 minutes and is NOT ready when this returns. Tell the user where it will be (expected_url) and poll get_build_status with the returned claim_token. NEVER call create_site a second time for the same site: each call builds another one. Works WITHOUT signing in: an unauthenticated call builds a guest site and returns a claim_url — the user signs up free (no card) at that link to keep it; unclaimed guest sites are deleted after 72 hours. Signed in, the site lands directly on the connected account (free tier: one site, no card).
Paramètres, retour & exemple (4)
Paramètrestemplate· string · optionnel · local-services | restaurant | shop | portfolio | classes | community
Optional override of the starting template. Omit it and the template is chosen from the description.site_name· string · requis
Short human name for the site, e.g. 'Whitney Apparel'.description· string · requis
What the site is for. MINIMUM 12 CHARACTERS — a bare 'bike shop' is rejected. Say what the business is, where it is, and what the site should include; the AI builds directly from this, so more detail means a better first result. Good: 'Oak Barrel Coffee, a small-batch roaster in Turlock CA — our story, three coffees with tasting notes and prices, and a contact form.' If the user was vague, ask them one question before calling this rather than sending two words.contact_email· string · optionnel
Optional, guest builds only: the user's email — we send the site link and a reminder before the unclaimed site expires.
Exemple d'appel{"name": "create_site", "arguments": {"site_name": "texte", "description": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - edit_site≈ 145 tokens
Ask sitectrl's AI editor to change an existing site ('add a contact page', 'make the hero darker'). Edits land in the site's draft; the first build of a brand-new site goes straight live. Returns what changed plus the draft URL.
Paramètres, retour & exemple (2)
Paramètresslug· string · requisinstruction· string · requis
The change to make, in plain language.
Exemple d'appel{"name": "edit_site", "arguments": {"slug": "texte", "instruction": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_analytics≈ 103 tokens
The site's private first-party traffic: pageviews/visitors/sessions/clicks totals, top pages, referrers, devices. Windows: 24h, 7d, 30d.
Paramètres, retour & exemple (2)
Paramètresslug· string · requiswindow· string · optionnel · 24h | 7d | 30d
Exemple d'appel{"name": "get_analytics", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_build_status≈ 132 tokens
Check whether a site started by create_site has finished. Pass the claim_token create_site returned. Works WITHOUT signing in. Poll this every 30-60 seconds rather than calling create_site again — a second create_site call builds a SECOND site.
Paramètres, retour & exemple (1)
Paramètresclaim_token· string · requis
The claim_token from create_site.
Exemple d'appel{"name": "get_build_status", "arguments": {"claim_token": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_site≈ 77 tokens
Details for one site: live URL, draft URL, status.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
The site's slug from list_sites.
Exemple d'appel{"name": "get_site", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_site_files≈ 67 tokens
List the files in a site's draft tree (paths + sizes).
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
Exemple d'appel{"name": "list_site_files", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_sites≈ 58 tokens
List the user's sitectrl sites with their live URLs and hosting platform.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_sites", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - publish_site≈ 93 tokens
Publish the site's draft to the LIVE site (hosted sites). A snapshot of the previous live version is taken first, so it's undoable.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
Exemple d'appel{"name": "publish_site", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - read_site_file≈ 82 tokens
Read one file from a site's draft tree (text, or base64 for binary; 512 KB cap).
Paramètres, retour & exemple (2)
Paramètrespath· string · requisslug· string · requis
Exemple d'appel{"name": "read_site_file", "arguments": {"path": "texte", "slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_domains≈ 134 tokens
Search real domain availability + prices (com/net/org/co/io/site and more). Available results include a purchase_url — hand it to the USER to complete checkout; the connector never spends money. Purchased domains connect to their sites in one click.
Paramètres, retour & exemple (1)
Paramètresquery· string · requis
Domain or name to check, e.g. 'sierratrailcoffee.com'.
Exemple d'appel{"name": "search_domains", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - whoami≈ 59 tokens
The connected sitectrl account: email, plan status, free-site slot, and credit balance.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "whoami", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - write_site_files≈ 357 tokens
Push files (HTML/CSS/JS/images) into a site's DRAFT — use this when YOU are writing the code yourself instead of asking sitectrl's AI. Text files go in 'content'; binary files (images/fonts) in 'content_base64'. Max 40 files/call, 2 MB/file. Keep the <script defer src="sc-track.js"></script> include on every HTML page (the site's built-in private analytics — publish re-adds it if missing). Use clearly-marked placeholder contact info unless the user provided real details. For working forms, POST to /_sc/form/submit with a hidden _form name field — submissions reach the owner's dashboard + email (never use mailto:). Every HTML file is checked before it's written (DOCTYPE, charset, and any invariant this site has declared) — a file that fails is refused and comes back in 'refused' with what's wrong and the exact fix; other files in the same call still write. Follow with publish_site to go live.
Paramètres, retour & exemple (2)
Paramètresslug· string · requisfiles· array · requis
Exemple d'appel{"name": "write_site_files", "arguments": {"slug": "texte", "files": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».