Seiro MCP

Seiro MCP es un servidor MCP y Skills que permite flujos de trabajo de compilación autónomos para aplicaciones visionOS (Swift) usando Codex CLI / App.

Documentación

Seiro MCP Logo
MCP de construcción ligero para visionOS dirigido a agentes de codificación con IA

CI License: MIT Docs

Seiro MCP es un servidor MCP ligero centrado en flujos de trabajo de desarrollo para visionOS dirigidos a agentes de codificación con IA. Permite que Codex CLI y otros clientes MCP compilen, validen e inspeccionen proyectos visionOS de forma segura mediante un conjunto dedicado de herramientas MCP.

El objetivo de Seiro MCP no es exponer todas las capacidades de Xcode. En cambio, se centra intencionalmente en los flujos de trabajo de desarrollo que los agentes de codificación con IA realizan con mayor frecuencia durante el desarrollo diario. Hoy proporciona herramientas de compilación para visionOS junto con guías de habilidades de Codex integradas, y con el tiempo se ampliará con utilidades adicionales centradas en el desarrollo para computación espacial, manteniéndose enfocado en el desarrollo y no en la gestión de lanzamientos.

Características

  • Flujos de trabajo de desarrollo visionOS enfocados para agentes de codificación con IA
  • Automatización de compilación segura mediante restricciones explícitas del proyecto
  • Interfaz MCP amigable para IA para compilación, diagnósticos y artefactos
  • Integración con Codex Skill para la operación de compilación visionOS preferida
  • Flujo de trabajo de desarrollo local predecible
  • Escrito en Rust

¿Por qué Seiro MCP?

La automatización general de Xcode es potente, pero los agentes de codificación con IA generalmente necesitan un subconjunto enfocado de operaciones de desarrollo: validar el entorno, compilar un proyecto, inspeccionar fallos y recuperar artefactos.

Seiro MCP mantiene esa interfaz intencionalmente pequeña. Las superficies de herramientas MCP más pequeñas son más fáciles de razonar para los agentes, más fáciles de revisar para los humanos y más seguras de ejecutar en entornos de desarrollo local. El proyecto prioriza flujos de trabajo de desarrollo predecibles sobre la automatización de lanzamientos, la orquestación de firmas o el reemplazo completo de Xcode.

Ligero no significa menos funciones. Significa exponer las capacidades adecuadas para el desarrollo asistido por IA, dejando deliberadamente fuera del alcance del proyecto los flujos de trabajo orientados a lanzamientos, la orquestación de firmas y la automatización amplia de Xcode.

Inicio rápido

cargo install seiro-mcp --locked
seiro-mcp config mcp
seiro-mcp config project
  1. Pegue la salida de seiro-mcp config mcp en la configuración de Codex CLI (~/.codex/config.toml).
  2. Ejecute seiro-mcp config project desde la raíz del proyecto de destino.
  3. Edite seiro-mcp.toml para permitir las rutas y esquemas del proyecto de destino.
  4. Reinicie el cliente MCP y use las herramientas visionOS.

Ahora está listo para pedirle a Codex que compile su proyecto visionOS con Seiro MCP.

Configuración opcional de Codex Skill:

seiro-mcp skill install

Instalación

Requisitos previos

  • Rust 1.91.1 (se recomienda rustup override set 1.91.1)
  • Cargo (el comando cargo debe estar disponible)
  • Codex CLI
  • Cualquier cliente MCP (por ejemplo, MCP CLI / Inspector oficial)
  • git, bash/zsh

Si DevToolsSecurity está deshabilitado, habilítelo primero:

$ DevToolsSecurity -status
Developer mode is currently disabled.

$ sudo DevToolsSecurity -enable

1. Instalar desde crates.io

cargo install seiro-mcp --locked

Actualizar a v0.5.1

Si ya instaló una versión anterior, actualice a v0.5.1 con:

cargo install seiro-mcp --locked --force --version 0.5.1
seiro-mcp --version

El historial de versiones y las notas de actualización se publican en GitHub Releases.

Para actualizar las guías de habilidades integradas después de la actualización:

