Documentation Index
Fetch the complete documentation index at: https://docs.faces.app/llms.txt
Use this file to discover all available pages before exploring further.
El server MCP (Model Context Protocol) de Faces permite que asistentes de IA como Claude construyan presentaciones interactivas y explorables diapositiva por diapositiva. Tu asistente escribe el código de cada diapositiva directamente, sin usar créditos.
¿Qué es MCP?
MCP es un protocolo abierto que permite a los asistentes de IA conectarse a herramientas externas. Cuando conectas Claude al server MCP de Faces, Claude puede:
- Crear un proyecto en blanco para iniciar una nueva presentación (en tu equipo personal o en cualquier equipo al que pertenezcas)
- Listar los equipos a los que perteneces para que el asistente elija el correcto
- Listar y explorar tus proyectos existentes (incluyendo proyectos compartidos en equipo)
- Leer y editar diapositivas individuales: inspecciona los archivos fuente de una diapositiva y escribe otros nuevos. Funciona para cualquier proyecto del que seas propietario, miembro de equipo (en proyectos compartidos del equipo) o editor invitado
No hay una herramienta del lado del server para “generar una presentación completa” expuesta a través de MCP. El asistente mismo es el autor de cada diapositiva. Para construir una nueva presentación, crea un proyecto en blanco y luego llena las diapositivas una por una.
Herramientas disponibles
Equipos
| Herramienta | Descripción |
|---|
list_teams | Lista los equipos a los que perteneces. Devuelve id, slug, name, role e isPersonal. Usa el id del equipo al llamar a create_project. |
Proyectos
| Herramienta | Descripción |
|---|
create_project | Crea un nuevo proyecto en blanco. Devuelve el projectSlug y la editorUrl. Acepta un teamId opcional, omítelo para usar tu equipo personal, o pasa un id de list_teams para crear el proyecto bajo un equipo específico. |
list_projects | Lista los proyectos a los que tienes acceso (propios, compartidos en equipo o compartidos contigo) con paginación (cursor, limit, published). |
get_project | Obtiene los detalles y las URLs de un proyecto a partir de un slug. |
rename_project | Renombra un proyecto. El slug y las URLs se mantienen iguales. |
duplicate_project | Crea una copia completa de un proyecto, incluyendo todas las diapositivas. Devuelve un nuevo projectSlug y una nueva editorUrl. |
Publicación y dominios
| Herramienta | Descripción |
|---|
publish_project | Publica la última versión de un proyecto, haciéndolo accesible públicamente. Devuelve la publishedUrl. |
unpublish_project | Saca de línea un proyecto publicado. El proyecto y sus diapositivas se conservan. |
get_project_url | Obtiene la URL en vivo actual de un proyecto (subdominio o dominio personalizado más ruta) y los subdominios y dominios disponibles para cambiar. |
update_project_url | Cambia la ruta de un proyecto, intercambia subdominios o apúntalo a un dominio personalizado. Requiere un plan de pago. |
create_custom_subdomain | Crea un subdominio personalizado en el que se puede alojar un proyecto, luego conéctalo con update_project_url. |
create_custom_domain | Conecta un dominio personalizado y devuelve los registros DNS para configurar. Conéctalo con update_project_url una vez que el DNS esté configurado. |
Diapositivas
| Herramienta | Descripción |
|---|
list_slides | Lista todas las diapositivas de un proyecto. Devuelve los IDs y nombres de las diapositivas. |
get_slide | Lee los archivos fuente de una diapositiva (face.tsx, face.content.json, face.controls.json). |
create_slide | Crea una nueva diapositiva vacía. Devuelve el nuevo slideId. Pasa editing: true para mostrar el gradiente de carga inmediatamente. |
update_slide | Actualiza los archivos fuente de una diapositiva. Valida y compila antes de guardar; devuelve errores si el código no compila. |
start_slide_editing | Muestra el gradiente de carga en el editor antes de hacer ediciones. |
finish_slide_editing | Limpia el gradiente de carga después de editar (llámalo siempre, incluso si falla). |
get_slide_guide | Obtiene la referencia completa de autoría de diapositivas (formatos de archivo, tipos de bloque, controles, tipografía, ejemplos). Llámalo antes de escribir código de diapositivas por primera vez. |
Construir una nueva presentación
get_slide_guide: lee la referencia de autoría (solo la primera vez)
- (Opcional)
list_teams: si el usuario podría querer el proyecto en un equipo específico, lístalos y pregunta. Si no, omite este paso y se usará el equipo personal.
create_project({ name, teamId? }): devuelve projectSlug y editorUrl
- Por cada diapositiva:
create_slide({ projectSlug, name, editing: true }): devuelve slideId
update_slide({ projectSlug, slideId, files }): escribe face.tsx, face.content.json, face.controls.json
finish_slide_editing({ projectSlug, slideId }): limpia el gradiente de carga
- Comparte la
editorUrl con el usuario.
Editar una diapositiva existente
get_slide_guide: si aún no la has leído
start_slide_editing(slideId)
get_slide(slideId): lee los archivos actuales
update_slide(slideId, files)
finish_slide_editing(slideId)
Autenticación
El server MCP usa OAuth para la autenticación. Cuando te conectes por primera vez, se te pedirá iniciar sesión en tu cuenta de Faces a través del navegador. No necesitas gestionar API keys, el flujo OAuth se encarga de todo automáticamente.
Como MCP se autentica por cuenta (no por equipo), los nuevos proyectos se crean por defecto en tu equipo personal a menos que el asistente pase un teamId explícito desde list_teams. Esto es diferente a la REST API y al CLI, que se autentican con API keys asociadas a un equipo y siempre crean proyectos bajo el equipo de la key. (Para el CLI, el equipo se elige con faces login --team <slug-or-id>; para las API keys REST, en Settings > Developers del panel.)
Control de acceso
Las herramientas MCP respetan el mismo modelo de permisos que el resto de Faces:
- Propietario del proyecto: acceso completo de lectura/escritura.
- Proyectos compartidos en equipo: cualquier miembro del equipo propietario puede leer y editar.
- Colaboradores invitados: pueden leer; solo los colaboradores con permiso de edición pueden actualizar diapositivas.
Si el usuario autenticado no tiene acceso a un proyecto, las herramientas MCP devuelven “Project not found or you don’t have access”.