Pulsa / para buscar

Toda la documentación
docs▸Llamarlo desde tu IA▸Servidor MCP

Se ejecuta enWrit CloudDesktop

mcp ▸ herramientas para la ia

Cada workflow, una herramienta.

El servidor MCP writ-cloud convierte tu cuenta en herramientas que un agente de IA puede llamar: treinta herramientas integradas para workflows, datos, crawls, monitors y automatizaciones — cada workflow guardado se ejecuta vía writ_run_workflow, y los que fijas aparecen además como su propia herramienta run_<name>. La autenticación es una clave API wt_.

Writ se ejecuta en tus propias cuentas, con tus propias credenciales y datos, en sitios que tienes autorización para usar.

conexión ▸ una sola url

Un servidor para toda la cuenta.

El transporte es Streamable HTTP: cada mensaje es un POST a /mcp en api.usewrit.app — JSON-RPC 2.0, un objeto único o un array batch por solicitud. GET /mcp es una sonda de salud. Autentícate con Authorization: Bearer y una clave API wt_; este endpoint no acepta OAuth.

PropiedadValor
TransporteStreamable HTTP — JSON-RPC 2.0 sobre POST /mcp, objeto único o array batch
Versión del protocolo2025-03-26
Nombre del servidorwrit-cloud
AuthAuthorization: Bearer — una clave API wt_; sin OAuth en este endpoint
SaludGET /mcp

mcp-client config

{
  "mcpServers": {
    "writ-cloud": {
      "type": "http",
      "url": "https://api.usewrit.app/mcp",
      "headers": {
        "Authorization": "Bearer wt_xxxxxxxxxxxx"
      }
    }
  }
}

GET /api/mcp/connect-info te entrega los dos bloques listos para pegar: la línea del conector npm — claude mcp add writ-cloud -e WRIT_API_KEY=… -- npx -y writ-mcp — y un bloque directo {"type":"http"} de URL + cabecera. En ambos casos la clave viaja en una variable de entorno, nunca en argv.

herramientas ▸ treinta integradas

Treinta herramientas, en cada cuenta.

El conjunto integrado cubre el ciclo que un agente ejecuta de verdad: encontrar un workflow, ejecutarlo, leer y buscar lo que recopiló, programarlo, exponerlo, crawlear, vigilar, automatizar.

HerramientaQué hace
writ_list_workflowsLista los workflows guardados — id, nombre, entradas, programación.
writ_run_workflowEjecuta un workflow por id o nombre; espera por defecto y devuelve los datos extraídos.
writ_pin_workflow_toolFija o desfija un workflow guardado como su propia herramienta run_<name> — desactivado por defecto y con tope de 20; cada workflow sigue siendo invocable vía writ_run_workflow.
writ_workflow_dataLos datos acumulados por un workflow, en columnas y filas.
writ_search_dataBúsqueda por palabras clave en todo lo que tus workflows recopilaron.
writ_export_dataLa tabla completa en CSV o JSON.
writ_workflow_runsEl historial de runs de un workflow.
writ_set_schedulePrograma un workflow: every_minutes, o daily/weekly con hora y días.
writ_expose_workflow_apiExpone un workflow como endpoint REST; devuelve la URL.
writ_scrapeLee el contenido de una página ahora, en una llamada: una página (url), una lista de páginas (urls) o los N primeros elementos de un listado y sus páginas (url + top_n) — markdown limpio con hilos de comentarios anotados por profundidad; persona_id tras un login, use_residential contra muros anti-bots.
writ_crawl_siteRecopila un sitio o una sección en un conjunto de datos consultable — markdown clásico, registros por esquema o extracción asistida por IA página a página; save_as lo hace reejecutable.
writ_saved_crawlsLista los crawls guardados.
writ_run_saved_crawlEjecuta un crawl guardado — o sirve sus datos recientes vía max_age.
writ_saved_crawl_dataAcceso de solo lectura a los últimos resultados de un crawl guardado.
writ_crawl_statusEl progreso de un crawl en curso.
writ_crawl_filesLos documentos originales que capturó un crawl — PDF, archivos de oficina, imágenes, CSV — con URL de descarga de corta duración; el dataset del crawl guarda el texto extraído.
writ_create_automationCrea una automatización — ejecutar un workflow, notificar o despertar a un agente de IA con un evento.
writ_create_monitorVigila los cambios de una página.
writ_wire_monitorElige qué desencadena un cambio detectado — ejecutar un workflow, notificar o despertar a un agente de IA con una instrucción de tarea.
writ_personasLista y opera las identidades de inicio de sesión guardadas — inspeccionar una, refrescar su sesión o dejar que la IA grabe su flujo de login una vez; pasa un persona_id para ejecutar, crawlear, extraer o navegar con sesión iniciada. Nunca crea, edita ni borra una.
writ_browser_useActúa en un sitio con un navegador real — clic, rellenar, iniciar sesión, enviar; devuelve una observación de la página. Leer una página es writ_scrape.
writ_record_websiteEmpieza a grabar una tarea en un sitio, para reproducirla después.
writ_website_to_apiConvierte un sitio sin API practicable en una API invocable — propone tus propios workflows y las API listas del marketplace antes de grabar nada.
writ_buildConstruye un workflow reutilizable para cualquier tarea web repetible, cuando ningún arranque más específico encaja.
writ_browser_actConduce la sesión — navegar, hacer clic, rellenar, seleccionar, extraer — y devuelve la siguiente observación. Cada acción reproducible queda grabada.
writ_browser_contextLee a demanda el DOM limpio, los campos y los enlaces de la página.
writ_browser_networkBusca en las peticiones que hizo la página, capturadas mientras conduces.
writ_browser_saveTermina la sesión y guarda sus pasos como workflow reutilizable.
writ_browser_cancelTermina la sesión sin guardar nada.
writ_browser_sessionsLas sesiones de navegador cloud abiertas en esta cuenta, para que un agente retome una por session_id en vez de abrir un segundo navegador al lado.

La cadencia se aplica, no se ajusta. Un intervalo de monitor por debajo del mínimo de tu plan se rechaza con un error 402 interval_too_short — nunca se recorta en silencio. El agente reintenta con un intervalo mayor.

El cliente conectado es la IA. Una sesión de grabación usa la misma clave: iníciala, condúcela turno a turno con writ_browser_act y termínala con writ_browser_save — o writ_browser_cancel para descartarla. La grabación es automática y el guardado es a demanda: un workflow guardado se reproduce después sin ningún modelo en el bucle. Para un valor sensible define data_key y el paso guardado conserva un placeholder en vez del valor. Dos cosas cambian respecto al conector de escritorio, porque el navegador es nuestro y no tuyo: una herramienta de arranque EXIGE una url (se comprueba contra la política SSRF y de dominios antes de abrir el navegador), y un sitio cuyo inicio de sesión pide un código de un solo uso necesita un persona_id — el código se genera en el servidor a partir de esa identidad guardada y nunca llega al modelo. Una sesión abierta ocupa un navegador cloud real: su tiempo real cuenta contra tu cuota de ejecución hasta que guardes o canceles; una sesión inactiva se recupera automáticamente.

herramientas ▸ fijar un workflow

Cada workflow se ejecuta; los que fijas se vuelven herramientas.

Cada workflow guardado es invocable mediante writ_run_workflow, por id o por nombre. Los que fijas — con writ_pin_workflow_tool, o el interruptor Exponer como herramienta MCP en los ajustes de ejecución del workflow — aparecen además en tools/list como su propia herramienta run_<name>, con su esquema de entrada derivado de las entradas declaradas del workflow. Los nombres se sluguifican; una colisión se deduplica a _2, _3; los nombres integrados writ_* siempre ganan. Fijar está desactivado por defecto y tiene un tope de 20 por cuenta: un cliente MCP inyecta el esquema de cada herramienta anunciada en el contexto del modelo en cada petición, y varios limitan el total (ChatGPT y VS Code a 128; Cursor avisa a partir de unas 40), así que una cuenta con cientos de workflows no debe anunciar cientos de herramientas. Un cliente que conserve una lista anterior puede seguir llamando a un run_<name> sin fijar — el nombre exacto se resuelve como respaldo. writ_run_workflow y cada herramienta de run aceptan los mismos tres controles:

ControlPor defectoQué hace
waittrueBloquea hasta que el run se resuelve y devuelve los datos extraídos.
timeout_seconds120Máximo que espera la llamada antes de devolver un run aún en curso.
max_age0Sirve un resultado reciente exitoso en lugar de reejecutar; 0 siempre ejecuta de nuevo.

