Setup
General
The server is centrally hosted and managed by Kadoa, using Streamable HTTP as its transport. There is nothing to install and no API key to manage. There are two ways to connect:- Personal connection (
https://mcp.kadoa.com/mcp): You sign in with your own Kadoa account, and every tool call runs as you, under your role and active team. Best for individual use. - Service connector (
https://service.mcp.kadoa.com/mcp): A workspace admin generates OAuth credentials once, and applications or organization members connect as a shared workspace service account, with no Kadoa login. Best for organization-wide rollouts and app contexts where nobody can sign in interactively. See MCP Service Connector →.
For a personal connection, add the server in your client: a browser opens so you can sign in with your Kadoa account and grant access. The connection then stays authorized; if a session expires, your client prompts you to sign in again.
With a personal connection, the MCP server acts as you: every tool runs under your Kadoa role and active team, and each action is recorded in the workflow’s history.
Claude
Team, Enterprise (Claude.ai) A Claude organization owner can roll Kadoa out to everyone at once: add a custom connector forhttps://mcp.kadoa.com/mcp under Admin settings → Connectors (members sign in with their own Kadoa accounts), or use the service connector so members connect without Kadoa accounts.
Individual members can also add it themselves under Settings → Connectors → Add custom MCP with the same URL.
Free, Pro (Claude.ai)
- Go to Settings → Connectors → Add custom MCP
- Enter the URL:
https://mcp.kadoa.com/mcp - Sign in with your Kadoa account via OAuth
Claude Code
/mcp in a Claude Code session to go through the authentication flow.
Claude Desktop
Add the server to your Claude Desktop config file (create it if it doesn’t exist), then restart Claude Desktop:ChatGPT
- Go to Settings → Connectors → Add MCP server
- Enter the URL:
https://mcp.kadoa.com/mcp - Choose OAuth authentication and sign in with your Kadoa account
Codex
codex mcp login kadoa to go through the authentication flow. If this is your first remote MCP server in Codex, enable the rmcp client in ~/.codex/config.toml first:
Cursor
Gemini CLI
Others
Any MCP-compatible client can connect with the following settings:- URL:
https://mcp.kadoa.com/mcp - Transport: Streamable HTTP
- Auth: OAuth (sign in with your Kadoa account)
Tools
The tools you can use depend on your team role. Members, Admins, and Owners can use every tool exceptapprove_workflow, which is reserved for Compliance Officers. Viewers and Compliance Officers otherwise have read-only access. If a tool is not available for your role, you’ll receive an error message with instructions to contact your team admin.
The columns below show access for the Member / Admin / Owner, Viewer, and Compliance Officer roles.
Workflows
To find workflows that need action, call
list_workflows with statusFilters: ["group:attention"]. It includes workflows waiting for an Assistant answer, unfinished setup, or preview approval.
Kadoa Assistant
Realtime monitoring
Runs and extracted data
Detected changes
Notifications
Teams and identity
whoami identifies the current account and team. In Kadoa Assistant sessions, it reports the selected team by name and role rather than an internal identifier.
Activity
Use
list_activity to answer team-wide questions such as who changed a workflow, which workflows failed, or what happened this week. Events are newest first. Filter by time, workflow, user, event type, resource type, or interface. Use get_workflow_history instead when you need configuration revisions and field-level diffs for one workflow.
Observability
get_observability reports a 30-day window by default. Ask for a shorter or longer window when you need it, up to 365 days. It returns a ranked attention list for down and degraded workflows. Add includeWorkflows or includeDailySeries only when you need the larger result.
Usage
Use
get_usage for current plan usage and renewal details. Use get_usage_history for trends. Both tools use the active team by default. Organization scope is available only when the active team belongs to an organization. Billing-period values reset at renewal; active workflow slots do not.
Variables
Templates
The
status field returned by list_workflows and get_workflow shows the computed workflow status, such as Complete, Running, Failed, Paused, or Scheduled. The tool’s state filter uses these computed status values rather than the API response’s persisted state field.
Scheduling
Thecreate_workflow tool accepts an interval parameter for recurring extractions (defaults to ONLY_ONCE). Use CUSTOM with cron expressions for fine-grained control. See Scheduling → for all available intervals and examples.
Fetching and exporting data
Two tools retrieve extracted data: usefetch_data for paginated reads (default 50 rows, max 500) with filters, sortBy, and order; use export_data for the full dataset. It returns a self-authenticating signed URL ideal for Claude for Excel (‘Get Data from Web’) or pandas/duckdb code execution.
Workflow history
get_workflow_history returns configuration revision history: who changed a workflow and which fields changed. list_workflow_runs is different: it returns execution outcomes, timing, record counts, and errors. Use its status filter (success, failed, or in_progress) and pagination when diagnosing runs.
Updating workflows with the Assistant
Userequest_workflow_update to change an existing workflow in place. Then use get_workflow_assistant to inspect lifecycle state and any pending question. Answer a pending question with answer_workflow_assistant_question; do not use resume_workflow_assistant for a question that still needs an answer. Interrupt, resume, and stop control Assistant work, not the workflow schedule.
create_realtime_monitor is asynchronous and requires at least one notification channel. It returns the workflow, session, thread, and job IDs for follow-up. See Kadoa Assistant for the full lifecycle.
Common use cases
Once connected, you manage the full workflow lifecycle through natural conversation. Copy an example prompt into your client to explore what’s possible; see the tools above for the full surface:Build and run a scraper
Build and run a scraper
Create a workflow that extracts product name, price, and rating from https://sandbox.kadoa.com/ecommerce, run it, and show me the first results.
Scheduled monitoring
Scheduled monitoring
Set up a workflow that scrapes competitor prices from https://sandbox.kadoa.com/ecommerce daily at 6:00, and email me when a run finishes or fails.
Change detection review
Change detection review
Show me all changes my real-time monitors detected this week and summarize what moved.
Data export and analysis
Data export and analysis
Export the full ‘Product Monitor’ dataset and analyze price trends by category.
Workflow maintenance
Workflow maintenance
Update the ‘Product Monitor’ schema to add a rating field, then pause the old ‘Legacy Scraper’ workflow.
Assistant follow-up
Assistant follow-up
My Product Monitor is waiting for a question. Show me what it needs, then answer it: use the US store.
Template rollouts
Template rollouts
Save ‘Product Monitor’ as a template called ‘Product Scraper’, then create a workflow from it for each of these five store URLs.
Workspace health and usage
Workspace health and usage
Which workflows need attention, how many workflow slots are in use, and what changed across my team this week?
Team administration
Team administration
List my teams, switch to Acme Corp, and show me which workflows are failing there.
Changing a template
A published template version is an immutable snapshot. To change shared prompt, schema, validation, notifications, or frequency, create a new version and apply it to the workflows that should adopt it.update_template changes only a template’s name or description. See Templates for the rollout flow.
Troubleshooting
I don’t have access to Kadoa
- Verify the MCP server is configured in the correct config file
- Restart your MCP client after configuration changes
- Re-authenticate via OAuth if prompted
Authentication failed
- Your OAuth session may have expired, so re-authenticate when prompted by your MCP client
- If switching teams, verify the team exists with
team_listbefore usingteam_switch
update_workflow returns “No approval received”
This message comes from your MCP client, not from Kadoa. Claude (and some other clients) gate certain tool calls behind a one-time approval prompt, and update_workflow is often the first tool in a session to hit it. The call never reaches the Kadoa MCP server, so nothing on the Kadoa side (roles, team permissions, API access) is involved.
- Retry the call. The gate usually clears for the rest of the session after the first prompt.
- If it persists, look for an approval prompt in your client and click through it, or set the Kadoa connector’s tools to “Always allow” in your client’s connector settings.
- Read-only tools (
get_workflow,fetch_data) and other write tools (run_workflow,delete_workflow) are not affected, so if those work and onlyupdate_workflowfails, this is the cause.