Skip to main content
The Kadoa MCP server exposes workflow management tools to AI assistants via the Model Context Protocol. This lets you create, run, and manage web scraping workflows using natural language from your AI assistant. Supported Clients: ChatGPT · Codex · Claude.ai · Claude Code · Claude Desktop · Cursor · Gemini CLI · Any MCP-compatible client

Setup

A hosted MCP server is available at https://mcp.kadoa.com/mcp. No local install needed — just connect and sign in with your Kadoa account via OAuth.
claude mcp add kadoa --transport http https://mcp.kadoa.com/mcp

Permissions

The tools you can use depend on your team role. Viewers and Compliance Officers have read-only access:
ToolMember / Admin / OwnerViewerCompliance Officer
list_workflows
get_workflow
fetch_data
create_workflow
run_workflow
update_workflow
approve_workflow
delete_workflow
whoami
list_notification_channels
create_notification_channel
delete_notification_channel
list_notification_settings
configure_notifications
delete_notification_setting
list_variables
get_variable
create_variable
update_variable
delete_variable
create_template
get_template
list_templates
update_template
delete_template
create_template_version
list_template_schemas
list_template_workflows
link_workflows_to_template
unlink_workflows_from_template
apply_template_update
save_workflow_as_template
If a tool is not available for your role, you’ll receive an error message with instructions to contact your team admin.

Tools

The server exposes tools covering the full workflow lifecycle, notifications, and team management:
ToolDescription
create_workflowCreate an agentic navigation workflow from a prompt
list_workflowsList all workflows with status
get_workflowGet detailed workflow information including prompt, schedules, and notification config
run_workflowExecute a workflow
fetch_dataGet extracted data from a workflow
delete_workflowDelete a workflow
approve_workflowApprove and activate a workflow
update_workflowUpdate workflow configuration and schema
create_realtime_monitorCreate a real-time monitoring workflow
whoamiShow current user details and team memberships
team_listList all teams you belong to and see which is active
team_switchSwitch the active team by name or ID
list_notification_channelsList notification channels for a workflow or workspace
create_notification_channelCreate an email, webhook, Slack, or WebSocket notification channel
delete_notification_channelDelete a notification channel
list_notification_settingsList event-to-channel notification mappings
configure_notificationsSet up notifications for workflow events in one step
delete_notification_settingRemove a notification event-to-channel mapping
list_variablesList all variables in the current team scope
get_variableGet a specific variable by ID
create_variableCreate a key-value variable (STRING, NUMBER, BOOLEAN, or JSON)
update_variableUpdate a variable’s key, value, or data type
delete_variableDelete a variable (two-step confirmation)
create_templateCreate a reusable template for workflow configurations
get_templateGet a template by ID, including all published versions
list_templatesList all templates in the current team
update_templateUpdate a template’s name or description
delete_templateDelete a template (two-step confirmation)
create_template_versionPublish a version with prompt, schema, and notifications
list_template_schemasList schemas associated with a template
list_template_workflowsList all workflows linked to a template
link_workflows_to_templateLink workflows to a template (two-step confirmation)
unlink_workflows_from_templateUnlink workflows from a template (two-step confirmation)
apply_template_updateApply a specific template version to linked workflows
save_workflow_as_templateCreate a template from an existing workflow’s configuration
The status field returned by list_workflows and get_workflow shows the computed workflow state (Complete, Running, Failed, Paused, Scheduled, etc.) rather than just the raw lifecycle state. You can filter with list_workflows using the state parameter (ACTIVE, FAILED, PAUSED, PREVIEW).

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.

Updating workflows

update_workflow accepts description, tags, userPrompt, schedules, and limit in addition to schema changes. See Manage Workflows → for details.

Notifications

Six tools manage notification channels and event subscriptions: list_notification_channels, create_notification_channel, delete_notification_channel, list_notification_settings, configure_notifications, and delete_notification_setting. See Notifications → for channel types and setup examples.

Variables

Five tools manage reusable variables (@variableKey syntax in prompts): list_variables, get_variable, create_variable, update_variable, and delete_variable. See Variables → for details and examples.

Templates

Twelve tools manage reusable, versioned workflow configurations: create_template, get_template, list_templates, update_template, delete_template, create_template_version, list_template_schemas, list_template_workflows, link_workflows_to_template, unlink_workflows_from_template, apply_template_update, and save_workflow_as_template. See Templates → for details and examples.

Usage Examples

Once the MCP server is configured, you can manage the full workflow lifecycle through natural conversation. Here are a few common operations shown as Claude Code sessions.
  • “Create a workflow to extract product prices from https://sandbox.kadoa.com/ecommerce
  • “List my Kadoa workflows”
  • “Run my ‘Product Monitor’ workflow and show me the results”
  • “Update the schema for my ‘Product Monitor’ workflow to include a rating field”
  • “Delete the ‘Old Scraper’ workflow”
  • “List my teams”
  • “Switch to the Acme Corp team”
  • “Set up email notifications when my ‘Product Monitor’ workflow finishes or fails”
  • “Create a Slack channel for all my workflow notifications”
  • “Show me which notifications are configured for my ‘Product Monitor’ workflow”
  • “Create a variable called api_url with value https://api.example.com
  • “List my variables”
  • “Update the api_url variable to https://api.example.com/v2
  • “Delete the api_url variable”
  • “Create a template called ‘Job Listing’ with a schema for title, company, and location”
  • “Add a new version to the Job Listing template with a salary field”
  • “Link my ‘TechCrunch Jobs’ workflow to the Job Listing template”
  • “Apply version 1 of the Job Listing template to all linked workflows”
  • “Save my ‘Product Monitor’ workflow as a new template called ‘Product Scraper‘“

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 — re-authenticate when prompted by your MCP client
  • If switching teams, verify the team exists with team_list before using team_switch