seiro-mcp skill remove seiro-mcp-visionos-build-operator
seiro-mcp skill install

2. Preparar Codex y la configuración del proyecto

(consulte docs/config.md para más detalles)

Genere el fragmento MCP del lado de Codex:

seiro-mcp config mcp

Pegue la salida en la configuración de Codex (~/.codex/config.toml):

[mcp_servers.seiro_mcp]
command = "/Users/<user>/.cargo/bin/seiro-mcp"

Luego cree la configuración local del proyecto de Seiro MCP desde la raíz del proyecto de destino:

seiro-mcp config project

Esto crea seiro-mcp.toml:

[visionos]
allowed_paths = []
allowed_schemes = []
xcode_path = "/Applications/Xcode.app/Contents/Developer"

MCP_CONFIG_PATH y --config permanecen disponibles para ubicaciones de configuración no predeterminadas. Cuando ninguno está configurado, Seiro MCP lee seiro-mcp.toml desde el directorio actual del proceso.

3. Opcional: instalar y ejecutar la habilidad integrada

seiro-mcp skill install --dry-run
seiro-mcp skill install
  • El nombre de la habilidad integrada usa el prefijo seiro-mcp- para evitar colisiones.
  • La fuente canónica de la habilidad integrada es .agents/skills/seiro-mcp-visionos-build-operator/, incluidos SKILL.md, agents/openai.yaml y los recursos de iconos en .agents/skills/seiro-mcp-visionos-build-operator/assets/.
  • Use seiro-mcp skill remove seiro-mcp-visionos-build-operator para revertir.
  • skill remove devuelve not_found sin fallar cuando la habilidad ya está ausente.
  • Verifique la compatibilidad con seiro-mcp --version antes de las operaciones de habilidad.
  • Para esta línea de versión, seiro-mcp skill install tiene como valor predeterminado seiro-mcp-visionos-build-operator. Pasar ese nombre de habilidad explícitamente aún es compatible.
  • seiro-mcp skill install instala la habilidad integrada en el directorio local de habilidades de Codex y no instala el binario del servidor Seiro MCP ni configura los ajustes de MCP.
  • Use seiro-mcp --help, seiro-mcp skill --help y seiro-mcp --version para la autocomprobación.
    seiro-mcp --help
    seiro-mcp skill --help
    seiro-mcp skill install --help
    

Ruta de instalación alternativa desde GitHub para Codex skill-installer:

  • Use Codex skill-installer con estos argumentos cuando desee instalar la habilidad directamente desde el repositorio público de GitHub:
    • --repo karad/seiro-mcp
    • --path .agents/skills/seiro-mcp-visionos-build-operator
  • Esto instala solo los archivos de habilidad de Codex. Aún necesita el binario seiro-mcp más la configuración del servidor MCP (seiro-mcp config mcp y seiro-mcp config project).

Uso

Uso desde Codex CLI

Agregue una entrada como la siguiente a la configuración de Codex CLI (~/.codex/config.toml) para llamar a las herramientas visionOS:

[mcp_servers.seiro_mcp]
command = "/Users/<your-username>/.cargo/bin/seiro-mcp"
  • Codex CLI no expande ${HOME}, así que use rutas absolutas y reemplace <your-username>.
  • Prefiera seiro-mcp config mcp para imprimir este fragmento con la ruta real del binario instalado.
  • De forma predeterminada, Seiro MCP lee seiro-mcp.toml desde el directorio actual del proyecto.
  • Reinicie Codex CLI y confirme que mcp list muestra las herramientas visionOS.

Cómo funciona

1. Iniciar el servidor mediante un cliente MCP

  • El cliente MCP debe iniciar el servidor como un proceso hijo y realizar el protocolo de enlace RMCP a través de stdio. Ejecutar cargo run directamente sin un cliente fallará inmediatamente.
  • Ejemplo con Inspector:
    npx @modelcontextprotocol/inspector seiro-mcp
    
  • Si necesita una ruta de configuración no predeterminada, pase MCP_CONFIG_PATH=/absolute/path/to/seiro-mcp.toml.
  • Si está desarrollando desde el código fuente, compile el binario e inícielo a través de un cliente MCP.

