visor-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| quest_devicesA | List connected Quest/Android devices with connection state. Returns serial, model, connection state (device/unauthorized/offline), and whether the connection is wireless. Use this first if unsure what is connected. |
| quest_infoC | Get detailed device info: model, OS/firmware version, battery level and temperature, free storage, WiFi IP address, thermal status. |
| quest_screenshotA | Take a screenshot of what's currently displayed in the headset and return the image so it can be viewed. Auto-wakes the display if the headset is asleep. Optionally saves to save_path (PNG). |
| quest_installA | Install (sideload) an APK onto the headset. Replaces an existing install of the same package (upgrade). Set grant_permissions=True to auto-grant all runtime permissions (useful for test builds). |
| quest_uninstallB | Uninstall an app from the headset by package name. |
| quest_launchB | Launch an app on the headset by package name (e.g. com.mycompany.mygame). |
| quest_stopB | Force-stop a running app on the headset. |
| quest_app_listA | List installed apps. filter: 'sideloaded' (default — dev/third-party apps), 'system', or 'all'. |
| quest_app_infoA | Get app details: version, install/update dates, target SDK, permissions, data size on disk. |
| quest_clear_dataA | Clear an app's data — resets it to freshly-installed state. Useful for wiping test state (saves, settings, caches). |
| quest_logsA | Get recent logcat entries as structured logs (timestamp/level/tag/ message). level: V/D/I/W/E/F (minimum severity, default W). tag scopes to one log tag (e.g. 'Unity' or 'VrApi'). pattern is a case-insensitive regex applied to tag+message. |
| quest_logs_streamA | Watch logs in real time for duration_seconds (max 60) and return everything captured. Use while reproducing a bug: start this, interact with the app, and the tool returns what was logged in that window. |
| quest_crash_logsA | Get crash and ANR reports (Java crashes, native crashes, ANRs) from the system dropbox, most recent first. Filter by package_name to see crashes for one app. Each entry includes the full stack trace. |
| quest_performanceC | Get a performance snapshot: CPU usage, memory, thermal status with throttling risk, battery level/drain (mA, negative = discharging), foreground app, and top processes by CPU. |
| quest_monitorA | Monitor performance over time (max 120s) and return a timeseries of snapshots. Use while exercising an app to spot CPU spikes, memory growth, or thermal climb. |
| quest_thermalA | Check thermal state: overall throttle status, every temperature sensor with warning/critical flags, and max skin temperature. Quest throttles CPU/GPU as skin temps climb — watch for warnings during long play sessions. |
| quest_frame_timingA | Get live VR frame timing for the running app: FPS vs target, stale frames, GPU/CPU utilization and dynamic levels, app GPU time vs frame budget. Captures ~6s of the VrApi metrics stream. Falls back to gfxinfo for 2D/panel apps that don't render in VR. |
| quest_perf_sessionA | Record a full performance profiling session (max 300s) and return a summary, a bottleneck diagnosis (GPU-bound / CPU-bound / thermal throttling / memory pressure / hitching, with evidence and recommendations), and notable events. Use while the user exercises their app in the headset. The full session (per-second VrApi metrics, memory anatomy, thermal timeline) is saved to a JSON file whose path is returned — pass two such paths to quest_perf_diff to compare runs. Defaults to the current foreground app. |
| quest_perf_diffA | Compare two recorded perf sessions (JSON files from quest_perf_session), e.g. before/after an optimization. Returns metric deltas (fps, stale frames, GPU/CPU load, memory growth) and the verdict change. |
| quest_launch_benchmarkA | Benchmark an app's cold-start time: force-stop then timed launch, N times (max 5). Returns per-run timings and min/median/max — useful for measuring startup optimizations. |
| quest_traceA | Capture a perfetto system trace (max 60s): per-thread scheduling, CPU frequencies, graphics events. Use when session metrics show a problem (hitches, CPU-bound) and you need to see exactly what blocked. The .pftrace file can be opened at https://ui.perfetto.dev. |
| quest_app_memoryA | Get an app's memory anatomy (PSS in KB): java heap, native heap, code, stack, and graphics — graphics allocations (textures, buffers, surfaces) are usually what exhausts memory in VR apps. |
| quest_screen_recordA | Record the headset screen for N seconds (max 180) and save the MP4 locally. Returns the file path — useful for capturing a bug repro. |
| quest_pushA | Push a local file to the device (e.g. test assets to /sdcard/Android/data//files/). |
| quest_pullA | Pull a file from the device to the local filesystem (e.g. save files, logs written by the app). |
| quest_filesA | List a directory on the device. App data lives under /sdcard/Android/data//files/. |
| quest_connect_wirelessA | Switch the USB-connected headset to wireless ADB so the cable can be unplugged. The headset must be on WiFi. |
| quest_set_refresh_rateA | Set the display refresh rate hint (Quest 3: 72/80/90/120 Hz). Apps that request an explicit rate override this. |
| quest_trackingB | Check tracking subsystem status: head/hand/eye/body/controller tracking service availability, plus guardian boundary state if exposed. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/chisomobanzi/visor'
If you have feedback or need assistance with the MCP directory API, please join our Discord server