Seiro MCP spatial computing server and visionOS build tools
This repository ships the visionOS build MCP server. Follow these steps to install seiro-mcp, register it with Codex, create a project-local seiro-mcp.toml, and call the visionOS tools from an MCP client.
rustup override set 1.91.1)cargo, git, bash/zshIf DevToolsSecurity is disabled, enable it first:
DevToolsSecurity -status
sudo DevToolsSecurity -enable
Install the binary:
cargo install seiro-mcp --locked
For manual testing from a local checkout, install the current working tree instead:
cd /path/to/seiro-mcp
cargo install --path . --locked --force
This builds the local source with the locked dependencies and overwrites the installed seiro-mcp binary, usually at ~/.cargo/bin/seiro-mcp. Use it when you need Codex or Inspector to exercise unmerged local changes through the normal seiro-mcp command.
Verify which binary is active:
which seiro-mcp
seiro-mcp --version
seiro-mcp config mcp
To return to the published crates.io build later:
cargo install seiro-mcp --locked --force
Print the Codex-side MCP registration snippet:
seiro-mcp config mcp
Paste the output into Codex config (~/.codex/config.toml):
[mcp_servers.seiro_mcp]
command = "/Users/<user>/.cargo/bin/seiro-mcp"
From the target project root:
seiro-mcp config project
This creates seiro-mcp.toml:
[visionos]
allowed_paths = []
allowed_schemes = []
xcode_path = "/Applications/Xcode.app/Contents/Developer"
For a non-default config location, pass MCP_CONFIG_PATH from your MCP client or use --config when launching manually through a client.
seiro-mcp skill install --dry-run
seiro-mcp skill install
seiro-mcp skill remove seiro-mcp-visionos-build-operator to remove it..agents/skills/seiro-mcp-visionos-build-operator/.seiro-mcp skill install defaults to seiro-mcp-visionos-build-operator. Passing the skill name explicitly is still supported.seiro-mcp skill install only installs the bundled skill into the local Codex skills directory. It does not install the Seiro MCP server binary and does not configure MCP settings.Alternative GitHub install path for Codex skill-installer:
--repo karad/seiro-mcp--path .agents/skills/seiro-mcp-visionos-build-operatorIf you are contributing to this repository, run:
cargo fetch
cargo check
cargo test --all -- --nocapture
cargo fmt -- --check
cargo clippy -- -D warnings
cargo build --release
cargo package --list
cargo publish --dry-run
Additional repository checks:
cargo run -p xtask -- langscan
cargo run -p xtask -- docs-langscan
cargo run -p xtask -- check-docs-links
The MCP client must spawn the server as a child process and perform the RMCP handshake over stdio. Running cargo run directly without a client will fail with MCP_CLIENT_REQUIRED.
Inspector example:
npx @modelcontextprotocol/inspector seiro-mcp
If you are developing from source, replace seiro-mcp with target/release/seiro-mcp.
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"
}'
status: "ok", proceed to build_visionos_app.status: "error" or an MCP error, inspect the code and diagnostics.Optional SDK inspection:
mcp call inspect_xcode_sdks '{
"required_sdks": ["visionOS", "visionOS Simulator"],
"xcode_path": "/Applications/Xcode.app/Contents/Developer"
}'
Optional scheme preflight:
mcp call inspect_xcode_schemes '{
"project_path": "/Users/<user>/codex/workspaces/VisionApp/VisionApp.xcodeproj",
"xcode_path": "/Applications/Xcode.app/Contents/Developer"
}'
If project_path is omitted, resolution order is:
.xcodeproj discovered in current working directoryvisionos.default_project_path from seiro-mcp.tomlmcp 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"]
}'
If build fails and returns job_id, inspect diagnostics:
mcp call inspect_build_diagnostics '{
"job_id": "<UUID returned in build error context>",
"include_log_excerpt": true,
"prefer_typecheck": true
}'
Fetch artifacts:
mcp call fetch_build_output '{
"job_id": "<UUID returned by build_visionos_app>",
"include_logs": true
}'
| Symptom | Resolution |
|---|---|
| Config file missing | Run seiro-mcp config project in the project root, or set MCP_CONFIG_PATH to an absolute seiro-mcp.toml path. |
MCP_CLIENT_REQUIRED |
Launch via an MCP client instead of running cargo run directly. |
path_not_allowed |
Add the project’s parent directory to visionos.allowed_paths, or use allowed_paths = [] for local development. |
sdk_missing |
Check details.diagnostics, run inspect_xcode_sdks, then install/fix SDK settings and retry. |
scheme_not_allowed |
Add the scheme to visionos.allowed_schemes, or use allowed_schemes = [] for local development. |
artifact_expired |
Call fetch_build_output sooner or raise artifact_ttl_secs. |
RUST_LOG=debug enables verbose tracing.rmcp_sample::visionos target and record job_id, status, and elapsed_ms (see docs/telemetry.md).