2. Validar la política de sandbox antes de compilar

mcp call validate_sandbox_policy '{
    "project_path": "/Users/<user>/codex/workspaces/vision-app",
    "required_sdks": ["visionOS", "visionOS Simulator"],
    "xcode_path": "/Applications/Xcode.app/Contents/Developer"
}'
  • Si status: "ok", continúe con build_visionos_app.
  • Si status: "error" o un error MCP, corrija según el código:
    • path_not_allowed: agregue el directorio principal del proyecto a visionos.allowed_paths.
    • sdk_missing: primero inspeccione details.diagnostics (probe_mode, effective_required_sdks, detected_sdks_raw, detected_sdks_normalized), luego instale el SDK de visionOS desde Xcode > Settings > Platforms.
    • devtools_security_disabled: ejecute DevToolsSecurity -enable.
    • xcode_unlicensed: ejecute sudo xcodebuild -license.
    • disk_insufficient: asegúrese de tener 20 GB+ de espacio libre para la compilación.

Verificación previa opcional antes de compilar:

mcp call inspect_xcode_sdks '{
    "required_sdks": ["visionOS", "visionOS Simulator"],
    "xcode_path": "/Applications/Xcode.app/Contents/Developer"
}'
  • Esta herramienta de solo lectura devuelve missing_required_sdks y el mismo contexto de sonda de SDK utilizado para la validación de sandbox.
  • Orden de solución de problemas recomendado: diagnósticos de validate_sandbox_policy -> inspect_xcode_sdks (opcional) -> reintentar validar/compilar.

Descubrimiento opcional de esquemas antes de compilar:

mcp call inspect_xcode_schemes '{
    "project_path": "/Users/<user>/codex/workspaces/VisionApp/VisionApp.xcodeproj",
    "xcode_path": "/Applications/Xcode.app/Contents/Developer"
}'
  • Use esto cuando project_path o scheme sea desconocido.
  • Si project_path se omite, el orden de resolución es:
    1. .xcodeproj descubierto en el directorio de trabajo actual
    2. visionos.default_project_path en seiro-mcp.toml

3. Iniciar una compilación con build_visionos_app

mcp call build_visionos_app '{
    "project_path": "/Users/<user>/codex/workspaces/VisionApp/VisionApp.xcodeproj",
    "scheme": "VisionApp",
    "destination": "platform=visionOS Simulator,name=Apple Vision Pro",
    "configuration": "debug",
    "extra_args": ["-quiet"],
    "env_overrides": {"MOCK_XCODEBUILD_BEHAVIOR": "success"}
}'
  • project_path / workspace deben ser rutas absolutas dentro de visionos.allowed_paths.
  • scheme debe estar listado en visionos.allowed_schemes.
  • configuration debe usar valores canónicos en minúsculas: debug o release. Por compatibilidad, Debug / Release también se aceptan.
  • extra_args permitidos: -quiet, -UseModernBuildSystem=YES, -skipPackagePluginValidation, -allowProvisioningUpdates.
  • MOCK_XCODEBUILD_BEHAVIOR cambia el fixture de prueba (tests/fixtures/visionos/mock-xcodebuild.sh) entre success / fail / timeout.
  • En caso de éxito, devuelve job_id, artifact_path, artifact_sha256, log_excerpt, duration_ms; en caso de fallo, devuelve errores como build_failed o timeout.
  • Si varios simuladores coinciden con el nombre de destino, build_visionos_app devuelve destination_ambiguous con matched_devices, available_destinations y un suggested_destination listo para reintentar.

Si una compilación falla, inspeccione los diagnósticos sin ejecutar comandos de shell manuales:

mcp call inspect_build_diagnostics '{
    "job_id": "<UUID returned in build error context>",
    "include_log_excerpt": true,
    "prefer_typecheck": true
}'
  • availability: "available" devuelve primary_location (file, line, column) de los diagnósticos de typecheck.
  • availability: "unavailable" recurre a un resumen de xcodebuild_log con notas.

4. Descargar artefactos con fetch_build_output

