CLI for managing collections, screens, media, and content on STQRY.
brew install mytours/tap/stqry-cligo install github.com/mytours/stqry-cli/cmd/stqry@latestDownload the latest binary for your platform from GitHub Releases.
Configure the current directory with your STQRY API key (writes stqry.yaml):
stqry config init --api-key=<API_KEY> --region=usList collections:
stqry collections listCreate a screen (both --name and --type are required; --type must be
one of story, web, panorama, ar, kiosk):
stqry screens create --name="Welcome" --type=storyCreate a media item from a local file (uploads the file and creates a media
item linked to it). --type must be one of map, webpackage, animation,
audio, image, video, webvideo, ar, data:
stqry media create --file=./photo.jpg --type=image --name=photo.jpgThe CLI ships two pieces of context for Claude: a command reference (stqry skill cat reference) and step-by-step workflow recipes (stqry skill cat workflows). Both print the latest documentation embedded in the installed binary — no separate install step.
Claude Code — run stqry config init in your project. It writes a CLAUDE.md that points Claude at stqry skill cat reference / workflows. Claude pulls the live content on demand.
Claude Desktop — export a skill zip and install via the UI:
stqry skill export # writes ./stqry-skill.zipThen open Claude Desktop → Settings → Customise → Skills → Add Skill, select stqry-skill.zip, and restart. The zip is timeless — its SKILL.md calls stqry skill cat at runtime, so a single upload stays valid across CLI releases.
Alternatively, download stqry-skill.zip directly from the latest GitHub release — no CLI install needed.
Claude Cowork — install via pip and use as CLI subprocess:
pip install stqry
stqry --version # verifyMCP server setup is not required in Claude Cowork — use the CLI as a subprocess.
To inspect skill content directly:
stqry skill cat reference # full command reference
stqry skill cat workflows # multi-step recipes
stqry skill export --dir /tmp # write Claude Desktop zip to /tmp/stqry-skill.zipstqry mcp serve starts an MCP server over stdio, letting AI assistants
read and manage STQRY content directly.
Claude Code — add to .claude/settings.json in your project:
{
"mcpServers": {
"stqry": {
"command": "stqry",
"args": ["mcp", "serve"]
}
}
}The server picks up stqry.yaml from the project directory automatically.
Claude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"stqry": {
"command": "stqry",
"args": ["mcp", "serve"]
}
}
}No account is hardcoded. At the start of each conversation, tell Claude which project to connect to:
- "My API key is
abc123, region is US" — Claude will configure it for you (writesstqry.yaml).
Commands support multiple output formats:
Default (human-readable):
stqry collections listJSON output — wraps results in a { "data": [...], "meta": {...} } envelope:
stqry collections list --jsonQuiet mode — emits only the raw data payload (no envelope), handy for piping:
stqry collections list --quietParse output with jq. Note that list endpoints are paginated — use --page /
--per-page to walk through results:
stqry collections list --quiet | jq '.[].name'With --json you need to reach into the envelope:
stqry collections list --json | jq '.data[].name'STQRY CLI stores credentials in a per-project stqry.yaml file. Create one with:
stqry config init --api-key=<API_KEY> --region=usThis writes:
api_key: <API_KEY>
api_url: https://api-us.stqry.comThe CLI walks up the directory tree, so a stqry.yaml in a project root applies to all subdirectories.
A historical ~/.config/stqry/config.yaml file may still exist with named accounts in the old format. It is read-only going forward: when a project's stqry.yaml references one of those named accounts, the credentials are automatically inlined on the next command and global config is no longer consulted for that project.
If no account is configured, the command will return an error prompting you to run stqry config init.