Fillo
Infraestructura de formularios headless: los formularios se renderizan de forma nativa en tu producto (sin iframe), los archivos se suben directamente desde el navegador al almacenamiento que posees, y un agente de codificación puede aprovisionarlos, publicarlos y consultarlos a través de MCP.
Documentación
Docs · Guías · Agentes · Registro de cambios
El servidor MCP de Fillo. Le da a un agente de codificación el ciclo completo de Fillo — aprovisionar un espacio de trabajo, generar un formulario en el repositorio anfitrión, publicarlo y consultar sus respuestas — sin salir de la sesión, autenticado exactamente como un usuario humano de CLI.
Instalación
Un clic, si tu editor lo admite:
Claude Code:
claude mcp add fillo -- npx -y @usefillo/mcp
Cualquier otro cliente MCP: ejecuta npx -y @usefillo/mcp sobre stdio. Configura FILLO_API para apuntar a un despliegue que no sea de producción.
Credenciales
El servidor lee las mismas credenciales que la CLI escribe en ~/.fillo/config.json, o desde el entorno:
FILLO_TOKEN— un token de inicio de sesión defcli_…(denpx @usefillo/cli login). Herramientas autenticadas (fillo_list_forms,fillo_publish_formy envíos confiables a un espacio de trabajo reclamado), además de la selección local de proyectos con un inicio de sesión ordinario. Los envíos de solicitudes de archivos permanecen en borrador/en etapa de revisión.FILLO_PK— una clave publicable depk_….fillo_provision_workspacegenera una y la guarda por ti.FILLO_API_KEY— una clave de API de proyecto defsk_…, generada en Configuración → Conexiones de un espacio de trabajo reclamado. Requerida por las herramientas de respuestas.FILLO_API— anula el origen (por defectohttps://fillo.so).FILLO_CONFIG_DIR— anula el directorio de configuración (por defecto~/.fillo).
El servidor nunca imprime tokens de inicio de sesión, claves de API o tokens de reclamo en la transcripción. La clave publicable de pk_ es segura de mostrar (vive en el código del navegador), por lo que fillo_provision_workspace la devuelve para que la conectes al entorno público de la aplicación. El aprovisionamiento también hace que ese proyecto temporal sea el contexto MCP local activo, por lo que un inicio de sesión de cuenta guardado más antiguo no puede recibir el siguiente envío. Seleccionar un proyecto cambia el contexto de vuelta a la cuenta.
Herramientas
| Herramienta | Autenticación | Qué hace |
|---|---|---|
fillo_provision_workspace | ninguna (necesita un correo electrónico) | Crea un espacio de trabajo de vista previa no reclamado, devuelve su clave pk_ y límites, y envía por correo su enlace de reclamo. |
fillo_whoami | token de inicio de sesión o pk_ | Informa la credencial activa, el espacio de trabajo y el proyecto. |
fillo_list_projects | token de inicio de sesión ordinario | Lista los proyectos en el espacio de trabajo actual y marca la selección actual. |
fillo_create_project | token de inicio de sesión ordinario | Crea y selecciona un proyecto aislado y guarda su clave pk_. |
fillo_select_project | token de inicio de sesión ordinario | Selecciona por id, slug o nombre exacto único y actualiza el estado local del proyecto. |
fillo_push_form | token de inicio de sesión o pk_ | Crea o actualiza un formulario y publica por defecto; configura publish: false con un token de inicio de sesión para flujos de revisión explícitos. Las solicitudes de archivos bloqueadas por almacenamiento permanecen en borrador. |
fillo_publish_form | token de inicio de sesión | Lleva un borrador o cambios en etapa a producción después de la revisión; devuelve el enlace exacto de configuración de almacenamiento cuando está bloqueado. |
fillo_list_forms | token de inicio de sesión | Lista los formularios del proyecto. |
fillo_get_form | ninguna (publicado) | Obtiene el esquema, tema y capacidades de un formulario publicado. |
fillo_search_examples | ninguna | Busca en la biblioteca de ejemplos curada de Fillo. |
fillo_docs | ninguna | Obtiene una página de documentación de Fillo como Markdown por tema. |
fillo_list_responses | token de inicio de sesión o clave fsk_ | Lista las respuestas aceptadas de un formulario (solo espacios de trabajo reclamados). |
fillo_search_library / fillo_get_library_form | ninguna | Busca y lee la biblioteca pública de formularios. |
fillo_get_response | clave de API fsk_ | Obtiene una respuesta (solo espacios de trabajo reclamados). |
fillo_response_summary | clave de API fsk_ | Resume las respuestas de un formulario sin leer cada fila (solo espacios de trabajo reclamados). |
fillo_claim_status | pk_ | Informa los límites del espacio de trabajo aprovisionado y la fecha límite de reclamo. |
Gestión de un espacio de trabajo reclamado
Todo lo que un miembro puede hacer en el panel de Fillo también tiene una herramienta, con el MISMO NOMBRE que usa el servidor MCP alojado de Fillo — un nombre, una capacidad, cualquier servidor al que tu agente haya llegado. Cada una llama a la ruta HTTP que llama la CLI de Fillo: tu token de inicio de sesión fcli_ cuando lo tienes (npx @usefillo/cli login o FILLO_TOKEN), de lo contrario una clave de API de proyecto fsk_ en FILLO_API_KEY que lleva el alcance nombrado. Con ambos, el token de inicio de sesión gana — una clave no tiene un humano actuante.
| Área | Herramientas | Alcance |
|---|---|---|
| Ciclo de vida del formulario | fillo_pull_form, fillo_rename_form, fillo_duplicate_form, fillo_unpublish_form, fillo_discard_changes, fillo_delete_form, fillo_list_versions | forms:read, forms:write |
| Logotipo | fillo_import_logo — descarga un PNG, JPEG o WebP desde una URL https pública; coloca el id devuelto en el logo o dark.logo del tema | forms:write |
| Cargas | fillo_get_storage, fillo_set_storage, fillo_list_drive_folders, fillo_set_drive_folder, fillo_reset_drive_folder | storage:manage |
| Configuración | fillo_get_settings, fillo_update_settings | settings:manage (más forms:write para las claves de presentación) |
| Destinos | fillo_get_integration, fillo_enable_integration, fillo_disable_integration, fillo_list_connections, fillo_select_connection, fillo_disconnect_integration, fillo_remove_connection_account, fillo_rename_discord_channel, fillo_hubspot_properties, fillo_hubspot_pipelines | integrations:manage |
| Respuestas y entrega | fillo_list_held_responses, fillo_release_responses, fillo_delete_response, fillo_delivery_status, fillo_retry_deliveries, fillo_redeliver_responses, fillo_list_drafts, fillo_form_insights, fillo_list_respondents, fillo_delete_respondent | responses:manage, respondents:*; fillo_form_insights necesita forms:read y responses:read |
| Webhooks | fillo_list_webhooks, fillo_add_webhook, fillo_update_webhook, fillo_remove_webhook | webhooks:manage |
| Espacio de trabajo | fillo_rename_workspace, fillo_rename_project, fillo_get_branding, fillo_set_branding, fillo_get_billing, fillo_list_members, fillo_invite_member, fillo_change_member_role, fillo_remove_member | workspace:manage, members:manage |
| Credenciales | fillo_list_tokens, fillo_revoke_token, fillo_list_sync_tokens, fillo_create_sync_token, fillo_revoke_sync_token, fillo_list_api_keys, fillo_revoke_api_key, fillo_list_agents, fillo_revoke_agent | workspace:manage |
| Configuración de desarrollador | fillo_get_code_sync_policy, fillo_set_code_sync_policy, fillo_get_origins, fillo_set_origins, fillo_identity_status, fillo_enable_identity, fillo_disable_identity | workspace:manage |
fillo_delete_form, fillo_get_branding, fillo_set_branding,
fillo_get_billing, fillo_list_api_keys y fillo_revoke_api_key necesitan un
token de inicio de sesión — no hay ruta de clave de API de proyecto para ellos, por lo que una clave filtrada nunca puede enumerar o revocar las credenciales del espacio de trabajo ni leer su plan.
fillo_get_billing es de solo lectura: informa el plan y el uso de este mes y devuelve el enlace de Configuración, pero ninguna herramienta puede suscribirse, cambiar el plan o abrir el pago — un propietario o administrador lo hace en Configuración → Facturación y plan. fillo_delete_response también necesita uno, por una razón diferente: su ruta con alcance no toma confirmación escrita, por lo que en una clave de API de proyecto la confirmación sería verificada solo por el llamador, lo que no es ninguna confirmación.
La URL de destino de un webhook es una credencial — la ruta de un gancho de captura de Zapier o un webhook de n8n es lo que autoriza publicar en él — por lo que fillo_delivery_status nombra destinos sin deletrearlos: los ganchos propiedad del conector vuelven como "Zapier" o "n8n", y otros webhooks como su host más una huella corta de la ruta. Lee la URL completa en la página de Actividad del panel.
La capa humana
Las acciones rutinarias y reversibles se ejecutan solo con la credencial. Dos tipos no lo hacen:
- Hacia afuera — despublicar, iniciar un destino de terceros, agregar un webhook, liberar o reenviar respuestas, invitar a un miembro o cambiar un rol, una política de sincronización de código, los orígenes permitidos o la verificación de identidad. Estas toman
confirm: true, y la herramienta se niega sin él con un mensaje que le dice al modelo que pregunte primero a una persona. Nada ha cambiado cuando se niega. Publicar es la excepción en este servidor:fillo_push_formyfillo_publish_formno tomanconfirm, porque un token de inicio de sesión ES la persona que ejecutófillo loginen esta máquina — la misma razón por la quefillo publishse ejecuta sin una bandera. El servidor OAuth alojado, donde la concesión pertenece a un agente en lugar de a ti, es lo que limita la publicación detrás de un enlace de aprobación. - Destructivas — eliminar un formulario, una respuesta o un encuestado, quitar un miembro o una cuenta de integración, desconectar un proveedor o un servidor de Discord, revocar un token, token de sincronización, clave de API o concesión MCP, desactivar la verificación de identidad. Estas toman
confirmcomo una cadena que debe coincidir exactamente con el objetivo — el correo de un miembro, un id de token, un id de respuesta — y el servidor lo compara, por lo que una suposición es un 409 que cita el valor para reintentar.
Un secreto que Fillo genera una vez (un secreto de firma de webhook, un token fsync_, un secreto de verificación de identidad) se devuelve en ese único resultado de herramienta y nunca más. Guárdalo en un gestor de secretos; nunca se escribe en un registro.
Las anotaciones de escritura usan la pista conservadora del peor caso porque un envío puede reemplazar el estado de borrador y una publicación puede reemplazar el esquema público, y openWorldHint marca exactamente las acciones cuyo efecto deja el espacio de trabajo. Cada herramienta es un envoltorio delgado sobre la API HTTP pública de Fillo — el servidor nunca toca la base de datos e importa ningún código de aplicación, por lo que el alcance del espacio de trabajo, los límites de velocidad, la autorización y la validación permanecen en un solo lugar.
Las tres herramientas de proyecto son solo locales y requieren el token general generado por fillo login. Una entrega específica del proyecto y una concesión OAuth remota-MCP alojada permanecen fijadas al proyecto que un humano aprobó. Seleccionar localmente también limpia el estado de vista previa en caché y fsk_ del proyecto anterior; reemplaza cualquier anulación de entorno FILLO_PK o FILLO_API_KEY tú mismo.
Los proyectos son sitios/aplicaciones bajo un espacio de trabajo facturado. Aíslan formularios, claves publicables/API, orígenes permitidos, identidades de encuestados y autoridad del agente. La membresía del espacio de trabajo, la facturación, las conexiones de almacenamiento y los totales de uso permanecen compartidos.
Enlaces
- Documentación: fillo.so/docs
- Sitio web: fillo.so
Licencia MIT.