mcp call fetch_build_output '{
    "job_id": "<UUID returned by build_visionos_app>",
    "include_logs": true
}'
  • artifact_zip apunta a target/visionos-builds/<job_id>/artifact.zip; cópielo antes de que download_ttl_seconds expire.
  • Establezca include_logs: false para omitir log_excerpt y reducir el ruido en el lado del cliente.

Soporte de habilidades

Seiro MCP mantiene el flujo solo MCP sin cambios. Puede elegir cualquiera de los dos modos:

  • Modo solo MCP: llame a validate_sandbox_policy / build_visionos_app / inspect_build_diagnostics (en caso de fallo) / fetch_build_output directamente.
  • Modo asistido por habilidad: use la habilidad seiro-mcp-visionos-build-operator para flujos de trabajo de proyectos Xcode / visionOS para que Codex prefiera Seiro MCP sobre xcodebuild / swiftc directos.
  • Si project_path o scheme falta en el modo asistido por habilidad, ejecute inspect_xcode_schemes primero como verificación previa opcional.
  • Al descubrir un proyecto localmente, recuerde que .xcodeproj y .xcworkspace son paquetes de directorio. No confíe en búsquedas solo de archivos como rg --files para decidir que están ausentes.

Ruta de la habilidad en este repositorio:

  • .agents/skills/seiro-mcp-visionos-build-operator/SKILL.md

Instalar desde CLI:

seiro-mcp skill install --dry-run
seiro-mcp skill install

Instalar desde GitHub con Codex skill-installer:

  • --repo karad/seiro-mcp
  • --path .agents/skills/seiro-mcp-visionos-build-operator

Ejemplos de prompts:

  • Use seiro-mcp-visionos-build-operator for this visionOS build task.
  • Please run this using the seiro-mcp-visionos-build-operator skill.
  • Use Seiro MCP for this Xcode project instead of direct xcodebuild.

Importante:

  • Las habilidades proporcionan guía de orquestación.
  • MCP proporciona capacidad de ejecución.
  • En el modo asistido por habilidad, la ejecución real sigue siendo llamadas a herramientas MCP con contratos sin cambios.
  • Instalar la habilidad desde GitHub o seiro-mcp skill install no instala el binario del servidor Seiro MCP ni configura la conexión del cliente MCP.
  • Para tareas de proyectos Xcode / visionOS, los xcodebuild / swiftc de shell directos deben tratarse como rutas de respaldo, no como la ruta predeterminada.

Ejecución

  • El servidor debe iniciarse como un proceso hijo por un cliente MCP; ejecutar cargo run directamente fallará con MCP_CLIENT_REQUIRED (código de salida 44).
  • Seiro MCP actualmente admite el inicio MCP local por stdio. El modo TCP no forma parte del flujo de trabajo local compatible.
  • Consulte docs/runbook.md para la receta completa de inicio.

Modo de inicio

  • --config / MCP_CONFIG_PATH: --config tiene prioridad; de lo contrario, MCP_CONFIG_PATH -> ./seiro-mcp.toml (las rutas relativas se resuelven a absolutas).
  • La configuración de tokens no es necesaria para el flujo de trabajo local predeterminado de Codex.
  • Códigos de salida:
    • 44: MCP_CLIENT_REQUIRED (stdin/stdout es una TTY; debe iniciarse mediante un cliente MCP)
  • Consulte la sección "Procedimiento de apagado y códigos de salida" del runbook para más detalles.

Solución de problemas

  • Archivo de configuración no encontrado: ejecute seiro-mcp config project en la raíz del proyecto o establezca un MCP_CONFIG_PATH absoluto.
  • MCP_CLIENT_REQUIRED: ocurre al ejecutar cargo run directamente; siempre inicie mediante un cliente MCP (Inspector / Codex, etc.).
  • seiro-mcp: command not found: verifique la instalación y use seiro-mcp config mcp para imprimir el fragmento MCP de Codex.
  • path_not_allowed: agregue el directorio principal del proyecto a visionos.allowed_paths y reinicie.
  • scheme_not_allowed: agregue el esquema a visionos.allowed_schemes y reinicie.
  • sdk_missing: verifique details.diagnostics primero; si probe_mode es env, verifique VISIONOS_SANDBOX_SDKS. Luego ejecute inspect_xcode_sdks y reintente después de corregir SDK/configuración.
  • build_failed: use job_id del error estructurado y llame a inspect_build_diagnostics para identificar archivo/línea antes de reintentar.

