MCP Tools Reference
Complete reference for all 33 tools available through the Scrayle MCP Server. Each tool is callable by your AI assistant when connected via MCP.
Scraping Tools
scrape_url
Scrape a single URL and extract content as markdown, HTML, links, or screenshots.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string (URL) | Yes | The page URL to scrape |
formats | array | No | Output formats: markdown, html, links, screenshot. Default: ["markdown"] |
waitFor | number | No | Wait time in ms after page load (0-10000) |
mobile | boolean | No | Emulate a mobile viewport |
batch_scrape
Scrape multiple URLs in parallel (up to 20 at once).
| Parameter | Type | Required | Description |
|---|---|---|---|
urls | string[] (URLs) | Yes | Array of URLs to scrape (max 20) |
formats | array | No | Output formats. Default: ["markdown"] |
Crawling
crawl_website
Recursively crawl a website starting from a URL, following links and extracting content from each page.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string (URL) | Yes | Starting URL for the crawl |
maxPages | number (1-500) | No | Maximum pages to crawl. Default: 50 |
maxDepth | number (1-10) | No | Maximum link depth. Default: 3 |
allowedDomains | string[] | No | Only follow links to these domains |
excludePaths | string[] | No | URL path patterns to skip |
Browser Control Tools
start_browser_session
Launch a cloud browser session and connect to it. Returns a task ID for use with all other browser_* tools.
| Parameter | Type | Required | Description |
|---|---|---|---|
browserMode | enum | No | private, stealth, or human. Default: stealth |
proxyCountry | string | No | ISO country code for proxy (e.g. US, GB) |
sessionTTL | number (10-7200) | No | Session time-to-live in seconds. Default: 300 |
profileId | string | No | Browser profile ID for persistent cookies/storage |
browser_navigate
Navigate the browser to a URL. Returns the page title and URL after navigation.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | The browser session task ID from start_browser_session |
url | string (URL) | Yes | The URL to navigate to |
waitUntil | enum | No | load, domcontentloaded, or networkidle. Default: domcontentloaded |
browser_click
Click an element on the page by CSS selector.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | The browser session task ID |
selector | string | Yes | CSS selector of the element to click |
browser_type
Type text into an input field. Optionally clear the field first and press Enter after typing.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | The browser session task ID |
selector | string | Yes | CSS selector of the input element |
text | string | Yes | The text to type |
clear | boolean | No | Clear the field before typing. Default: true |
pressEnter | boolean | No | Press Enter after typing. Default: false |
browser_screenshot
Take a screenshot of the current page. Returns a base64 PNG image.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | The browser session task ID |
fullPage | boolean | No | Capture the full scrollable page. Default: false (viewport only) |
browser_get_content
Get the visible text content of the page or a specific element.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | The browser session task ID |
selector | string | No | CSS selector to extract content from. Default: entire page body |
browser_evaluate
Execute JavaScript in the browser page context. Returns the result.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | The browser session task ID |
script | string | Yes | JavaScript code to execute in the page context |
browser_select
Select an option from a dropdown/select element.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | The browser session task ID |
selector | string | Yes | CSS selector of the select element |
value | string | Yes | The option value or visible label to select |
browser_scroll
Scroll the page up or down.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | The browser session task ID |
direction | enum | Yes | up or down |
pixels | number (100-5000) | No | Pixels to scroll. Default: 500 |
browser_wait
Wait for an element to appear on the page, or for the page to finish loading.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | The browser session task ID |
selector | string | No | CSS selector to wait for (waits until visible) |
timeout | number (1000-30000) | No | Max wait time in ms. Default: 10000 |
close_browser_session
Close an active cloud browser session and disconnect.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | The browser session task ID |
list_browser_profiles
List your saved browser profiles. No parameters required.
Workflow Tools
create_workflow
Create a new automation workflow with nodes and edges.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Name for the workflow |
nodes | array | Yes | Array of workflow nodes. Each node has id, type (e.g. Scraper, DataExtractor), and data object |
edges | array | Yes | Array of edges connecting nodes. Each edge has source and target node IDs |
description | string | No | Optional description of the workflow |
list_workflows
List your automation workflows. No parameters required.
run_workflow
Execute a visual automation workflow by its ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
workflowId | string | Yes | The workflow ID to run |
workflowName | string | No | A human-readable name for this run |
inputParams | object | No | Key-value input parameters for the workflow |
proxyCountry | string | No | ISO country code for proxy |
browserMode | enum | No | private, stealth, or human |
get_workflow_status
Check the status of a workflow run.
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | The workflow run task ID |
list_workflow_runs
List your recent workflow runs with their status.
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | number (1-50) | No | Number of runs to return. Default: 10 |
Marketplace Tools
search_marketplace
Search the Scrayle Marketplace for pre-built scraping workflows and automation actors.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | No | Search query (e.g. "tiktok scraper", "amazon products") |
category | string | No | Filter by category (e.g. "social-media", "e-commerce") |
listingType | enum | No | template or actor |
limit | number (1-50) | No | Number of results. Default: 20 |
get_marketplace_actor
Get detailed information about a marketplace actor/template.
| Parameter | Type | Required | Description |
|---|---|---|---|
templateId | string | Yes | The marketplace template/actor ID |
run_marketplace_actor
Run a marketplace actor with custom input parameters.
| Parameter | Type | Required | Description |
|---|---|---|---|
templateId | string | Yes | The actor/template ID to run |
input | object | No | Input parameters for the actor |
CAPTCHA Tools
solve_captcha
Solve a CAPTCHA challenge and return the solution token.
| Parameter | Type | Required | Description |
|---|---|---|---|
type | string | Yes | CAPTCHA type (e.g. ReCaptchaV2TaskProxyless, HCaptchaTaskProxyless, TurnstileTaskProxyless) |
websiteURL | string (URL) | Yes | The page URL with the CAPTCHA |
websiteKey | string | Yes | The CAPTCHA site key |
isInvisible | boolean | No | Whether the CAPTCHA is invisible (reCAPTCHA only) |
Storage Tools
kv_create_namespace
Create a new key-value store namespace.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Name for the new KV namespace |
kv_get
Get a value from a key-value store namespace.
| Parameter | Type | Required | Description |
|---|---|---|---|
namespaceId | string | Yes | The KV namespace ID |
key | string | Yes | The key to retrieve |
kv_set
Set a value in a key-value store namespace.
| Parameter | Type | Required | Description |
|---|---|---|---|
namespaceId | string | Yes | The KV namespace ID |
key | string | Yes | The key to set |
value | any | Yes | The value to store (any JSON-serializable value) |
ttl | number | No | Time-to-live in seconds |
kv_list_namespaces
List your KV store namespaces. No parameters required.
create_dataset
Create a new dataset for storing structured records.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Name for the new dataset |
list_datasets
List your datasets with item counts. No parameters required.
get_dataset_items
Get items from a dataset.
| Parameter | Type | Required | Description |
|---|---|---|---|
datasetId | string | Yes | The dataset ID |
limit | number (1-100) | No | Number of items. Default: 25 |
offset | number | No | Pagination offset. Default: 0 |
add_dataset_items
Add items to a dataset.
| Parameter | Type | Required | Description |
|---|---|---|---|
datasetId | string | Yes | The dataset ID |
items | object[] (1-100) | Yes | Array of data items (flat key-value objects) |
You do not call these tools directly. Your AI assistant calls them automatically based on your conversation. Just describe what you need in natural language.