MCP Server for AuroraView - AI-powered interaction with WebView applications
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file auroraview_mcp-0.3.37.tar.gz.
File metadata
- Download URL: auroraview_mcp-0.3.37.tar.gz
- Upload date:
- Size: 144.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aaae3ca529a5e52557e796f9c0e85a38562efabca16450bb60e7589271cfdd4c
|
|
| MD5 |
5ed9f3476a10cd67fa17733ef18080bc
|
|
| BLAKE2b-256 |
4c20a565f4b4c51636434a0cbfecfd1c626f53c7a20c8f258a6b7fa4c3ccb181
|
Provenance
The following attestation bundles were made for auroraview_mcp-0.3.37.tar.gz:
Publisher:
release.yml on loonghao/auroraview
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
auroraview_mcp-0.3.37.tar.gz -
Subject digest:
aaae3ca529a5e52557e796f9c0e85a38562efabca16450bb60e7589271cfdd4c - Sigstore transparency entry: 783658288
- Sigstore integration time:
-
Permalink:
loonghao/auroraview@1d608f2d4e3f5b636b1299c78188644f2c33a667 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/loonghao
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1d608f2d4e3f5b636b1299c78188644f2c33a667 -
Trigger Event:
push
-
Statement type:
File details
Details for the file auroraview_mcp-0.3.37-py3-none-any.whl.
File metadata
- Download URL: auroraview_mcp-0.3.37-py3-none-any.whl
- Upload date:
- Size: 30.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
238df76eab5943e184f2399ff28eaa5019cd23cd086a1fb76b2451133e3703f7
|
|
| MD5 |
f856928640f6b5a814c1afd34ade646d
|
|
| BLAKE2b-256 |
d2d885be605f4427aca8010ba96019c4652f96912c6cb00ae453c94353f5bd8f
|
Provenance
The following attestation bundles were made for auroraview_mcp-0.3.37-py3-none-any.whl:
Publisher:
release.yml on loonghao/auroraview
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
auroraview_mcp-0.3.37-py3-none-any.whl -
Subject digest:
238df76eab5943e184f2399ff28eaa5019cd23cd086a1fb76b2451133e3703f7 - Sigstore transparency entry: 783658311
- Sigstore integration time:
-
Permalink:
loonghao/auroraview@1d608f2d4e3f5b636b1299c78188644f2c33a667 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/loonghao
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1d608f2d4e3f5b636b1299c78188644f2c33a667 -
Trigger Event:
push
-
Statement type: