Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MQDH_DIRNoPath to the Meta Quest Developer Hub installation directory.%ProgramFiles%\Meta Quest Developer Hub (Windows), /Applications/Meta Quest Developer Hub.app (macOS)
MQDH_TOKENNoMeta Quest Developer Hub access token. If set, the server uses this token instead of reading it from MQDH's configuration, Windows Credential Manager, or metavr auth.
METAVR_PATHNoPath to the metavr CLI executable.metavr inside MQDH's resources/bin
MQDH_MCP_STATENoPath to the state file used to store the selected organization.~/.mqdh-mcp.json
MQDH_USER_DATANoPath to Meta Quest Developer Hub user data.%APPDATA%\odh (Windows), ~/Library/Application Support/odh (macOS)
OVR_PLATFORM_UTILNoPath to the ovr-platform-util executable.ovr-platform-util inside MQDH_USER_DATA

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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
auth_statusA

Check which Meta account is in use and where the token came from.

list_orgsA

List the developer organizations the logged-in account belongs to.

select_orgA

Select the active developer organization (by id or name). Saved across sessions.

list_test_usersB

List test users for an organization.

list_appsC

List apps in an organization.

list_channelsA

List an app's release channels (ALPHA/BETA/RC/LIVE/custom) and their latest builds. The store channel has is_live=true.

upload_buildA

Upload an APK (Quest) or build directory (PC) to an app's release channel with ovr-platform-util. Uploads as a DRAFT unless publish=true. Publishing to LIVE requires confirm_live=true. Use dry_run=true to preview the exact command. Runs in the background: poll upload_status with the returned job_id.

upload_statusA

Get progress and output of uploads started by upload_build. Omit job_id to list all jobs.

copy_buildA

Copy an existing build (binary id from list_channels) into another release channel. Copying into LIVE requires confirm_live=true.

graphqlC

Run a raw GraphQL query against graph.oculus.com as the logged-in developer (advanced).

metavrB

Run any metavr CLI command bundled with MQDH (devices, app install, logcat, perf, ...).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 11 tools

Disambiguation4/5

Core tools target distinct resources and actions (list_orgs vs select_org, upload_build vs upload_status vs copy_build), and the descriptions clearly separate read paths from write paths. The only soft spot is the pair of catch-all escape hatches (graphql, metavr), which can in principle do anything an agent might otherwise pick a dedicated tool for, though they are explicitly flagged as advanced/raw.

Naming Consistency4/5

The majority of tools follow a clean verb_noun pattern (list_orgs, select_org, list_apps, list_channels, upload_build, upload_status, copy_build). Deviations are minor: auth_status is noun-first and graphql/metavr are bare product names, but all remain immediately readable.

Tool Count5/5

Eleven tools is well within the sweet spot and each one maps to a distinct step in the org -> app -> channel -> build workflow. Nothing feels padded; even the two broad tools exist to cover long-tail needs without bloating the surface.

Completeness4/5

The surface covers auth, org/app/channel discovery, build upload with draft/publish semantics and async polling, and channel-to-channel copying. Gaps exist around build lifecycle management (deleting builds, editing release notes, app creation, broader user management), but graphql and metavr provide viable workarounds.

Maintenance

ActivityMaintained
ResponsivenessNo issues