yetty
Build, edit and run real hosted websites from your AI - content, SEO, menus, store, rollback.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (2)
- HIGH
- MEDIUMen yetty_login_status
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"yetty": {
"url": "https://mcp.yetty.ai/mcp"
}
}
}Puntos de conexión remotos
https://mcp.yetty.ai/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (10)
🟢yetty_status
Connection + authentication status. Call this FIRST. Unauthenticated sessions can still park a website (batch tools) and start email sign-up — the response tells you exactly how.
Esquema de entrada
{
"type": "object",
"properties": {}
}🟢yetty_authoring_guide
READ THIS BEFORE WRITING OR SENDING ANY HTML (no account needed, free, instant, no arguments). Returns yetty's exact structure rules — repeated items sharing one class, semantic class names for field labels, headings before sections, no JS-rendered content — that decide whether the site converts into a clean editable CMS with named fields and add/remove collections, or a wall of generic "Text" fields.
Esquema de entrada
{
"type": "object",
"properties": {}
}🟢yetty_pull_template(template)
Pull a ready-made Yetty template file WITH its usage contract (no account needed, free, instant). Four boilerplates, one per store surface: template:"checkout-skeleton" (cart / checkout / thank-you markup with every data-yetty-component and data-yetty-slot mark), "account-skeleton" (the buyer's /account page in the site's own design), "order-status-skeleton" (the /order/{token} confirmation), "pay-skeleton" (the /pay/{token} frame - the payment element stays hosted and non-removable). Every file carries a commented CONDITIONAL REGIONS section showing the component logic grammar (data-yetty-when / data-yetty-each / data-yetty-state; full grammar in yetty_authoring_guide's logic_and_conditional_components chapter). Restyle freely to match the site; NEVER remove or rename data-yetty-* marks; write NO cart/checkout/account JavaScript of your own (Yetty provides the behavior); send the styled file back with the site files. (Connected Live-plan stores can additionally pull 24 gallery-<surface>-<layout> LAYOUT skeletons - different page structures over the same contract, auto-adjusted to the site's own colors and fonts.)
Esquema de entrada
{
"type": "object",
"properties": {
"template": {
"type": "string",
"description": "template key: checkout-skeleton (default) | account-skeleton | order-status-skeleton | pay-skeleton"
}
}
}🟡yetty_batch_start
No account needed: start a PARKED file batch — send the site now, authenticate after. Returns park_ref (use it as batch_ref). Files are stored safely but NOT processed until the owner approves by email. EXAMPLE: yetty_batch_start {} -> {park_ref:"pk_..."} -> yetty_batch_file {batch_ref:"pk_...", path:"index.html", content:"..."} per file -> yetty_batch_end {batch_ref:"pk_..."} -> yetty_signup {email:"[email protected]", park_ref:"pk_..."} -> owner clicks the email -> yetty_claim_status {park_ref:"pk_..."} gives you an API key + the build status.
Esquema de entrada
{
"type": "object",
"properties": {}
}🟡yetty_batch_file(batch_ref, path, content, content_base64)
Add ONE file to the parked batch. Args: batch_ref (the pk_... park_ref); path (relative, folders allowed); content (text) OR content_base64 (binary). Returns {received_bytes, sha256} — verify against your local copy; mismatch = resend THIS file. Send EXACT bytes, never retype.
Esquema de entrada
{
"type": "object",
"properties": {
"batch_ref": {
"type": "string"
},
"path": {
"type": "string"
},
"content": {
"type": "string"
},
"content_base64": {
"type": "string"
}
},
"required": [
"batch_ref",
"path"
]
}⚪yetty_batch_end(batch_ref)
Close the parked batch. Nothing is processed yet — next call yetty_signup {email, park_ref} so the owner can approve by email.
Esquema de entrada
{
"type": "object",
"properties": {
"batch_ref": {
"type": "string"
}
},
"required": [
"batch_ref"
]
}🟡yetty_signup(email, park_ref)
Link a parked upload to the owner's email: sends them an approval email and returns a short user_code. The site is processed ONLY after the owner opens the email and types that code on the approval page. Args: email (the owner's), park_ref. SHOW THE OWNER THE CODE, then poll yetty_claim_status every ~30s.
Esquema de entrada
{
"type": "object",
"properties": {
"email": {
"type": "string"
},
"park_ref": {
"type": "string"
}
},
"required": [
"email",
"park_ref"
]
}🟢yetty_claim_status(park_ref)
Check a parked upload. States: parked (send yetty_signup) -> awaiting-approval (owner must open the email and type the user_code) -> approved (returns your api_key ONCE + waiting_url — reconnect with Authorization: Bearer <api_key> for the full toolset).
Esquema de entrada
{
"type": "object",
"properties": {
"park_ref": {
"type": "string"
}
},
"required": [
"park_ref"
]
}🟢yetty_login(email)
Sign the OWNER in by email — no dashboard, no key copying. Works for existing accounts AND (when signups are open) new ones. FLOW: yetty_login {email:"[email protected]"} -> {login_ref, user_code} -> SHOW the owner the user_code; they open the emailed link and type it -> poll yetty_login_status {login_ref} every ~20s -> it returns an api_key ONCE + the exact reconnect command. Use this whenever you are unauthenticated or your token expired.
Esquema de entrada
{
"type": "object",
"properties": {
"email": {
"type": "string"
}
},
"required": [
"email"
]
}🔴yetty_login_status(login_ref)
Check an email sign-in: pending (owner has not typed the code yet) -> approved (returns api_key ONCE + reconnect instructions). EXAMPLE reconnect for Claude Code: claude mcp remove yetty; claude mcp add --transport http yetty https://mcp.yetty.ai/ --header "Authorization: Bearer <api_key>" -s user
Esquema de entrada
{
"type": "object",
"properties": {
"login_ref": {
"type": "string"
}
},
"required": [
"login_ref"
]
}Comunidad
Evidencia