domo
MCP server from DomoApps/domo-mcp-server
claude mcp add --transport stdio domoapps-domo-mcp-server python -m domo_mcp \
--env DOMO_HOST="<instance-name.domo.com>" \
--env PYTHONPATH="${workspaceFolder}" \
--env DOMO_DEVELOPER_TOKEN="<your_domo_developer_token>"How to use
This MCP server provides programmatic access to your Domo environment through a set of MCP tools. It lets you run SQL-like queries against Domo DataSets, search for DataSets by name to obtain their IDs, and retrieve both metadata and schema for DataSets. In addition, the server exposes management capabilities such as listing and creating roles and listing role authorities, enabling you to manage access control within your Domo instance. You can interact with these tools using the MCP protocol, enabling automated querying, metadata discovery, and schema introspection within your workflows or LLM-assisted prompts.
To use the server, start it with your Domo developer token and host, then send requests through the MCP inspector or your client implementing the MCP protocol. Tools like query_dataset(dataset_id, query), get_dataset_metadata(dataset_id), and get_dataset_schema(dataset_id) will return structured results that you can feed into downstream processes or prompts. For natural language workflows, you can craft prompts such as: “Show me the schema for dataset X” or “List datasets matching ‘orders’ and their IDs,” and the server will translate those into Domo API actions and return the results.
How to install
Prerequisites:
- Python 3.11+ or Docker (optional for containerized usage)
- Access to a Domo instance with a developer token and dataset permissions
- VS Code (recommended) or a suitable editor
Local Python setup:
- Clone the repository
- Navigate to the repository directory
- Install dependencies:
pip install -r requirements.txt - Configure environment variables (example in VS Code settings):
{ "name": "Domo MCP Server", "type": "stdio", "command": "python", "args": ["-m", "domo_mcp"], "env": { "PYTHONPATH": "${workspaceFolder}", "DOMO_DEVELOPER_TOKEN": "<your_domo_developer_token>", "DOMO_HOST": "<instance-name.domo.com>" } }
Local Docker setup:
- Clone the repository
- Navigate to the repository directory
- Build the Docker image:
docker build -t domo-mcp-server . - Configure VS Code settings to run the container (example):
{ "domo-mcp": { "command": "docker", "args": [ "run", "-i", "-e", "DOMO_DEVELOPER_TOKEN", "-e", "DOMO_HOST", "domo-mcp-server" ], "env": { "DOMO_DEVELOPER_TOKEN": "<domo_developer_token>", "DOMO_HOST": "<instance-name.domo.com>" } } }
Running the server:
- Local Python: start with
python -m domo_mcp - Test inspector (if using MCP Inspector):
npx @modelcontextprotocol/inspector python3 domo_mcp.py
Additional notes
Tips and common issues:
- Ensure your Domo host is correct and does not include an https:// prefix.
- Your DOMO_DEVELOPER_TOKEN must be valid and have appropriate permissions for the DataSets and roles you intend to manage.
- Keep your environment variables secure; avoid committing tokens to version control.
- If running in Docker, map the environment variables at runtime and verify network access to your Domo instance.
- If you encounter connection issues, verify that the host, token, and dataset permissions align with the required operations, and try the provided test script if available.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP