
List data-source accounts (connections) in the Domo instance. Supports offset pagination. Returns account IDs for getaccount, updateaccount, deleteaccount, and shareaccount.
Retrieve a single data-source account by ID. Use list_accounts to find account IDs.
Create a new data-source account (connection). Use listaccounttypes to find valid type IDs for the type field.
Update a data-source account's name or credentials. Use list_accounts to find account IDs.
Permanently delete a data-source account by ID. Use list_accounts to find account IDs.
List available account (data-source) types. Returns type IDs used by createaccount and getaccount_type.
Retrieve a single account type by ID, including its credential templates. Use listaccounttypes to find type IDs.
Share a data-source account with a user. Use listaccounts to find account IDs and listusers to find user IDs.
Retrieve audit/activity log entries within a time window. 'start' (epoch ms) is required. Filter to a single user with the user param (use list_users to find user IDs). Supports offset pagination.
List cards in the Domo instance. Supports offset pagination. Returns card URNs for getcard, getchartcarddefinition, and updatechartcard_definition.
Retrieve a single card by URN. Use list_cards to find card URNs.
Create a new chart card. Use listpages to find the pageid to place it on, and list_datasets to find the dataSetId referenced inside the definition.
Retrieve the full chart definition for a chart card. Use list_cards to find card URNs.
Update the definition of a chart card (title, description, or chart config). Use list_cards to find card URNs.
Add a drill-down view to a chart card. Use list_cards to find card URNs.
Retrieve the drill-down path/properties for a chart card. Use list_cards to find card URNs.
List datasets. Filter by name substring with namelike and sort server-side with sort. Supports offset pagination. Returns dataset IDs for getdataset, updatedataset, deletedataset, and query_dataset.
Retrieve a dataset's details (schema, row/column counts, owner) by ID. Use list_datasets to find IDs.
Create a new dataset with a schema. 'name' and 'schema' (columns with name+type) are required.
Update a dataset's name, description, PDP flag, or schema. Use list_datasets to find dataset IDs.
Permanently delete a dataset by ID. Use list_datasets to find dataset IDs.
Run a SQL query against a dataset (reference it as 'table' in the SQL). Use list_datasets to find dataset IDs. Returns columns and rows.
Import CSV data into a dataset, replacing or appending rows. Provide CSV as a string with no header row, columns in schema order. Use list_datasets to find dataset IDs.
Export a dataset's data as CSV text, capped at maxchars (up to 2,000,000; truncated=true when cut). Larger exports can't be returned in full through this connector: use querydataset with a WHERE or LIMIT to fetch the rows you need. Use list_datasets to find dataset IDs.
List the Personalized Data Permission (PDP) policies on a dataset. Returns policy IDs for getdatasetpolicy, updatedatasetpolicy, and deletedatasetpolicy. Use list_datasets to find dataset IDs.
Create a PDP (row-level security) policy on a dataset. 'name' and 'filters' are required. Use listusers and listgroups to find user/group IDs. Use list_datasets to find the dataset ID.
Retrieve a single PDP policy by ID. Use listdatasetpolicies to find policy IDs.
Update a PDP policy (name, filters, users, groups). 'name' and 'filters' are required. Use listdatasetpolicies to find policy IDs.
Delete a PDP policy by ID. Use listdatasetpolicies to find policy IDs.
Create a short-lived embed authentication token for embedding Domo cards in an external app.
Create a short-lived embed authentication token for embedding Domo dashboards (stories) in an external app.
List groups in the Domo instance. Supports offset pagination. Returns group IDs for getgroup, updategroup, delete_group, and the membership tools.
Retrieve a single group by ID. Use list_groups to find group IDs.
Create a new group. 'name' is required.
Update a group's name or active state. Use list_groups to find group IDs.
Delete a group by ID. Use list_groups to find group IDs.
Add a user to a group. Use listgroups to find group IDs and listusers to find user IDs.
Remove a user from a group. Use listgroupusers to find the member user IDs.
List the user IDs that are members of a group. Supports offset pagination. Use list_groups to find group IDs.
List pages (dashboards) in the Domo instance. Supports offset pagination. Returns page IDs for getpage, updatepage, delete_page, and the collection tools.
Retrieve a single page by ID. Use list_pages to find page IDs.
Create a new page (dashboard). 'name' is required. Use listpages to find a parentid and list_cards to find card IDs.
Update a page's name, parent, cards, owners, or visibility. Use list_pages to find page IDs.
Delete a page by ID. Use list_pages to find page IDs.
List the card collections on a page. Returns collection IDs for updatepagecollection and deletepagecollection. Use list_pages to find page IDs.
Create a card collection on a page. Use listpages to find page IDs and listcards to find card IDs.
Update a page's card collection (title, description, cards). Use listpagecollections to find collection IDs.
Delete a card collection from a page. Use listpagecollections to find collection IDs.
List projects. Supports offset pagination. Returns project IDs for getproject, updateproject, delete_project, and the list/task tools.
Create a new project. 'name' is required. Use list_users to find member user IDs.
Retrieve a single project by ID. Use list_projects to find project IDs.
Update a project's name, description, visibility, or members. Use list_projects to find project IDs.
Delete a project by ID. Use list_projects to find project IDs.
List the user IDs that are members of a project. Use list_projects to find project IDs.
Replace the full set of project members. Use listusers to find user IDs and listprojects to find project IDs.
List the lists (board columns) in a project. Returns list IDs for the task and list tools. Use list_projects to find project IDs.
Create a new list (board column) in a project. 'name' is required. Use list_projects to find project IDs.
Retrieve a single project list by ID. Use listprojectlists to find list IDs.
Update a project list's name, type, or order index. Use listprojectlists to find list IDs.
Delete a project list by ID. Use listprojectlists to find list IDs.
List all tasks in a project (across all lists). Returns task IDs for gettask and updatetask. Use list_projects to find project IDs.
List the tasks in a specific project list. Returns task IDs for gettask and updatetask. Use listprojectlists to find list IDs.
Create a task in a project list. 'taskname' is required. Use listprojectlists to find list IDs and listusers to find owner/contributor IDs.
Retrieve a single task by ID. Use listlisttasks or listprojecttasks to find task IDs.
Update a task's name, description, due date, priority, owner, contributors, or tags. Use listlisttasks to find task IDs.
List the attachments on a task. Returns attachment IDs for readtaskattachmenttext and deletetaskattachment. Use listlist_tasks to find task IDs.
Attach a staged file to a task. Use listlisttasks to find task IDs.
Read a task attachment as text. Parses PDF, DOCX, XLSX and text up to 25 MB. Use listtaskattachments to find attachment IDs. Branch on extraction_status: 'empty' = blank or image-only, do not retry or guess; 'unsupported'/'failed' = the file can't be read through this connector.
Delete an attachment from a task. Use listtaskattachments to find attachment IDs.
Create a dataset via the simple API (schema is inferred from the first data import). 'name' is required. Returns the dataset ID for importsimpledataset_data.
Import CSV data into a simple dataset (replaces all rows). Provide CSV as a string with no header row. Use createsimpledataset to obtain the dataset ID.
List data streams. Supports offset pagination. Returns stream IDs for getstream, updatestream, delete_stream, and the execution tools.
Search streams by dataset name/owner (q is required, e.g. 'dataSource.name:Sales'). Use this when you have a query; use list_streams to browse all streams. Supports offset pagination.
Retrieve a single stream by ID. Pass fields='all' to include the full dataset detail. Use list_streams to find stream IDs.
Create a data stream that owns a new dataset. 'data_set' (with name and schema) is required. Streams are the recommended path for large/recurring CSV uploads.
Update a stream's update method. Use list_streams to find stream IDs.
Delete a stream by ID (does not delete the underlying dataset). Use list_streams to find stream IDs.
List executions (upload runs) for a stream. Returns execution IDs for the upload/commit/abort tools. Use list_streams to find stream IDs.
Start a new execution (upload run) for a stream. Returns the execution ID to upload parts against. Use list_streams to find stream IDs.
Retrieve a single stream execution by ID. Use liststreamexecutions to find execution IDs.
Upload a CSV data part to an open stream execution. Provide CSV as a string (no header row), columns in schema order. Part numbers start at 1. Use createstreamexecution to start an execution.
Commit an open stream execution, applying all uploaded parts to the dataset. Use createstreamexecution to start one.
Abort an open stream execution, discarding uploaded parts. Use liststreamexecutions to find execution IDs.
List users in the Domo instance. Supports offset pagination. Returns user IDs for getuser, updateuser, and any tool that takes a user ID (group membership, project members, PDP policies).
Retrieve a single user by ID. Use list_users to find user IDs.
Create a new user. 'name', 'email', and 'role' are required. Role is one of 'Admin', 'Privileged', or 'Participant'.
Update a user's name, email, role, or profile fields. Use list_users to find user IDs.
Permanently delete a user from the Domo instance. Use list_users to find user IDs.
Validate the configured Domo API client credentials by exchanging them for an access token. Returns success true/false with a message.

In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now