Manual › Slima MCP › Protección de archivos estructurados: cómo leer un rechazo
Protección de archivos estructurados: cómo leer un rechazo
Última actualización 9/09/2026 · 6 min de lectura
En una línea: cómo leer un rechazo de MCP — cuáles significan «usa otra herramienta», cuáles significan «esto necesita un plan» y cuáles significan «nunca».
Qué resuelve
Todos los rechazos parecen muros, y no lo son. Los errores de MCP en Slima llevan códigos distintos a propósito, porque el paso siguiente es completamente distinto: unas veces es otra herramienta, otras es pedirle al autor que lo haga en la app, otras es una suscripción. Una IA que no sabe distinguirlos hace lo peor que puede hacer: repite la misma llamada.
Por qué los archivos estructurados están protegidos
Cuando el Coach de escritura IA de la app apunta una escritura de archivo completo a un .beats, el frontend lo bloquea y el coste es una llamada desperdiciada.
A través de MCP, esa misma escritura saldría bien. Un archivo .beats guarda actos, beats y las tarjetas de capítulo que el autor arrastró hasta ahí; la IA vio una parte de eso y devolvió el documento entero. El archivo sigue abriéndose, falta un trozo del trabajo del autor y nada dio error.
Por eso la barrera vive en el servidor y no solo en la descripción de una herramienta. Una descripción es un consejo para un modelo; el rechazo del servidor es la garantía.
Cuatro rechazos con los que te vas a topar
| Código | Estado | Qué significa | Qué hacer después |
|---|---|---|---|
AI_READONLY_FILE_TYPE |
403 | Este tipo no es de los que una IA puede escribir enteros | Para los cinco tipos estructurados, el mensaje te nombra la herramienta update_* que toca usar. Para .character / .location / .json / .yaml no hay vía alternativa: léelo y describe el cambio que recomiendas |
SUBSCRIPTION_REQUIRED |
403 | Esta capacidad pertenece a los planes de suscripción | La lectura no está restringida. Lee el archivo, di con claridad qué cambiarías y el autor podrá hacer el cambio o suscribirse y dejar que lo haga la IA |
INVALID_PATH |
400 | Un libro antiguo de Script Studio, escrito fuera del árbol de planificación | Escribe bajo .script_studio/planning/ o pásaselo al autor |
FOLDER_NOT_EMPTY |
422 | La carpeta que pediste borrar todavía tiene cosas dentro | Si de verdad quieres el subárbol completo, envíalo otra vez con recursive: true. No es un problema de permisos, sino de que lo que pediste es más grande de lo que dijiste |
Los dos 403 usan códigos distintos a propósito, porque uno es «una mejora de plan desbloquea esto» y el otro es «nada desbloquea esto». Bajo un solo código, una IA no puede saber si mencionar la suscripción o dejar de insistir y pasar a describir el cambio con palabras.
El rechazo es la respuesta
Los errores de MCP en Slima están escritos para que una IA pueda arreglar el problema con solo el mensaje, en vez de adivinar:
- Un id que no existe → el mensaje enumera los ids reales
- Un nivel de lugar que no existe → el mensaje enumera los niveles reales
- Un campo de la operación B enviado a la operación A → el mensaje dice de qué operación es ese campo
- Un slug de guía equivocado → la respuesta trae la lista completa de guías
- Un
intentdemasiado largo → el mensaje explica que se convierte en el nombre del commit, así que tiene que ser una línea
Con lo cual la regla es simple: lee el error y haz lo que dice. Un fallo cuesta una ida y vuelta. Un segundo intento a ciegas puede costar los datos del autor.
Lo que esta barrera no hace
- No convierte el archivo en solo lectura. El autor lo edita con total libertad en la app. Esto solo detiene las escrituras completas que llegan de fuera.
- No restringe la lectura. Los cinco tipos estructurados se leen desde cualquier cuenta.
- No bloquea la creación.
create_filefunciona con esas extensiones; el contenido se ignora y el servidor escribe un esqueleto vacío. - No es un paso de revisión. Los cambios que llegan por MCP se saltan las tarjetas punteadas, pero son commits: totalmente visibles en el historial de versiones y totalmente reversibles.
Borrar sigue la misma regla que escribir
Borrar un .map y editar un .map están controlados igual: los dos pertenecen a los planes de suscripción. Una sola regla se recuerda mejor, y además descarta un absurdo genuino: que el agente de una cuenta Free pudiera borrar un archivo que no puede ni crear ni modificar.
Libros antiguos de Script Studio
Si todavía tienes uno, se rige por otro conjunto de reglas basado en rutas: la única zona escribible es el árbol .script_studio/planning/, mientras que series.json, *.character, *.scene, *.storyline, *.note y *.location son de solo lectura a través de MCP, igual que el marcador .script_studio/planning/.initialized.
Ese árbol de planificación es donde van los borradores de una IA: esquemas, notas de investigación, propuestas. Para cambiar una escena en sí, escribe la propuesta ahí y deja que el autor la aplique en la app. Para conocer las reglas exactas de un libro concreto, lee el recurso slima://books/{book_token}/schema; mira Consultar el schema de una obra con el recurso.
Relacionado
Abre la app y hazlo con tu propio libro. Gratis para empezar, sin tarjeta de crédito.