domo-query-cli
A simple command-line interface for exploring your Domo data pipelines, datasets, and dataflows.
claude mcp add --transport stdio jsade-domo-query-cli node path/to/server.js \ --env LOG_PATH="./logs" \ --env DOMO_API_HOST="yourcompany.domo.com" \ --env DOMO_API_TOKEN="your-api-token" \ --env DOMO_CLIENT_ID="your-client-id" \ --env DOMO_EXPORT_PATH="./exports" \ --env DOMO_CLIENT_SECRET="your-client-secret"
How to use
Domo Query CLI is a Node.js-based command-line interface that lets you explore your Domo instance. It provides commands to list datasets, dataflows, cards, and users, as well as to fetch detailed information, trigger dataflows, and visualize data lineage with Mermaid diagrams. The tool supports unified output options like --format=json and --export for easy scripting and reporting. Use it to quickly discover data assets, monitor pipelines, and understand data lineage across your Domo environment. Start the CLI and interact with the built-in help to see all available commands and examples, then leverage the non-interactive flags to integrate the CLI into automation scripts and CI workflows.
How to install
Prerequisites:
- Node.js 18 or higher
- Yarn 4.x (via Corepack) for development builds
- Git for cloning the repository
Quick Install (Recommended):
# Clone the repository
git clone https://github.com/jsade/domo-query-cli.git
cd domo-query-cli
# Standard installation (copies binary)
./install.sh
# OR for developers (creates auto-updating symlink)
./install.sh --symlink
# or
yarn install:dev
The installation script will:
- Install dependencies
- Build a standalone executable
- Install it to your system PATH (
$HOME/.local/binor/usr/local/bin) - Set up configuration files
Symlink mode (recommended for developers):
- Creates a symlink instead of copying the binary
- Automatically uses the latest version after running
yarn build:dist - No manual reinstallation needed during development
Manual Installation:
# Clone the repository
git clone https://github.com/jsade/domo-query-cli.git
cd domo-query-cli
# Enable Corepack for Yarn 4
corepack enable
# Install dependencies
yarn install
# Build standalone executable
yarn build:dist
# The executable will be in release/domo-query-cli
# Copy it to a directory in your PATH
cp release/domo-query-cli /usr/local/bin/
# Copy environment variables template
cp .env.example ~/.domo-cli/.env
Development Setup:
# Install as symlink (auto-updates on rebuild)
yarn install:dev
# Build the executable
yarn build:dist
# CLI is now globally available and automatically updated!
domo-query-cli --version
Build from Source:
# Build TypeScript for development
yarn build
# Run development mode (watch for changes)
yarn dev
# Run the CLI locally without building
yarn start
# or
yarn shell
Standalone Executables:
# Build distributable executable for current platform
yarn build:dist
# Executable will be in release/domo-query-cli
# Archive will be in release/domo-query-cli-<platform>.zip
Development Workflow:
# Run tests
yarn test
yarn test:watch
yarn test:coverage
# Code quality
yarn check
yarn format
yarn lint
yarn lint:fix
yarn typecheck
# Generate API types from OpenAPI specs
yarn generate:types
Configuration: Edit the .env file in the project root:
# Your Domo instance
DOMO_API_HOST=yourcompany.domo.com
# Authentication
DOMO_API_TOKEN=your-api-token-here
DOMO_CLIENT_ID=your-client-id
DOMO_CLIENT_SECRET=your-client-secret
# Optional settings
DOMO_EXPORT_PATH=./exports
LOG_PATH=./logs
Proxy Configuration:
HTTPS_PROXY=http://proxy.company.com:8080
HTTP_PROXY=http://proxy.company.com:8080
NO_PROXY=localhost,127.0.0.1,*.internal.company.com
# For self-signed certificates (development only)
NODE_TLS_REJECT_UNAUTHORIZED=0
Additional notes
Notes and tips:
- Ensure DOMO_API_HOST, DOMO_API_TOKEN, and if using OAuth, DOMO_CLIENT_ID and DOMO_CLIENT_SECRET are correctly configured in .env before running the CLI.
- The CLI supports exporting results in JSON or Markdown formats and can write outputs to a timestamped file for auditing. Use --export, --export=md, or --export=both as needed.
- When developing locally, using the symlink install mode helps you pick up changes without reinstalling the binary.
- If you encounter API authorization errors, verify that the API token has the necessary permissions for the actions you perform (dataflow, datasets, users, groups, etc.).
- For corporate environments, set HTTPS_PROXY/HTTP_PROXY accordingly and consider NO_PROXY for internal domains to avoid certificate issues.
Related MCP Servers
mcp-config
A CLI tool for easy installation of MCP servers and managing their configuration
deploystack
Open source MCP hosting - deploy MCP servers to HTTP endpoints for n8n, Dify, Voiceflow, and any MCP client.
js
š Plug-and-play auth for Node.js MCP servers.
mcp -qrcode
Model Context Protocol server for generating QR codes
Notion
A Model Context Protocol (MCP) server for integrating with Notion workspaces (made before the official one š )
mcpman
The package manager for MCP servers ā install, manage & monitor across Claude Desktop, Cursor, VS Code, Windsurf