Skip to main content
The Kadoa MCP server gives any compatible AI model or agent a standardized, secure way to work with Kadoa via the Model Context Protocol. It has tools for creating, running, and managing workflows, fetching and exporting extracted data, and configuring notifications, variables, and templates, all through natural language. Kadoa’s MCP server follows the authenticated remote MCP spec, so the server is centrally hosted and managed. For help getting started after setup, see some of our example prompts.

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.
Instructions for specific clients follow below.

Claude

Team, Enterprise (Claude.ai) A Claude organization owner can roll Kadoa out to everyone at once: add a custom connector for https://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)
  1. Go to Settings → Connectors → Add custom MCP
  2. Enter the URL: https://mcp.kadoa.com/mcp
  3. Sign in with your Kadoa account via OAuth

Claude Code

Then run /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

  1. Go to Settings → Connectors → Add MCP server
  2. Enter the URL: https://mcp.kadoa.com/mcp
  3. Choose OAuth authentication and sign in with your Kadoa account

Codex

Then run 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 except approve_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

The create_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: use fetch_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

Use request_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:
Create a workflow that extracts product name, price, and rating from https://sandbox.kadoa.com/ecommerce, run it, and show me the first results.
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.
Show me all changes my real-time monitors detected this week and summarize what moved.
Export the full ‘Product Monitor’ dataset and analyze price trends by category.
Update the ‘Product Monitor’ schema to add a rating field, then pause the old ‘Legacy Scraper’ workflow.
My Product Monitor is waiting for a question. Show me what it needs, then answer it: use the US store.
Save ‘Product Monitor’ as a template called ‘Product Scraper’, then create a workflow from it for each of these five store URLs.
Which workflows need attention, how many workflow slots are in use, and what changed across my team this week?
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_list before using team_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 only update_workflow fails, this is the cause.