yetty

Build, edit and run real hosted websites from your AI - content, SEO, menus, store, rollback.

¿Debería usar esto?

Calidad y seguridad

B
Calidad de la descripción
100%
Integridad del esquema
66%
Calidad de los nombres
80%
Riesgo de envenenamiento
80%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (2)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainen yetty_login_status

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,644Tokens (definiciones de herramientas)
~275 BTamaño de respuesta típico
Impacto moderado en la atención (1.28% del contexto de 128k)

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-http

Qué puede hacer

Inventario de herramientas

Herramientas (10)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada10 herramientas
verificadoversión no registrada10 herramientas