ICCPlus MCP
ICCPlus MCP
Un servidor Model Context Protocol consciente del esquema para crear, inspeccionar, editar, validar y empaquetar proyectos ICC Plus.
Este proyecto fue creado mediante vibe coding en colaboración con un agente de codificación de IA.
El servidor proporciona a un agente de IA un modelo completo del proyecto ICC Plus generado e indexado directamente desde la fuente original:
el esquema del proyecto y los valores predeterminados actuales se generan a partir del código fuente de ICC Plus;
cada uno de los 59 tipos de modelo declarados y los 893 campos únicos es descubrible;
los 227 archivos de código fuente/compilación/configuración/parche y las 1411 funciones/métodos con nombre del creador y del visor independiente están indexados con la fuente exacta, evidencia SHA-256, firmas, uso de campos de modelo y rangos de línea;
los 75 archivos del repositorio de despliegue solicitado y los 34 archivos dentro de sus archivos de visor oficiales tienen recuentos de bytes y manifiestos SHA-256;
las herramientas de alto nivel preservan ID, orden, enlaces de padre y pertenencias recíprocas;
la aplicación de parches genérica RFC 6902 mantiene accesibles los campos upstream nuevos o poco comunes;
la validación estructural y semántica detecta referencias colgantes antes de guardar;
las herramientas de Custom CSS respaldadas por fuente exponen las clases oficiales del visor, resuelven los selectores del proyecto y diagnostican riesgos de sintaxis/cascada antes de guardar;
la preservación del ancho de fila de ICC Plus v2.10, los títulos de visibilidad/depuración del formulario de compilación, los controles divididos de recálculo de puntuación, los menús de fila ocultos y las clases CSS de estado de addon están modelados y son descubribles;
los archivos del visor local y web oficiales se pueden compilar sin abrir la interfaz de creación.
La compatibilidad se genera actualmente desde ICC Plus v2.10.1, commit de fuente b33bfb9b29e0a84a035a56d7e1827e42fe0f7000.
Qué es esto
ICCPlus MCP es un adaptador de creación y compilación para el JSON de proyectos ICC Plus. No reimplementa el visor del navegador. Los efectos de selección, la reproducción de audio, los diálogos, el renderizado y otros comportamientos interactivos se siguen ejecutando en el visor oficial. El servidor comprende y valida la configuración que impulsa esos comportamientos, puede evaluar árboles de requisitos para un estado proporcionado y puede empaquetar el resultado en las plantillas del visor oficial.
El diseño tiene deliberadamente dos capas:
agent
├─ discover: capabilities, schema, resources, prompts
├─ author: create/update/move/duplicate/import entities
├─ complete field access: atomic JSON Patch for every schema field
└─ verify: normalize, validate, evaluate, save, build viewer
│
▼
revisioned in-memory project session
│
▼
ICC Plus JSON / viewer ZIPRelated MCP server: ts-language-mcp
Requisitos
Node.js 20 o superior
Un espacio de trabajo de proyecto ICC Plus
Para compilaciones de visor,
web_viewer.zipolocal_viewer.zipdel repositorio de despliegue de ICC Plus
Instalación y compilación
git clone https://github.com/Kz2g1ew-commits/ICCPlus-MCP.git
cd ICCPlus-MCP
npm ci
npm run buildEl ejecutable es dist/index.js y se comunica a través de stdio. La salida del protocolo usa stdout; los diagnósticos usan stderr.
Conectar un agente
Establezca ICCPLUS_WORKSPACE como el único directorio que el servidor puede leer o escribir. Las rutas relativas de proyectos, activos, plantillas y salidas se resuelven dentro de este directorio. Los enlaces simbólicos existentes se resuelven y no pueden escapar de él.
Codex
codex mcp add iccplus \
--env ICCPLUS_WORKSPACE=/absolute/path/to/iccplus-workspace \
-- node /absolute/path/to/ICCPlus-MCP/dist/index.jsVerifique con codex mcp list y reinicie el cliente si ya estaba abierto. La entrada equivalente de config.toml de usuario o de proyecto de confianza es:
[mcp_servers.iccplus]
command = "node"
args = ["/absolute/path/to/ICCPlus-MCP/dist/index.js"]
env = { ICCPLUS_WORKSPACE = "/absolute/path/to/iccplus-workspace" }
startup_timeout_sec = 10
tool_timeout_sec = 60
enabled = trueLa CLI de Codex, la extensión del IDE y la superficie de Codex de escritorio de ChatGPT comparten esta configuración. Una entrada con ámbito de proyecto puede estar en .codex/config.toml y se carga solo para un proyecto de confianza.
Otros clientes MCP stdio
Use la configuración de servidor local del cliente con este comando:
{
"command": "node",
"args": ["/absolute/path/to/ICCPlus-MCP/dist/index.js"],
"env": {
"ICCPLUS_WORKSPACE": "/absolute/path/to/iccplus-workspace"
}
}Entorno opcional:
ICCPLUS_WORKSPACE: límite del sistema de archivos; el valor predeterminado es el CWD del proceso del servidor.ICCPLUS_MAX_ASSET_BYTES: tamaño máximo de activo local; el valor predeterminado es 26 214 400 bytes (25 MiB).ICCPLUS_DUPLICATED_TEXT_LIMIT_BYTES: tamaño máximo duplicado en el respaldo de texto de un resultado de herramienta; el valor predeterminado es 8192 bytes. Los resultados exactos más grandes siguen disponibles enstructuredContent. Establezca-1para el texto ilimitado heredado.
Flujo de trabajo recomendado para el agente
Llame a
iccplus_capabilitiespara la familia de características o el campo relevante.Cree o abra un proyecto y conserve su
project_idyrevision.Cree primero las entidades de nivel superior referenciadas: puntos, variables, palabras, grupos, diseños y requisitos globales.
Cree filas, luego opciones, luego puntuaciones/addons/requisitos.
Pase
expected_revisiona las mutaciones. Usedry_runpara cambios amplios.Para estilos avanzados, descubra selectores exactos con
iccplus_css_catalog, analice el CSS candidato y luego aplíquelo coniccplus_css_set.Llame a
iccplus_validatey, donde sea útil, aiccplus_evaluate_requirements.Guarde explícitamente o compile un archivo de visor oficial.
Un agente también puede solicitar la instrucción author-iccplus-project o audit-iccplus-project incluida.
Ejemplo de solicitud de usuario:
Cree un CYOA con 10 créditos iniciales, tres opciones de origen mutuamente excluyentes y una fila de armas desbloqueada al seleccionar un origen. Valídelo, guárdelo como
projects/origins.jsony luego compile un visor web usandotemplates/web_viewer.zip.
Herramientas
Herramienta | Propósito |
| Descubra 19 familias de características, un tipo/campo, un cuerpo de función exacto, un índice de archivo de fuente o un artefacto de despliegue. |
| Enumere las clases oficiales del visor respaldadas por fuente y los selectores exactos de ID de proyecto. |
| Analice la sintaxis, la especificidad, la resolución de objetivos, los conflictos de cascada y los activos externos del CSS almacenado o candidato. |
| Reemplace, añada, anteponga o borre el Custom CSS del proyecto con protección de revisión, dry-run y validación. |
| Lea el resumen del esquema, una definición o el esquema generado completo. |
| Comience con los valores predeterminados upstream actuales exactos. |
| Abra el JSON del proyecto en una sesión aislada. |
| Enumere sesiones, revisiones, estado de modificación y recuentos. |
| Inspeccione la validación, el tamaño, los recuentos de contenido y el JSON opcional. |
| Lea JSON Pointers exactos, incluidos CSS/HTML/JS y campos desconocidos, con redacción de activos de forma predeterminada. |
| Busque todas las entidades modeladas por tipo, ID o texto. |
| Cree una entidad con valores predeterminados, ID nuevos y reparación de padre. |
| Fusione en profundidad o anule campos y, opcionalmente, reescriba referencias de ID. |
| Clone un árbol de entidades con ID nuevos y reasignación interna opcional. |
| Reordene una entidad y repare los índices posicionales. |
| Elimine mientras rechaza las referencias colgantes nuevas de forma predeterminada. |
| Aplique atómicamente operaciones RFC 6902 a cualquier campo del proyecto. |
| Migre formas heredadas y repare ID, índices, padres y pertenencias. |
| Ejecute el esquema generado más la validación semántica/de referencias. |
| Evalúe requisitos contra las selecciones, puntos, variables y palabras proporcionados. |
| Exporte un subárbol de entidad reutilizable. |
| Importe un subárbol con regeneración/reasignación segura de ID. |
| Establezca cualquier campo de cadena desde un archivo del espacio de trabajo, URL o data URL. |
| Guarde atómicamente JSON validado dentro del espacio de trabajo. |
| Compile ZIPs del visor web/local oficiales y, opcionalmente, imágenes separadas. |
| Deshaga o rehaga una mutación de sesión. |
| Cierre una sesión, protegiendo los cambios no guardados. |
Las herramientas de entidades cubren row, backpack_row, choice, addon, selectable_addon, score, requirement, point, variable, word, group, row_design_group, choice_design_group, global_requirement, sound_effect y category.
Recursos y prompts
URI/nombre | Contenido |
| Catálogo oficial de selectores de Custom CSS con evidencia de fuente. |
| Esquema JSON del proyecto generado completo. |
| Catálogo de características respaldadas por fuente y recuentos de cobertura. |
| Manifiesto SHA-256 de todos los archivos de despliegue y entradas ZIP del visor oficial. |
| Metadatos normalizados UTF-8 para 209 paquetes de terceros upstream. |
| CSS almacenado, análisis estático y selectores específicos del proyecto. |
| Revisión en vivo, validación y recuentos de entidades. |
| Orden de construcción seguro y flujo de trabajo de verificación. |
| Auditoría completa de finalización y empaquetado del proyecto. |
Seguridad e integridad de los datos
Las mutaciones ocurren sobre datos clonados y se confirman atómicamente.
expected_revisionproporciona control de concurrencia optimista.dry_rundevuelve el informe de validación proyectado sin cambiar una sesión.no_new_errorses la política de mutación predeterminada;strictrequiere un resultado completamente válido;noneestá disponible para reparaciones por etapas.JSON Patch bloquea los segmentos de puntero de contaminación de prototipos.
El guardado usa un archivo temporal más un renombrado.
Los archivos existentes no se reemplazan a menos que
overwrite=true.Los valores de los activos se redactan de la salida de consulta normal y se informan por tipo de medio y tamaño aproximado en bytes.
Las lecturas de ruta exacta evitan devolver un proyecto completo, y los resultados grandes de herramientas no se duplican en la salida de texto y estructurada.
Los campos desconocidos sobreviven a la carga, edición, normalización y guardado para compatibilidad futura.
Cobertura de validación
El validador combina el esquema App generado con comprobaciones de:
IDs duplicados o faltantes y desajustes de índice posicional;
enlaces de addon principal;
cada fila, opción, punto, grupo, variable, palabra, diseño, sonido y referencia de requisito global modelado;
referencias de puntuación a puntos y de activación de puntos;
requisitos anidados, umbrales y ciclos de requisitos globales;
membresías recíprocas de grupos y grupos de diseño;
modos de exportación de visor incompatibles;
sintaxis de Custom CSS, construcciones heredadas peligrosas, selectores de ID ICC Plus no resueltos, alcance amplio, recursos externos y probables conflictos de estilos en línea;
invariantes de inicialización y de enteros/flotantes de puntos.
El evaluador de requisitos implementa id (incluido /ON#N), points,
pointCompare, or, selFromGroups, selFromRows, selFromWhole, gid,
word, negación, operadores y requisitos previos anidados. Devuelve un
rastro explicable en lugar de solo un booleano.
Custom CSS avanzado
ICC Plus almacena CSS en el campo de nivel superior customCSS y lo inyecta
como style#customCSS en el creador/visor oficial usando textContent. El MCP
deriva su catálogo del marcado del visor independiente fijado, incluidos
row-{id}, row-{id}-bg, row-{id}-header, choice-{id}, clases de estado
de opción, addon y addon-{id} seleccionable.
iccplus_css_catalog puede devolver selectores con escape CSS para cada fila,
opción y addon seleccionable del proyecto abierto. iccplus_css_analyze
analiza reglas anidadas, informa especificidad y entidades coincidentes, y
advierte cuando es probable que una declaración pierda frente a los estilos en
línea de ICC Plus. iccplus_css_set persiste el resultado a través de la misma
transacción versionada y política de validación que otras mutaciones del
proyecto.
Para v2.10+, el catálogo también cubre .row-bg-{rowId},
.row-header-{rowId}, .choice, .addon-selectable y las
clases de estado .addon-enabled, .addon-disabled, .addon-selected y
.addon-unselected, conservando las grafías de selectores de fila más
antiguas.
Esto es intencionalmente análisis estático. Los estilos calculados, el diseño responsivo y la representación de estados de interacción siguen siendo responsabilidad del visor oficial; no se incluye ningún runtime de automatización de navegador ni herramienta de navegación no relacionada.
Compilaciones del visor
iccplus_build_viewer acepta una plantilla ZIP oficial dentro del espacio de
trabajo.
El modo web escribe
project.json.El modo local incrusta el proyecto en
js/app.js.El título de carga, el texto, los colores, el favicon, el fondo, las fuentes y el Custom CSS del proyecto se conservan en el proyecto empaquetado.
La separación opcional de imágenes extrae URL de datos de estilos globales, filas, filas de backpack, grupos de diseño y ajustes del visor; los recursos idénticos se deduplican.
El JavaScript del visor de la plantilla sigue siendo la fuente de verdad del runtime.
Sincronización con upstream
El modelo de proyecto se genera directamente desde la fuente upstream. Vuelva a ejecutar el analizador contra un checkout de ICC-Plus-Svelte:
npm run analyze:upstream -- --source ../ICC-Plus-Svelte --deployment ../ICCPlus
npm test
npm run check
npm run buildEl analizador usa el AST de TypeScript para regenerar:
src/generated/iccplus.schema.jsonsrc/generated/default-project.jsonsrc/generated/source-analysis.jsonsrc/generated/deployment-manifest.jsonsrc/generated/third-party-licenses.jsonanalysis/CODEBASE_INVENTORY.md
Las pruebas fallan si un tipo de modelo upstream recién declarado no se asigna
a una familia de características. source-analysis.json también registra
declaraciones, importaciones, archivos fuente completos con dirección
SHA-256, etiquetas de componentes, cada función/método fuente con nombre,
cuerpos de función exactos y ocurrencias en el código fuente. El manifiesto de
despliegue cubre cada archivo en wahaha303/ICCPlus más cada entrada de
archivo del visor oficial. Los agentes pueden consultar field:<name>,
type:<name>, function:<name> o source:<relative-path> a través de
iccplus_capabilities; deployment:<relative-path> devuelve evidencia de
despliegue. Las consultas de funciones admiten file, offset y limit
para que los nombres locales duplicados sigan siendo manejables;
include_source=false devuelve metadatos compactos.
Desarrollo
npm test
npm run test:stdio
npm run verify:upstream -- --source ../ICC-Plus-Svelte --deployment ../ICCPlus
npm run check
npm run build
npm run inspect
npm pack --dry-runLa suite de pruebas cubre cobertura del modelo generado, mutación del grafo del modelo, normalización, reescrituras de referencias, todas las familias de requisitos, atomicidad RFC 6902, empaquetado del visor e intercambio de cliente/servidor MCP en memoria.
Para el mapa semántico completo de características, consulte
analysis/FEATURE_ANALYSIS.md. La evidencia
generada de campos/funciones/componentes está en
analysis/CODEBASE_INVENTORY.md.
El registro de verificación requisito por requisito es
analysis/COMPLETION_AUDIT.md.
Atribución
ICC Plus es desarrollado por
wahaha303. Este servidor MCP es una
integración independiente y no reemplaza ni modifica el creador/visor oficial.
Ambos proyectos se distribuyen bajo la Licencia MIT; consulte LICENSE.
Los avisos de dependencias upstream y vendored se conservan en
THIRD_PARTY_NOTICES.md y en el recurso
iccplus://licenses.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables local-first book writing with AI assistance, allowing users to scaffold, create, search, validate, and enrich a book repository through natural language using OpenCode or Claude.MIT
- AlicenseAqualityCmaintenanceEnables AI coding agents to interact with TypeScript projects through compiler-level code intelligence, providing tools for navigation, type information, diagnostics, refactoring, and semantic search.293393Apache 2.0
- AlicenseAqualityAmaintenanceMCP server for AI agents to compile, playtest, and exhaustively explore ink interactive fiction stories, catching compile errors, runtime errors, unreachable content, and verifying story structure.5592MIT
- AlicenseAqualityBmaintenanceEnables AI tools to collaboratively write novels by managing chapters, characters, and story state through commands like validate, context, draft, review, and approve.8MIT
Related MCP Connectors
Give your AI agent a persistent map of your project's structure, dependencies, and bugs.
Build, validate, and deploy multi-agent AI solutions from any AI environment.
Cross-agent artifact workspace with provenance across Claude Code, Codex, Cursor, LangGraph.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Kz2g1ew-commits/ICCPlus-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server