npx) — a lightweight install that works with any MCP-compatible editor or agent, including VS Code, Cursor, and Antigravity.npx option runs the latest version of hzdb (@meta-quest/hzdb), which includes additional tools and improvements. The MQDH-bundled MCP server will be updated to match in a future release. Choose whichever fits your workflow.
Cmd+Shift+X on Mac, Ctrl+Shift+X on Windows), and search for Meta Horizon. If the extension is not available in the Marketplace, use Option B: Install through Node.js (npx) instead.npx)npx. MQDH already bundles and manages the same MCP server. Running both simultaneously may result in duplicate tool registrations in your AI agent. Use one method or the other..vscode/mcp.json (or open it if it already exists).{
"servers": {
"meta-horizon-mcp": {
"command": "npx",
"args": ["-y", "@meta-quest/hzdb", "mcp", "server"]
}
}
}
Cmd+Shift+P > Developer: Reload Window) so VS Code picks up the new MCP server.npx -y @meta-quest/hzdb mcp server
Ctrl+C to stop it.claude_desktop_config.json):{
"mcpServers": {
"meta-horizon-mcp": {
"command": "npx",
"args": ["-y", "@meta-quest/hzdb", "mcp", "server"]
}
}
}
npx -y @meta-quest/hzdb mcp server
# Search documentation npx @meta-quest/hzdb search-doc "passthrough rendering" # Pull device logs npx @meta-quest/hzdb logcat --lines 100 --level error # Capture a screenshot from a connected Quest npx @meta-quest/hzdb screenshot # Search Meta's 3D asset library npx @meta-quest/hzdb asset-search "realistic indoor furniture"
npx @meta-quest/hzdb --help to see all available commands.| Tool Name | Description | Key Parameters / Usage | More Details / Links |
|---|---|---|---|
fetch_meta_quest_doc | Retrieve the full content of a specific documentation page from Meta’s Horizon platforms. | url (required): Full URL to the documentation page (should start with https://developers.meta.com/horizon/llmstxt/documentation/) | Use with search_doc to find and fetch specific pages. |
search_doc | Search across Meta Horizon OS documentation for relevant pages. | query (required): Search query describing the topic or feature you’re looking for | Use with fetch_meta_quest_doc to retrieve full page content. |
get_adb_path | Return the preferred ADB binary path for Meta Quest development. | None | |
get_device_logcat | Retrieve Android logcat logs from a connected Meta Quest device via ADB. | lines, tag, level, package, pid, clear | Useful for debugging app crashes, performance, system events, and more. |
stream_device_logcat | Stream real-time Android logcat logs from a connected Meta Quest device via ADB. | duration_seconds, tag, level, package, pid | Real-time device monitoring. |
take_screenshot | Capture a screenshot from a connected Meta Quest device via ADB. | width, height, method | For debugging or documentation. |
hex_to_datetime | Convert a hexadecimal timestamp string to a datetime object (UTC). | hex_str (required): Hexadecimal string representing a Unix timestamp | Useful for interpreting trace timestamps. |
load_trace_for_analysis | Load the content of a Perfetto trace or processed JSON for analysis. | session_id (required): The file name of the trace | For in-depth performance session analysis. |
trace_thread_state | Retrieve thread state information from a Perfetto trace for performance analysis. | session_id (required), utid (required), start_ts, end_ts | Diagnose expensive operations or CPU activity. |
run_sql_query | Run SQL query on the loaded trace to retrieve information in JSON format. | session_id (required), query (required) | Flexible trace data interrogation. |
get_counter_for_gpu_frames | Return all GPU metric counters for given arrays of GPU frame start/end times. | session_id (required), start_ts (array, required), end_ts (array, required) | At least 20 start/end times recommended for accurate metrics. |
get_perfetto_context | Retrieve the context needed for Perfetto or performance analysis workflows. | None | Must be called before most Perfetto-related analysis. |
meta-assets-search | Search for existing 3D models in Meta’s asset library using text descriptions. | prompt (required), number_of_models | Returns download URLs for FBX/GLB and preview images. |
get_perfetto_context, load_trace_for_analysis, trace_thread_state, run_sql_query, get_counter_for_gpu_frames) let you analyze performance traces captured from a Quest device. If you’re new to Perfetto tracing, see How to Take Perfetto Traces with Meta Quest Developer Hub to learn how to capture a trace before using these tools.get_perfetto_context to initialize the performance analysis context.load_trace_for_analysis with the session_id (the trace file name) to load a captured trace.trace_thread_state, run_sql_query, or get_counter_for_gpu_frames to query the loaded trace.vscode:// URI link. If VS Code is not installed, your system won’t have a handler for this URI and nothing will happen. Install VS Code first, then try again.Cmd+Shift+X on Mac, Ctrl+Shift+X on Windows), and search for Meta Horizon. If the extension is not listed, use Option B: Install through Node.js (npx) instead.node --version to verify.npm error 404 Not Found when running npx -y @meta-quest/hzdb mcp server, the package may not be available yet. Check the @meta-quest/hzdb npm page to confirm it is published.npx is available on your system PATH. Run npx --version to confirm.fetch_meta_quest_doc, the URL should start with https://developers.meta.com/horizon/llmstxt/documentation/. Use the search_doc tool first to find valid page URLs.get_perfetto_context first. This tool must be called before using other performance analysis tools like load_trace_for_analysis, trace_thread_state, or run_sql_query.