La reutilización solo aplica a resultados exitosos y se basa en las entradas exactas. Las respuestas llevan _cache.hit y _cache.age_seconds, así que un agente siempre distingue una respuesta en caché de una fresca.

reglas ▸ sin puerta lateral

Una llamada de herramienta es una llamada de API.

MCP añade un protocolo, no una puerta lateral. Cada llamada de herramienta se ejecuta exactamente bajo las reglas de la API REST llamada con la misma clave: aislamiento de tenant, scopes de la clave, límites del plan y medición se aplican sin cambios.

publicación ▸ /mcp/{slug}

Servidores publicados en /mcp/{slug}.

Publicar también crea servidores MCP independientes en /mcp/{slug} — Streamable HTTP en POST /mcp/{slug}, con SSE opcional en GET /mcp/{slug}/sse. Aceptan una clave wt_ o un token de acceso OAuth: entregas un workflow a un cliente sin entregarle una clave de cuenta.

OAuth para clientes MCP

Una llamada rechazada responde con WWW-Authenticate cuyo resource_metadata apunta a …/.well-known/oauth-protected-resource/mcp/{slug} — el descubrimiento OAuth estándar de MCP. Los metadatos del servidor de autorización viven en GET /api/oauth/.well-known/oauth-authorization-server, y los clientes se registran solos mediante el registro dinámico RFC 7591 en POST /api/oauth/register — solo clientes públicos con PKCE, sin client secret. Hecho para los conectores personalizados de Claude, Cursor y cualquier cliente que hable este flujo.

Configuración de una herramienta

Cada herramienta publicada es un contrato pequeño; el slug del servidor siempre se deriva del nombre.

CampoRegla
tool_namecumple ^[a-zA-Z_][a-zA-Z0-9_]*$ — 100 caracteres como máximo
description500 caracteres como máximo — lo que el modelo lee para decidir cuándo llamar
input_schemaJSON Schema; null lo deriva de las entradas del workflow
timeout_seconds5–300 segundos, 30 por defecto

Las herramientas MCP publicadas están limitadas por plan (el límite max_mcp_tools) — un tope sobre cuántas herramientas publicas, nunca sobre cuántas veces se llaman:

PlanHerramientas MCP publicadas
Free2
Starter5
Pro15
Growth40
Scale100
EnterpriseIlimitado

faq

Preguntas de MCP, respondidas.

¿Cuál es la URL del servidor MCP?
El servidor de la cuenta es https://api.usewrit.app/mcp — Streamable HTTP, autenticado con una clave API wt_ en la cabecera Authorization. Los servidores publicados por workflow viven en /mcp/{slug} y aceptan también tokens de acceso OAuth.
¿Puede un cliente MCP grabar un workflow nuevo en cloud?
Sí. Inicia una sesión, condúcela con writ_browser_act y termínala con writ_browser_save — el workflow queda tuyo para ejecutarlo, programarlo o exponerlo. Tu cliente conectado es la IA, así que no interviene ninguna clave de modelo aparte.
¿Por qué un workflow guardado no aparece como su propia herramienta?
Porque las herramientas run_<name> son opcionales y están desactivadas por defecto. Cada workflow ya se ejecuta vía writ_run_workflow; fija los que llamas a menudo — con writ_pin_workflow_tool, o el interruptor «Exponer como herramienta MCP» en los ajustes de ejecución del workflow — y cada uno aparece como su propia herramienta en el siguiente tools/list, hasta 20 por cuenta. Los clientes cargan el esquema de cada herramienta anunciada en el contexto del modelo en cada petición, así que la lista se mantiene corta salvo que la amplíes.
¿El servidor cloud admite OAuth?
No en POST /mcp — ese endpoint solo autentica claves wt_. Los servidores publicados /mcp/{slug} sí aceptan OAuth: PKCE, registro dinámico de clientes (RFC 7591), clientes públicos sin secreto, con descubrimiento vía WWW-Authenticate y /.well-known/oauth-protected-resource.
¿Las llamadas de herramientas tienen su propia facturación?
No. Una llamada de herramienta es la misma llamada medida que habrías hecho tú mismo contra la API REST, bajo el mismo aislamiento de tenant, los mismos scopes de clave y los mismos límites de plan. MCP no cambia nada de lo que cuesta un run.