Domo MCP Server
by DomoApps
The Domo MCP Server is a Model Context Protocol server that facilitates interaction with the Domo API. It enables users to retrieve metadata and run SQL queries on Domo DataSets.
View on GitHub
Last updated: N/A
Domo MCP Server
A Model Context Protocol (MCP) server that connects to Domo API.
Features
- Get metadata about Domo DataSets
- Run SQL queries on Domo DataSets
Prerequisites
- Python 3.11+
- Domo instance with:
- Developer access token
- Access to datasets to query
Setup
- Clone this repository
- Create and activate a virtual environment (recommended):
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
- Install dependencies:
pip install -r mcp requests dotenv
- Create a
.env
file in the root directory with the following variables:DOMO_HOST=your-domo-instance.domo.com DOMO_DEVELOPER_TOKEN=your-personal-access-token
- Test your connection (optional but recommended):
python test_connection.py
Obtaining a Domo Developer Token
Follow these steps to generate an access token.
Running the Server
Start the MCP server:
python domo.py
You can test the MCP server using the inspector by running
npx @modelcontextprotocol/inspector python3 domo.py
Available MCP Tools
The following MCP tools are available:
- get_dataset_metadata(dataset_id: str) - Get metadata for a DataSet
- get_dataset_schema(dataset_id: str) - Get the schema for a DataSet
- query_dataset(dataset_id: str, query: str) - Query a DataSet with SQL
- search_datasets(query: str) - Search for a DataSet by name to get its id
Example Usage with LLMs
When used with LLMs that support the MCP protocol, this server enables natural language interaction with your Domo environment:
- "How many orders in my Example Sales dataset have critical priority?"
- "Who owns the Customer Invoice dataset?"
- "Show me the logs for the last 3 hours in my Activity Log dataset."
Troubleshooting
Connection Issues
- Ensure your Domo host is correct and doesn't include
https://
prefix - Verify your personal access token has the necessary permissions and hasn't expired
- Run the included test script:
python test_connection.py
Security Considerations
- Your Domo developer token provides direct access to your instance
- Secure your
.env
file and never commit it to version control - Run this server in a secure environment