Skip to main content
Glama

starc-mcp

Servidor MCP para leer y escribir proyectos de Story Architect (STARC) desde cualquier agente LLM (Claude Code, Codex, Gemini/agy, Cursor, Hermes…). El agente pide — listar proyectos, leer el guion, escribir la escena 3, estadísticas, fichas de personajes — y el servidor hace el trabajo sobre tu archivo .starc, sin que el agente conozca el formato interno.

⚠️ No afiliado a Story Apps. Proyecto independiente; STARC es marca de sus autores. Funciona sobre el formato de archivo .starc (SQLite + XML).

Regla dura (por diseño)

Este servidor NUNCA modifica la aplicación STARC. Trabaja únicamente sobre archivos de proyecto .starc. La app puede actualizarse con normalidad sin conflicto. Probado contra STARC 0.8.2 (macOS).

Related MCP server: FileSystem MCP Server

Seguridad

  • Escrituras con doble confirmación: preview=true informa sin tocar nada; escribir exige preview=false, confirmar=true.

  • Escritura atómica: copia temporal → PRAGMA integrity_check → re-chequeo de lock → os.replace. Backup automático con microsegundos antes de cada escritura.

  • Nunca escribe con el proyecto abierto (detecta .lock de STARC).

  • Sin herramientas de borrado. Restaurar = restaurar_snapshot (con backup previo del estado actual).

  • Allowlist de rutas: solo .starc dentro del directorio configurado; /Applications, .app y .framework prohibidos explícitamente.

  • Logs a stderr (el stdio MCP se mantiene limpio).

Herramientas

Tool

Modo

Qué hace

listar_proyectos

lectura

.starc disponibles

info_proyecto

lectura

documentos y escenas

leer_guion

lectura

guion/serie a markdown, fountain o json

estadisticas

lectura

escenas, palabras, páginas, personajes, localizaciones

escribir_guion

escritura*

reemplaza el guion (fountain o json)

editar_escena

escritura*

reemplaza UNA escena por número

snapshot / listar_snapshots / restaurar_snapshot

escritura*

backups con fecha y restauración

poblar_* (personajes/localizaciones desde el guion)

escritura*

genera fichas automáticamente

* siempre con confirmación, backup y verificación post-escritura.

Instalación

git clone https://github.com/Christianrhf/starc-mcp.git
cd starc-mcp
python3 -m venv .venv && .venv/bin/pip install -e .

Config: STARC_PROJECTS_DIR apunta a tu carpeta de proyectos (por defecto ~/Documents/starc/projects).

Conectar un agente (ej. Claude Code)

claude mcp add --transport stdio starc \
  -- .venv/bin/python -m starc_mcp.server

Codex: codex mcp add starc -- .venv/bin/python -m starc_mcp.server Gemini/agy y Cursor aceptan MCP por stdio con el mismo comando.

Remoto (VPS → Mac)

El transporte MCP es stdio, no viaja por SSH solo; se enruta con pipes:

ssh usuario@mac "cd ~/starc-mcp && .venv/bin/python -m starc_mcp.server"

Uso con un agente (ejemplo)

"Lista mis proyectos. Sobre El Inquilino, dame las estadísticas y qué personajes hablan en la escena 12. Luego reescribe esa escena con más tensión (preview primero, y confirma antes de escribir)."

Compatibilidad tras actualizaciones de STARC

Si STARC cambia el formato interno, el servidor fallará de forma segura (no corrompe nada) y el test tests/ alerta: escribir → leer → contar escenas → integrity_check debe quedar verde.

Fixtures

Los fixtures de tests/fixtures/ son sintéticos (nunca guiones reales). Los backups .bak-* están en .gitignore.

Estado & roadmap

  • ✅ guion y serie (texto), sinopsis/tratamiento/título (lectura), estadísticas, personajes/localizaciones (escribir + poblar), portada (mecanismo), backups.

  • 🧪 validación visual de módulos pendiente: STARC 0.8.2 no expone los módulos de investigación (personajes/localizaciones/mundos) en su barra lateral; los datos cargan y se aceptan sin reparación.

  • ⏳ fdx/PDF, diccionarios (10105), mapa mental (100003), paginación fina.

Available Tools

13 tools
crear_mundoCrear MundoC

Crea un mundo (Mundos -> ficha). Registra el módulo visible en la app.

Inputs: nombre (required), proyecto (required), descripcion. Returns: object

editar_escenaEditar EscenaA

EDITA (destructiva) — reemplaza el contenido de UNA escena por número.

Igual seguridad que escribir_guion: preview=true no escribe; escribir exige preview=false + confirmar=true.

Inputs: numero (required), proyecto (required), texto_fountain (required), serie, +2 more. Returns: object

escribir_guionEscribir GuionA

ESCRIBE (destructiva) — reemplaza el guion completo.

Seguridad exigida: con preview=true devuelve un informe y NO escribe; para escribir de verdad hay que pasar preview=false y confirmar=true. Escritura atómica: copia temporal + integrity_check + os.replace, respaldo automático previo y aborto si el proyecto está abierto en STARC.

Inputs: source (required), proyecto (required), serie, formato, +2 more. Returns: object

escribir_sinopsisEscribir SinopsisC

ESCRIBE la sinopsis del proyecto (documento Sinopsis).

Inputs: texto (required), proyecto (required), preview, confirmar. Returns: object

escribir_tratamientoEscribir TratamientoC

ESCRIBE el tratamiento del proyecto (documento Tratamiento).

Inputs: texto (required), proyecto (required), preview, confirmar. Returns: object

estadisticasEstadisticasC

Escenas, palabras, páginas aprox., localizaciones y personajes.

Inputs: proyecto (required), serie. Returns: object

info_proyectoInfo ProyectoC

Nombres de documentos, tipos y número de escenas de un proyecto.

Inputs: proyecto (required). Returns: object

leer_guionLeer GuionA

Lee el guion (o serie) a markdown, fountain o json (lista de escenas).

formato: markdown | fountain | json

Inputs: proyecto (required), serie, formato. Returns: result

listar_proyectosListar ProyectosA

Lista los proyectos .starc disponibles en el directorio configurado.

Inputs: no named parameters. Returns: result

listar_snapshotsListar SnapshotsB

Lista los respaldos .bak- de un proyecto (para restaurar).

Inputs: proyecto (required). Returns: result

poner_portadaPoner PortadaA

Pone una imagen local como portada del proyecto (fichero dentro del allowlist).

Inputs: imagen (required), proyecto (required). Returns: object

restaurar_snapshotRestaurar SnapshotC

RESTAURA (destructiva) un respaldo .bak- sobre el proyecto.

Aborta si el proyecto está abierto. Hace otro backup del estado actual antes de reemplazar (nunca pierdes el estado previo).

Inputs: proyecto (required), respaldo (required). Returns: object

snapshotSnapshotA

Copia de seguridad con fecha del proyecto (no modifica nada).

Inputs: proyecto (required). Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 13 tools

    Disambiguation5/5

    Each tool targets a distinct resource and action: project listing, info, backups (create/list/restore), script reading/writing/editing, statistics, synopsis/treatment writing, world creation, and cover setting. Even similar tools like info_proyecto and estadisticas are clearly differentiated by content (structure vs. stats). No two tools appear to do the same thing.

    Naming Consistency4/5

    Most tools follow a consistent verb_noun pattern in Spanish (listar_proyectos, escribir_guion, editar_escena, restaurar_snapshot), but a few deviate by using nouns or non-verb prefixes (snapshot, estadisticas, info_proyecto). The overall snake_case convention is consistent, so minor irregularities don't cause confusion.

    Tool Count5/5

    With 13 tools, the surface is well-scoped for a screenwriting assistant. Each tool covers a distinct operation, and the count falls within the ideal 3-15 range, providing comprehensive functionality without overwhelming complexity.

    Completeness4/5

    The tool set covers the core lifecycle: reading, writing, editing, backups/restore, plus auxiliary writing (synopsis, treatment) and project metadata (info, stats, world, cover). Missing operations like creating a new project or managing characters/locations directly are minor gaps, but agents can likely work around them given the existing depth.

    Maintenance

    ActivityStale
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers