Connect
Optimize
Secure
Announcing StackOne Defender: leading open-source prompt injection guard for your agent • Read More →
StackOne's Domo MCP server gives AI agents 23 ready-to-use actions for Domo — with built-in authentication, security, governance, token efficiency, and high tool-calling accuracy.
Coverage
Create, read, update, and delete across Domo — and extend your agent's capabilities with custom actions.
Authentication
Per-user OAuth in one call. Your Domo MCP server gets session-scoped tokens with zero credentials stored on your infra.
Agent Auth →Security
Every Domo tool response scanned for prompt injection in milliseconds — 88.7% accuracy, all running on CPU.
Prompt Injection Defense →Performance
Free up to 96% of your agent's context window to enhance reasoning and reduce cost, on every Domo call.
Tools Discovery →A Domo MCP server lets AI agents read and write Domo data through the Model Context Protocol — Anthropic's open standard for connecting LLMs to external tools. StackOne's Domo MCP server ships with 23 pre-built actions, fully extensible via the Connector Builder — plus managed authentication, prompt injection defense, and optimized agent context. Connect it from MCP clients like Claude Desktop, Claude Code, Cursor, Goose, and VS Code, or from agent frameworks like OpenAI Agents SDK, LangChain, and Vercel AI SDK.
Every action from Domo's API, ready for your agent. Create, read, update, and delete — scoped to exactly what you need.
Retrieve audit activity log entries for your Domo instance via GET /v1/audit, filtered by a required start timestamp and an optional end timestamp (defaults to current time when omitted). Supports narrowing results to a specific user via the 'user' filter parameter (numeric user ID) and paginating with limit and offset.
Retrieve a paginated list of DataSets in your Domo instance via GET /v1/datasets. Only sorting by name is supported — the Domo API rejects other sort values (e.g. description) with a 400 error.
Create a new group in your Domo instance via POST /v1/groups
Retrieve a paginated list of all groups in your Domo instance via GET /v1/groups
Retrieve full details of a single group by its numeric ID via GET /v1/groups/{id}
Update an existing group's attributes via PUT /v1/groups/{id}. All fields (name, active, default) are required. WARNING - Setting active=false triggers a Domo soft-delete that appends a _deleted_ suffix to the group name.
Permanently delete a group via DELETE /v1/groups/{id}. The group must have no users before deletion.
Retrieve the numeric user IDs of all members in a specified group via GET /v1/groups/{id}/users, with offset-limit pagination (default 50, max 500 per page).
Add a user to a group via PUT /v1/groups/{groupId}/users/{userId}. Returns 204 No Content on success.
Remove a user from a group via DELETE /v1/groups/{groupId}/users/{userId}. Returns 204 No Content on success.
Return the authenticated identity, granted OAuth scopes, and auth type for the current Domo connection, mapped to the IAM unified credentials schema.
List all groups in the Domo instance mapped to the IAM unified group schema, paginated 100 per page. Each entry surfaces the group's stable id, name, and active status.
Retrieve a single Domo group mapped to the IAM unified group schema. IMPORTANT - The id parameter must be a StackOne composite ID (returned by unified_list_groups), not a plain Domo numeric group ID. Optionally pass expand=["users"] to inline member user IDs.
Return the five stable workspace-level IAM roles synthesized from Domo system role strings (Admin, Privileged, Editor, Participant, Social). The role set is static and matches the role IDs embedded in IamUser.roles[] on this connector.
Retrieve a single synthesized Domo IAM role by its stable key. Only "admin", "privileged", "editor", "participant", and "social" are valid — the role namespace is closed to Domo system roles only.
List all users in the Domo instance mapped to the IAM unified user schema, paginated 100 per page. Each user includes their role synthesized as a workspace-scoped IAM role.
Retrieve a single Domo user by numeric ID, mapped to the IAM unified user schema. Optionally pass expand=["groups"] to inline the groups the user belongs to.
Retrieve a paginated list of Streams in your Domo instance via GET /v1/streams. Supports sorting and offset-limit pagination (default 50 per page).
Create a new user in your Domo instance via POST /v1/users with the sendInvite query parameter
Retrieve a paginated list of all users in your Domo instance via GET /v1/users
Retrieve full details of a single user by their numeric ID via GET /v1/users/{id}
Update an existing user's attributes via PUT /v1/users/{id}. The role and roleId fields are mutually exclusive — if both are provided, roleId takes priority and role is omitted, because the API returns 400 if both are sent simultaneously.
Permanently delete a user via DELETE /v1/users/{id}. This action is irreversible.
One endpoint. Any framework. Your agent is talking to Domo in under 10 lines of code.
MCP Clients
Agent Frameworks
{
"mcpServers": {
"stackone": {
"command": "npx",
"args": [
"-y",
"mcp-remote@latest",
"https://api.stackone.com/mcp?x-account-id=<account_id>",
"--header",
"Authorization: Basic <YOUR_BASE64_TOKEN>"
]
}
}
}189+ actions
122+ actions
104+ actions
101+ actions
100+ actions
80+ actions
63+ actions
Anthropic's code_execution processes data already in context. Custom MCP code mode keeps raw tool responses in a sandbox. 14K tokens vs 500.
11 min
Benchmarking BM25, TF-IDF, and hybrid search for MCP tool discovery across 916 tools. The 80/20 TF-IDF/BM25 hybrid hits 21% Top-1 accuracy in under 1ms.
10 min
MCP tools that read emails, CRM records, and tickets are indirect prompt injection vectors. Here's how we built a two-tier defense that scans tool results in ~11ms.
12 min
origin_owner_id.All the tools you need to build and scale AI agent integrations, with best-in-class connectivity, execution, and security.