Referencias

Motivación

A medida que los agentes de codificación con IA se vuelven más capaces, también necesitan formas confiables de interactuar con los entornos de desarrollo locales. Las soluciones existentes a menudo buscan exponer una amplia funcionalidad de Xcode, pero muchas tareas de desarrollo autónomo requieren solo un subconjunto pequeño y bien definido de esas capacidades.

Seiro MCP comenzó con una idea simple: proporcionar solo las herramientas que realmente se necesitan para el desarrollo de visionOS asistido por IA, y hacer que esas herramientas sean confiables, seguras y fáciles de usar para los agentes de IA. En lugar de convertirse en un servidor de automatización de Xcode con todas las funciones, Seiro MCP está diseñado para ser un compañero de desarrollo enfocado que ayuda a los agentes de IA a compilar, validar, inspeccionar diagnósticos y respaldar proyectos de computación espacial.

La visión a largo plazo es hacer crecer Seiro MCP hasta convertirlo en una colección de herramientas de desarrollo cuidadosamente diseñadas que mejoren el desarrollo asistido por IA para visionOS y la computación espacial, preservando al mismo tiempo su filosofía ligera.

Hoja de ruta

Seiro MCP continuará creciendo como un kit de herramientas de desarrollo enfocado para el trabajo de computación espacial asistido por IA. Las direcciones planificadas incluyen:

  • Herramientas adicionales para desarrolladores de visionOS
  • Utilidades de análisis de proyectos
  • Flujos de trabajo de desarrollo adicionales para visionOS
  • Soporte para Swift Package
  • Mejor orientación de flujos de trabajo para agentes de IA
  • Más utilidades de desarrollo para computación espacial

La hoja de ruta permanece alineada con la filosofía ligera: Seiro MCP debe exponer las herramientas de desarrollo adecuadas para los agentes de IA, no convertirse en un servidor MCP de Xcode con todas las funciones.

Contribuciones

Estructura de directorios

src/
  lib/            # shared logic: errors, telemetry, filesystem helpers
  server/         # config + RMCP runtime
  tools/          # visionOS tools
tests/
  integration/    # integration tests (separate crate)
docs/             # configuration, runbook, review checklists

Para contribuyentes (clonar + compilación local)

Si estás desarrollando este repositorio en sí, usa el flujo de clonación:

git clone git@github.com:karad/seiro-mcp.git
cd seiro-mcp
cargo fetch
cargo run -p xtask -- langscan
cargo run -p xtask -- docs-langscan
cargo run -p xtask -- check-docs-links
cargo run -p xtask -- preflight

Si algún paso falla, corrígelo y vuelve a ejecutarlo.

  • En caso de éxito, se produce target/release/seiro-mcp.

Para mantenedores (preparación de lanzamiento)

Antes de cargo publish, ejecuta:

cargo check
cargo test --all -- --nocapture
cargo fmt -- --check
cargo clippy -- -D warnings
cargo build --release
cargo package --list
cargo publish --dry-run

Se recomienda --locked para la reproducibilidad, pero no es obligatorio en todos los entornos.

Pruebas y controles de calidad

  • Preferido: cargo run -p xtask -- preflight (ejecuta fetch/check/test/fmt/clippy/build en orden).
  • Manual: cargo fetch -> cargo check -> cargo test --all -> cargo fmt -- --check -> cargo clippy -- -D warnings -> cargo build --release.
  • Las pruebas unitarias en src/server/config/mod.rs cubren la validación de configuración (casos de éxito y error).
  • tests/integration/visionos_build.rs cubre validate_sandbox_policy, build_visionos_app, inspect_build_diagnostics y fetch_build_output, incluido el comportamiento de TTL.

Código abierto