Visora 👁️
Visora is a high-level Model Context Protocol (MCP) server for Unity Editor. It supports AnkleBreaker as the default compatibility transport and the bundled native Unity package, with typed tools for visual diagnostics, safe scene work, animation, rigging, meshes, and queue polling.
📚 Documentation
- 📖 Agent Workflow Guide & Practical Recipes — Step-by-step diagnostic recipes, camera projections, rig/animation debugging, and agent safety rules.
- ⚙️ Setup & Integration Guide — Setup instructions for Unity Editor, AnkleBreaker,
.envconfig, and client setups (Claude Desktop, Cursor, Antigravity, OpenCode). - 🗺️ Roadmap & Progress — Current status and milestones.
- 📝 Changelog — Release history and version notes.
🚀 Stack
- Python 3.10+
- MCPServer (mcp) — MCP server framework
- HTTPX — Async HTTP client with automatic port discovery and retry backoff
- Pydantic v2 + pydantic-settings — Typed config, validation, and structured tool output schemas
- Asyncio — Asynchronous task loop & non-blocking ticket polling
📂 Project Structure
visora/
├── backend/
│ ├── __init__.py
│ ├── app.py # MCPServer application instance
│ ├── server.py # MCP server entrypoint
│ ├── config.py # Centralized Pydantic settings
│ ├── bridge.py # HTTP bridge client with multi-port failover
│ ├── tools/
│ │ ├── vision/ # screenshots, camera rendering, viewport projection, video
│ │ ├── animation/ # clip curve inspection, skeleton mapping, pose sampling
│ │ ├── scene/ # safe transactions, playmode lifecycle, compilation check
│ │ ├── mesh/ # skinned mesh diagnostics, bone binding & bound audit
│ │ └── bridge/ # health check, port scan, queue ticket polling
│ └── schemas/ # Pydantic output models for every tool
├── docs/
│ ├── AGENT_WORKFLOWS.md # Agent recipes, workflows, and safety rules
│ ├── SETUP_GUIDE.md # Installation and MCP client configuration
│ └── ROADMAP.md # Roadmap & feature matrix
├── tests/ # Unit and integration test suites
├── Dockerfile # Hardened production container image
├── compose.yaml # Secure local MCP container configuration
├── pyproject.toml
└── .env.example
🛠️ Getting Started
Install from PyPI
pip install visora
visora
Visora starts an MCP server over standard input/output. Keep a Unity Editor open with either AnkleBreaker or the bundled com.visora.editor package configured as its HTTP bridge; see the setup guide.
Development Installation
# Using uv (recommended)
uv pip install -e .
# Or using pip
pip install -e .
Environment Configuration
Copy the .env.example file to .env:
cp .env.example .env
Running the MCP Server
# Direct module execution
uv run python -m backend.server
# Or package CLI
uv run visora
Docker
Visora's container uses stdio, just like a local MCP server. Build and run it with Docker Compose:
docker compose build --pull
docker compose run --rm -i visora
The Compose service reaches a Unity bridge on the host through host.docker.internal; configure bridge and optional provider variables in .env. See the Docker setup guide for Linux networking and security details.
🧰 Available MCP Tools
The generated, source-of-truth list of all 24 registered tools and their current parameters is in the Agent Workflow Guide.
License
Copyright 2026 Ama.
Licensed under the Apache License, Version 2.0.
Release files for visora 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| visora-0.1.3.tar.gz | 956.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| visora-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.1 MB
Release files / visora-0.1.3.tar.gz
| Download URL | visora-0.1.3.tar.gz |
|---|---|
| Size | 956.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9496d2b2920aeb503dbc4ab1bf9df7acc21135df1ef679e0f25ab936fd31192e
|
|
BLAKE2b-256 checksum How to use checksums |
c2767804a5561722e40c0105a3b3865c04d23df40bd3f008ef9b62c45a567d88
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency logRelease files / visora-0.1.3-py3-none-any.whl
| Download URL | visora-0.1.3-py3-none-any.whl |
|---|---|
| Size | 185.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
244f59ee74b0bf6dd6a982cb0a3dd611cc64637f22355458ed0d5d823d894bc0
|
|
BLAKE2b-256 checksum How to use checksums |
9f3ad1ecb96edbedcebb80b9a2b1131ed9c8eb9170d322fc7fda3530682ba23a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency log