Metavr Cli logo

Metavr Cli

Organization
meta-quest
metavr-cli

Provides the complete metavr (Meta VR CLI) reference for Meta Quest and Horizon OS development — installation, device setup, command discovery, MCP server mode, documentation search, app deployment, device testing setup, audio control, screenshots, and performance analysis. Use when the user needs to install metavr, asks what commands are available, needs CLI syntax help, or wants to know what metavr can do.

Overview

Publishermeta-quest
Repositoryagentic-tools
Skill namemetavr-cli
Stars
195
Forks
17
Bundled files
5
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 5 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by meta-quest on GitHub. Read the source before you install it.

Installation

Install the Metavr Cli AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/meta-quest/agentic-tools.git /tmp/agentic-tools
mkdir -p .claude/skills
cp -r /tmp/agentic-tools/skills/metavr-cli .claude/skills/metavr-cli
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Metavr Cli in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Metavr Cli on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Metavr Cli is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

metavr CLI Reference

What metavr Does

metavr (Meta VR CLI) is a CLI for Meta Quest and Horizon OS development. It wraps ADB and Meta developer APIs into higher-level commands for device management, app lifecycle, documentation lookup, screenshots, audio control, test-device preparation, MCP integration, and Perfetto performance analysis.

Keep this SKILL.md as the routing layer. For exact flags and complete command syntax, use the generated full CLI reference in docs/hzdb.md or run:

bash
npx -y metavr --markdown-help

Installation

Requires Node.js 20 or newer.

Invoke via npx:

bash
npx -y metavr --help
npx -y metavr --version

npx is the recommended path: it always pulls the latest published version, so you don't end up running an outdated global install. Examples in the rest of the documentation use the bare metavr command for brevity — substitute npx -y metavr for any of them.

Alternatively, install metavr globally using:

bash
npm install -g metavr

If you install globally, update regularly with npm update -g metavr. Use npx -y metavr when you want the latest published version without depending on a global install.

Device Connection

Before using on-device commands:

  1. Enable Developer Mode on your Quest (Settings > System > Developer)
  2. Enable USB Debugging when prompted
  3. Connect your Quest to your computer via USB-C

Verify the connection:

bash
metavr device list

If no devices appear: try a different USB cable (data-capable, not charge-only), accept the USB debugging prompt on the headset, or connect wirelessly with metavr device connect <ip>.

Command Discovery

Use progressive disclosure:

  1. Start with this skill for command groups and common workflows.
  2. Open a focused reference file when the user is working in that area.
  3. Use docs/hzdb.md or metavr --markdown-help for exact flags, arguments, and less common subcommands.

Current top-level command groups:

GroupUse for
adb / shellLow-level ADB-compatible commands and direct device shell access
appInstall, list, launch, stop, clear, inspect, and detect the foreground app
assetSearch Meta's 3D asset library
audioRead volume, set volume, mute, and unmute device audio
captureCapture screenshots from a connected headset
configRead, write, reset, and list metavr configuration
deviceList/connect devices, wait for ADB state, inspect controllers, configure test devices, run health checks, and manage proximity
docsSearch/fetch Meta Quest docs and API reference entries
filesList, pull, push, remove, and create directories on the device
logView recent device logs; use adb logcat for advanced filters and streaming
mcpStart or install the metavr MCP server for AI tools
perfCapture, open, analyze, query, compare, and manage Perfetto traces

MCP Server Mode

metavr includes a built-in MCP (Model Context Protocol) server with ~40 tools that enable AI agents to interact with Quest devices programmatically.

Add this command to any MCP configuration to use the MCP server:

bash
metavr mcp server

The server exposes tools for device management, app lifecycle, performance trace analysis, documentation search, file operations, and 3D asset search.

Install MCP configuration into other AI tools:

bash
metavr mcp install cursor
metavr mcp install claude-desktop
metavr mcp install vscode

For project-local agent setup, install the MCP config into the current repository:

bash
cd your-project
metavr mcp install project

This is the best default when a coding agent already has repository access on the host machine and should be able to call metavr tools from that project.

Common Agent Workflow

If you are building a Quest-native developer tool or pairing a Quest headset UI with a host-side coding agent, keep the architecture simple:

  • Let the host-side coding agent own repository access, file edits, builds, tests, and metavr tool calls
  • Let the headset app or browser experience act as a thin client for preview, prompt capture, status, and approval
  • Prefer project-local MCP installation with metavr mcp install project so the integration is explicit and travels with the repository
bash
# 1. Verify the current docs before coding against an API or workflow
metavr docs search "spatial sdk panel"
metavr docs fetch https://developers.meta.com/horizon/documentation/...

# 2. Build and deploy your app
./gradlew assembleDebug
metavr app install app/build/outputs/apk/debug/app-debug.apk
metavr app launch com.example.app

# 3. Observe on-device behavior
metavr log --tag MyApp
metavr capture screenshot -o latest.png

# 4. Prepare a stable test device when running repeatable tests
metavr device health-check
metavr device configure-testing setup
# ...run tests...
metavr device configure-testing restore

Relationship to ADB

metavr wraps ADB and provides higher-level commands. You do not need to use adb directly for most Quest development tasks. metavr handles device selection, provides structured output, and adds Quest-specific functionality (screenshots via metacam, Perfetto trace analysis, doc search) that raw ADB does not support.

If you need raw shell access to the device, use metavr shell or metavr adb shell.

Full Command Reference

Use docs/hzdb.md for generated command details. Regenerate it with:

bash
npx -y metavr --markdown-help > docs/hzdb.md

References

For detailed usage guides with workflows, examples, and troubleshooting:

  • Device Management — device commands, audio, screenshots, logs, test setup, health checks, shell access
  • App Management — app lifecycle, foreground app detection, crash debugging, common log tags
  • Agent Workflows — project-local MCP install, docs verification, safety, thin-client architecture
  • Performance Tools — trace capture, guided analysis, Perfetto UI, SQL queries, comparisons, GPU counters
  • Documentation Search — doc search, API search, category filtering

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Metavr Cli AI skill do?

Provides the complete metavr (Meta VR CLI) reference for Meta Quest and Horizon OS development — installation, device setup, command discovery, MCP server mode, documentation search, app deployment, device testing setup, audio control, screenshots, and performance analysis. Use when the user needs to install metavr, asks what commands are available, needs CLI syntax help, or wants to know what metavr can do.

Why use Metavr Cli on TypingMind?

Because you install it once and use it with any model. Metavr Cli is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Metavr Cli in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/meta-quest/agentic-tools/tree/main/skills/metavr-cli. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Metavr Cli?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Metavr Cli?

As many as you like. As long as a model supports skills, you can use Metavr Cli with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Metavr Cli AI skill free?

Yes. It is published on GitHub by meta-quest under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