AuroraView MCP Server
MCP (Model Context Protocol) Server for AuroraView - enabling AI assistants to interact with WebView applications in standalone mode and DCC environments (Maya, Blender, Houdini, etc.).
Features
- Instance Discovery: Automatically discover running AuroraView instances
- CDP Connection: Connect to WebView2 instances via Chrome DevTools Protocol
- API Bridge: Call Python backend APIs through the JS bridge
- UI Automation: Click, fill, screenshot, and more
- Gallery Integration: Run and manage AuroraView samples
- DCC Support: Connect to AuroraView panels in Maya, Blender, Houdini, Nuke, Unreal
Installation
# Using pip
pip install auroraview-mcp
# Using uv (recommended)
uv pip install auroraview-mcp
# Using vx (auto-installs uv if needed)
vx uv pip install auroraview-mcp
# From source (development)
cd packages/auroraview-mcp
vx uv sync
Quick Start
Configure with Claude Desktop / CodeBuddy
Add to your MCP configuration:
{
"mcpServers": {
"auroraview": {
"command": "uvx",
"args": ["auroraview-mcp"],
"env": {
"AURORAVIEW_DEFAULT_PORT": "9222"
}
}
}
}
Development Mode
{
"mcpServers": {
"auroraview": {
"command": "uv",
"args": [
"--directory",
"/path/to/dcc_webview/packages/auroraview-mcp",
"run",
"auroraview-mcp"
]
}
}
}
Local Debugging
AuroraView MCP Server provides multiple ways to debug locally during development.
Method 1: FastMCP Built-in Client (Recommended for Unit Testing)
FastMCP 2.x includes a built-in Client that can test MCP servers without starting a separate process:
# Run all debug tests
just mcp-debug
# Interactive debug mode
just mcp-debug-interactive
Or run directly:
cd packages/auroraview-mcp
vx uv run python scripts/debug_client.py
# Test specific functionality
vx uv run python scripts/debug_client.py --test discover
vx uv run python scripts/debug_client.py --test connect --port 9222
vx uv run python scripts/debug_client.py --test interactive
Example debug script usage:
from fastmcp import Client
from auroraview_mcp.server import mcp
async def test():
async with Client(mcp) as client:
# List all available tools
tools = await client.list_tools()
print(tools)
# Call a tool
result = await client.call_tool("discover_instances", {})
print(result)
import asyncio
asyncio.run(test())
Method 2: MCP Inspector (Recommended for Visual Debugging)
MCP Inspector provides a web-based UI for testing MCP servers:
# Start MCP Inspector
just mcp-inspector
# Or run directly
vx npx @modelcontextprotocol/inspector vx uv --directory packages/auroraview-mcp run auroraview-mcp
Then open http://localhost:5173 in your browser to:
- View all available tools and resources
- Call tools with custom parameters
- Inspect responses in real-time
- Debug connection issues
Method 3: Direct Server Execution
Run the MCP server directly for stdio-based debugging:
# Start server in development mode
just mcp-dev
# Or run directly
cd packages/auroraview-mcp
vx uv run auroraview-mcp
justfile Commands
| Command | Description |
|---|---|
just mcp-dev |
Start MCP server in development mode |
just mcp-debug |
Run built-in debug client tests |
just mcp-debug-interactive |
Start interactive debug mode |
just mcp-inspector |
Launch MCP Inspector web UI |
just mcp-test |
Run unit tests |
just mcp-test-cov |
Run tests with coverage |
just mcp-lint |
Lint code with ruff |
just mcp-format |
Format code with ruff |
just mcp-build |
Build package |
just mcp-ci |
Run full CI check |
Available Tools
Discovery Tools
| Tool | Description |
|---|---|
discover_instances |
Discover all running AuroraView instances |
connect |
Connect to an AuroraView instance |
disconnect |
Disconnect from current instance |
list_dcc_instances |
Discover instances in DCC environments |
Page Tools
| Tool | Description |
|---|---|
list_pages |
List all pages in connected instance |
select_page |
Select a page by ID or URL pattern |
get_page_info |
Get detailed page information |
reload_page |
Reload the current page |
API Tools
| Tool | Description |
|---|---|
call_api |
Call AuroraView Python API method |
list_api_methods |
List available API methods |
emit_event |
Emit event to frontend |
UI Tools
| Tool | Description |
|---|---|
take_screenshot |
Capture page or element screenshot |
get_snapshot |
Get accessibility tree snapshot |
click |
Click on an element |
fill |
Fill input with text |
evaluate |
Execute JavaScript code |
hover |
Hover over an element |
Gallery Tools
| Tool | Description |
|---|---|
run_gallery |
Start the Gallery application |
stop_gallery |
Stop the running Gallery |
get_gallery_status |
Get Gallery running status |
get_samples |
List available samples |
run_sample |
Run a sample application |
stop_sample |
Stop a running sample |
get_sample_source |
Get sample source code |
list_processes |
List running sample processes |
stop_all_samples |
Stop all running samples |
get_project_info |
Get AuroraView project info |
Debug Tools
| Tool | Description |
|---|---|
get_console_logs |
Get console log messages |
get_network_requests |
Get network request history |
get_backend_status |
Get Python backend status |
get_memory_info |
Get memory usage info |
clear_console |
Clear console logs |
DCC Tools
| Tool | Description |
|---|---|
get_dcc_context |
Get current DCC environment context (scene, selection, frame) |
execute_dcc_command |
Execute DCC native commands (Maya cmds, Blender bpy, etc.) |
sync_selection |
Synchronize selection between DCC and WebView |
set_dcc_selection |
Set selection in DCC application |
get_dcc_scene_info |
Get detailed scene information |
get_dcc_timeline |
Get timeline/animation information |
set_dcc_frame |
Set current frame in DCC application |
Usage Examples
Start and Debug Gallery
User: Start the Gallery for debugging
AI: I'll start the Gallery application.
[Call run_gallery(port=9222)]
→ Gallery started, PID: 12345, port: 9222
[Call connect(port=9222)]
→ Connected to AuroraView Gallery
[Call get_page_info]
→ Gallery is ready with API methods available
Gallery is running and ready for debugging.
Basic Workflow
User: Help me test the Gallery search function
AI: I'll connect to Gallery and test the search.
[Call discover_instances]
→ Found 1 instance on port 9222
[Call connect(port=9222)]
→ Connected to AuroraView Gallery
[Call get_snapshot]
→ Got page structure, found search box
[Call fill(selector="input[placeholder*='Search']", value="cookie")]
→ Entered search term
[Call take_screenshot]
→ Screenshot shows search results
Search function works correctly.
Running Samples
User: Run the hello_world sample
AI: [Call run_sample(name="hello_world")]
→ Sample started, PID: 12345
[Call list_processes]
→ Shows running processes
Sample successfully started.
DCC Environment
User: Test the asset browser panel in Maya
AI: I'll connect to Maya's AuroraView panel.
[Call list_dcc_instances]
→ Found Maya 2025 instance, port 9223, panel: "Asset Browser"
[Call connect(port=9223)]
→ Connected to Maya Asset Browser
[Call get_dcc_context]
→ DCC: Maya 2025.1, Scene: /projects/scene.ma, Selection: ["pCube1"]
[Call execute_dcc_command(command="maya.cmds.ls", kwargs={"selection": True})]
→ Returns: ["pCube1", "pSphere1"]
[Call sync_selection]
→ DCC and WebView selections are in sync
Panel is working correctly in Maya.
DCC Timeline Control
User: Go to frame 50 in Maya
AI: I'll set the current frame.
[Call get_dcc_timeline]
→ Current: 1, Range: 1-120, FPS: 24
[Call set_dcc_frame(frame=50)]
→ Frame set to 50
[Call get_dcc_scene_info]
→ Scene info with current frame at 50
Frame has been set to 50.
Resources
The server also provides MCP resources:
| Resource | Description |
|---|---|
auroraview://instances |
List of running instances |
auroraview://page/{id} |
Page details |
auroraview://samples |
Available samples |
auroraview://sample/{name}/source |
Sample source code |
auroraview://logs |
Console logs |
auroraview://gallery |
Gallery status and info |
auroraview://project |
Project information |
auroraview://processes |
Running sample processes |
Environment Variables
| Variable | Description | Default |
|---|---|---|
AURORAVIEW_DEFAULT_PORT |
Default CDP port | 9222 |
AURORAVIEW_SCAN_PORTS |
Ports to scan (comma-separated) | 9222,9223,9224,9225 |
AURORAVIEW_EXAMPLES_DIR |
Path to examples directory | Auto-detected |
AURORAVIEW_GALLERY_DIR |
Path to Gallery directory | Auto-detected |
AURORAVIEW_PROJECT_ROOT |
Path to project root | Auto-detected |
AURORAVIEW_DCC_MODE |
DCC mode (maya, blender, etc.) | None |
Development
# Install dev dependencies
cd packages/auroraview-mcp
vx uv sync
# Run tests
just mcp-test
# Run with coverage
just mcp-test-cov
# Lint and format
just mcp-lint
just mcp-format
# Full CI check
just mcp-ci
Architecture
┌─────────────────────────────────────────────────────────────┐
│ AI Assistant │
│ (Claude, GPT, etc.) │
└─────────────────────────────────────────────────────────────┘
│
│ MCP Protocol (stdio)
▼
┌─────────────────────────────────────────────────────────────┐
│ AuroraView MCP Server │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ Discovery │ │ Tools │ │ Resources │ │
│ │ Module │ │ Module │ │ Module │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
│ │ │ │ │
│ └───────────────┼───────────────────┘ │
│ │ │
│ ┌──────────┴──────────┐ │
│ │ Connection Pool │ │
│ └──────────┬──────────┘ │
└─────────────────────────┼───────────────────────────────────┘
│
┌───────────────┼───────────────┐
│ │ │
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ WebView │ │ WebView │ │ WebView │
│ Instance │ │ Instance │ │ Instance │
│ (CDP) │ │ (CDP) │ │ (CDP) │
└──────────┘ └──────────┘ └──────────┘
Related
- AuroraView - Main project
- MCP Protocol - Model Context Protocol
- FastMCP - Fast, Pythonic MCP framework
- MCP Inspector - MCP debugging tool
License
MIT License - see LICENSE for details.
Metadata
Release files for auroraview-mcp 0.3.37
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| auroraview_mcp-0.3.37.tar.gz | 144.3 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| auroraview_mcp-0.3.37-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 174.9 kB
Release files / auroraview_mcp-0.3.37.tar.gz
| Download URL | auroraview_mcp-0.3.37.tar.gz |
|---|---|
| Size | 144.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aaae3ca529a5e52557e796f9c0e85a38562efabca16450bb60e7589271cfdd4c
|
|
BLAKE2b-256 checksum How to use checksums |
4c20a565f4b4c51636434a0cbfecfd1c626f53c7a20c8f258a6b7fa4c3ccb181
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Dec 31, 2025.
Transparency logRelease files / auroraview_mcp-0.3.37-py3-none-any.whl
| Download URL | auroraview_mcp-0.3.37-py3-none-any.whl |
|---|---|
| Size | 30.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
238df76eab5943e184f2399ff28eaa5019cd23cd086a1fb76b2451133e3703f7
|
|
BLAKE2b-256 checksum How to use checksums |
d2d885be605f4427aca8010ba96019c4652f96912c6cb00ae453c94353f5bd8f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Dec 31, 2025.
Transparency logSecurity for auroraview-mcp 0.3.37
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for auroraview_mcp-0.3.37.tar.gz
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 Dec 31, 2025.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.