Skip to content
Scalekit Docs

Tinyfish MCP

Vendor MCP20 toolsOAuth 2.1/DCRAutomationAIDeveloper Tools

Connect to Tinyfish MCP. Run browser-based web automations, fetch page content, and search the web using a real cloud Chrome browser.

Tinyfish MCP connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'tinyfishmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Tinyfish MCP:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'tinyfishmcp_get_wallet',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Step guide next — Returns the next interactive TinyFish onboarding step based on the user’s real usage
  • Get wallet, steps, search usage — Read-only
  • Session close browser — Only use when the user explicitly wants to stop or close a remote browser session
  • Search records — Search the web and return structured results with titles, snippets, and URLs
  • Run web automation async, web automation, discover — Start a single web automation in the background and return the run ID immediately without waiting for completion
  • Status poll, batch — Return the current status, step count, and progress for an automation run

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

tinyfishmcp_batch_cancel#Cancel up to 8 running or pending automation runs by their IDs. Already-terminal runs are returned with their current status.1 param

Cancel up to 8 running or pending automation runs by their IDs. Already-terminal runs are returned with their current status.

NameTypeRequiredDescription
run_idsarrayrequiredList of run IDs to cancel or check status for (up to 8).
tinyfishmcp_batch_create#[STALE-2026-08-19: not found in the live upstream tools/list; may have been removed or renamed by TinyFish. Kept here for review, not deleted, pending confirmation.] Start up to 8 web automations simultaneously and return all run IDs immediately. Poll progress with batch_status.2 params

[STALE-2026-08-19: not found in the live upstream tools/list; may have been removed or renamed by TinyFish. Kept here for review, not deleted, pending confirmation.] Start up to 8 web automations simultaneously and return all run IDs immediately. Poll progress with batch_status.

NameTypeRequiredDescription
runsarrayrequiredArray of 1–8 run configurations to start simultaneously.
profile_idstringoptionalBrowser profile ID to use when use_profile is true.
tinyfishmcp_batch_status#Check the status, result, and error for up to 8 automation runs by their IDs.1 param

Check the status, result, and error for up to 8 automation runs by their IDs.

NameTypeRequiredDescription
run_idsarrayrequiredList of run IDs to cancel or check status for (up to 8).
tinyfishmcp_cancel_run#Cancel a running or pending automation run by its ID. Returns current status without error if the run has already reached a terminal state.1 param

Cancel a running or pending automation run by its ID. Returns current status without error if the run has already reached a terminal state.

NameTypeRequiredDescription
idstringrequiredThe unique run ID to retrieve or cancel.
tinyfishmcp_close_browser_session#Only use when the user explicitly wants to stop or close a remote browser session. Closes a session by ID. Idempotent — already-ended sessions return success.1 param

Only use when the user explicitly wants to stop or close a remote browser session. Closes a session by ID. Idempotent — already-ended sessions return success.

NameTypeRequiredDescription
session_idstringrequiredID of the browser session to close
tinyfishmcp_create_browser_session#Create a remote stealth Chrome browser session in the cloud and return CDP connection details (session_id, cdp_url) for use with Playwright, Puppeteer, or Selenium. Sessions auto-terminate after the configured inactivity timeout.2 params

Create a remote stealth Chrome browser session in the cloud and return CDP connection details (session_id, cdp_url) for use with Playwright, Puppeteer, or Selenium. Sessions auto-terminate after the configured inactivity timeout.

NameTypeRequiredDescription
timeout_secondsintegeroptionalBrowser session timeout in seconds.
urlstringoptionalTarget website URL to automate.
tinyfishmcp_discover_run#Return the run ID of the currently active automation for the given session, or null if no run is in progress.1 param

Return the run ID of the currently active automation for the given session, or null if no run is in progress.

NameTypeRequiredDescription
session_idstringrequiredThe browser session ID to look up the running automation for.
tinyfishmcp_fetch_content#Render up to 10 URLs in a real browser and return clean structured content (markdown, HTML, or JSON) plus metadata like title, author, and publish date. Fetches run in parallel; per-URL errors are reported without blocking the rest.13 params

Render up to 10 URLs in a real browser and return clean structured content (markdown, HTML, or JSON) plus metadata like title, author, and publish date. Fetches run in parallel; per-URL errors are reported without blocking the rest.

NameTypeRequiredDescription
formatstringrequiredOutput format for extracted content. Accepted values: markdown, html, json.
image_linksbooleanrequiredSet to true to extract all image URLs from each page.
linksbooleanrequiredSet to true to extract all hyperlinks from each page.
page_metadatabooleanrequiredReturn page-head metadata for each page in the page_metadata object of each result: canonical URL, favicon, robots directive, generator, viewport, keywords, all Open Graph (og), Twitter card (twitter), and article tags, and remaining named meta tags under other. Useful for SEO/technical audits and link-preview generation.
urlsarrayrequiredList of URLs to fetch content from.
exclude_selectorsarrayoptionalArray of CSS selectors (1-20 entries, each 1-1000 characters) for elements to remove before extraction — applied before include_selectors scopes what remains, so it also prunes inside selected regions. Entries that match nothing are a no-op, never an error, but URLs that resolve to direct PDF/CSV downloads fail with selector_unsupported. Invalid CSS selector syntax is rejected with a 422.
if_modified_sincestringoptionalLast-Modified validator from a prior fetch of this URL, forwarded verbatim as the If-Modified-Since header on the origin request. Only valid with a single URL — combining with a batch of URLs returns a 400. tf-fetch does not persist validators; the caller owns replaying them.
if_none_matchstringoptionalETag validator from a prior fetch of this URL, forwarded verbatim as the If-None-Match header on the origin request. Only valid with a single URL — combining with a batch of URLs returns a 400. tf-fetch does not persist validators; the caller owns replaying them.
include_etag_and_last_modifiedbooleanoptionalOpt-in to receiving etag / last_modified validators (and not_modified detection) on each result. Defaults to false — tf-fetch omits these fields unless requested. Independent of if_none_match / if_modified_since: works with a single URL or a batch.
include_selectorsarrayoptionalArray of CSS selectors (1-20 entries, each 1-1000 characters) that scope extracted content (text, links, image_links) to elements matching ANY entry, concatenated in document order. Selected content is returned verbatim in the requested format (scripts/styles stripped) — automatic boilerplate removal is bypassed. When no entry matches anything, that URL fails with the per-URL error code selector_not_matched. URLs that resolve to direct PDF/CSV downloads fail with selector_unsupported. Invalid CSS selector syntax is rejected with a 422.
per_url_timeout_msintegeroptionalWall-clock timeout budget in milliseconds applied independently to each URL. If one URL exceeds this budget, it returns a per-URL timeout error while other URLs in the same request continue.
purposestringoptionalWhy these URLs are being fetched — the underlying goal or task the content will be used for. Used to better tailor fetching and extraction to your intent.
ttlintegeroptionalCache TTL in seconds for fetched content. Omit to disable caching.
tinyfishmcp_get_run#Retrieve status, result, error, and metadata for a specific automation run by its ID.1 param

Retrieve status, result, error, and metadata for a specific automation run by its ID.

NameTypeRequiredDescription
idstringrequiredThe unique run ID to retrieve or cancel.
tinyfishmcp_get_search_usage#List past search usage records with optional filtering by date range and status, for auditing query history and credit consumption.5 params

List past search usage records with optional filtering by date range and status, for auditing query history and credit consumption.

NameTypeRequiredDescription
limitintegerrequiredMaximum number of results to return per page.
pageintegerrequiredPage number for paginated results.
end_beforestringoptionalReturn records ending before this ISO 8601 timestamp.
start_afterstringoptionalReturn records starting after this ISO 8601 timestamp.
statusstringoptionalFilter by run or session status (e.g. completed, failed, running).
tinyfishmcp_get_steps#Retrieve the step-by-step execution trace for an automation run, including screenshots captured at each step.1 param

Retrieve the step-by-step execution trace for an automation run, including screenshots captured at each step.

NameTypeRequiredDescription
runIdstringrequiredThe unique run ID to retrieve steps or poll status for.
tinyfishmcp_get_wallet#Read-only. Returns the caller's current wallet balance, auto-reload state, per-product contract rates, and any in-flight top-up. Wallet top-ups and auto-reload changes happen in the dashboard, not through this tool.0 params

Read-only. Returns the caller's current wallet balance, auto-reload state, per-product contract rates, and any in-flight top-up. Wallet top-ups and auto-reload changes happen in the dashboard, not through this tool.

tinyfishmcp_guide_next_step#Returns the next interactive TinyFish onboarding step based on the user's real usage. Ask for the user's input and wait before running the suggested tool.0 params

Returns the next interactive TinyFish onboarding step based on the user's real usage. Ask for the user's input and wait before running the suggested tool.

tinyfishmcp_list_browser_sessions#List browser sessions with optional filtering by session ID, time range, and status, returning duration, data usage, and connection metadata.6 params

List browser sessions with optional filtering by session ID, time range, and status, returning duration, data usage, and connection metadata.

NameTypeRequiredDescription
limitintegerrequiredMaximum number of results to return per page.
pageintegerrequiredPage number for paginated results.
end_beforestringoptionalReturn records ending before this ISO 8601 timestamp.
session_idstringoptionalThe browser session ID for an active cloud session.
start_afterstringoptionalReturn records starting after this ISO 8601 timestamp.
statusstringoptionalFilter by run or session status (e.g. completed, failed, running).
tinyfishmcp_list_fetch_usage#List past fetch content requests with optional filtering by date range and status. Does not include the fetched text content.5 params

List past fetch content requests with optional filtering by date range and status. Does not include the fetched text content.

NameTypeRequiredDescription
limitintegerrequiredMaximum number of results to return per page.
pageintegerrequiredPage number for paginated results.
end_beforestringoptionalReturn records ending before this ISO 8601 timestamp.
start_afterstringoptionalReturn records starting after this ISO 8601 timestamp.
statusstringoptionalFilter by run or session status (e.g. completed, failed, running).
tinyfishmcp_list_runs#List automation runs with optional filtering by status, goal text, and date range, with cursor-based pagination.7 params

List automation runs with optional filtering by status, goal text, and date range, with cursor-based pagination.

NameTypeRequiredDescription
limitintegerrequiredMaximum number of results to return per page.
sort_directionstringrequiredSort direction. Accepted values: asc, desc.
created_afterstringoptionalReturn runs created after this ISO 8601 timestamp.
created_beforestringoptionalReturn runs created before this ISO 8601 timestamp.
cursorstringoptionalPagination cursor from the previous response to fetch the next page.
goalstringoptionalNatural language description of what to accomplish on the website.
statusstringoptionalFilter by run or session status (e.g. completed, failed, running).
tinyfishmcp_poll_status#Return the current status, step count, and progress for an automation run.1 param

Return the current status, step count, and progress for an automation run.

NameTypeRequiredDescription
runIdstringrequiredThe unique run ID to retrieve steps or poll status for.
tinyfishmcp_run_web_automation#Execute multi-step web automation on a URL using a natural language goal — clicks, form fills, and navigation. If the tool times out, the run is still executing on the server; use get_run or list_runs to check status.15 params

Execute multi-step web automation on a URL using a natural language goal — clicks, form fills, and navigation. If the tool times out, the run is still executing on the server; use get_run or list_runs to check status.

NameTypeRequiredDescription
goalstringrequiredNatural language description of what to accomplish on the website.
session_idstringrequiredThe browser session ID for an active cloud session.
urlstringrequiredTarget website URL to automate.
agent_configobjectoptionalAgent behavior configuration (max_steps, mode, cursor_style, max_duration_seconds).
api_integrationstringoptionalName of the integration making this call (e.g. zapier, n8n). Used for analytics.
browser_profilestringoptionalBrowser execution profile. Accepted values: lite, stealth.
capture_configobjectoptionalConfigure which data to capture during the run (screenshots, recording, html, etc.).
credential_item_idsarrayoptionalScope vault credentials to specific credential URIs. Requires use_vault to be true.
feature_flagsobjectoptionalFeature flags to enable for this run.
output_schemaobjectoptionalOptional provider-supported structured-output schema subset for the run result. Unsupported fields are rejected before the request is accepted.
profile_idstringoptionalBrowser profile ID to use when use_profile is true.
proxy_configobjectoptionalProxy configuration for this run (enabled, type, url, country_code).
use_profilebooleanoptionalSet to true to use the default browser profile if profiles are enabled.
use_vaultbooleanoptionalSet to true to include enabled vault credentials for this run.
webhook_urlstringoptionalHTTPS URL to receive webhook notifications for run lifecycle events.
tinyfishmcp_run_web_automation_async#Start a single web automation in the background and return the run ID immediately without waiting for completion. Poll with get_run every 30–60 seconds.15 params

Start a single web automation in the background and return the run ID immediately without waiting for completion. Poll with get_run every 30–60 seconds.

NameTypeRequiredDescription
goalstringrequiredNatural language description of what to accomplish on the website.
session_idstringrequiredThe browser session ID for an active cloud session.
urlstringrequiredTarget website URL to automate.
agent_configobjectoptionalAgent behavior configuration (max_steps, mode, cursor_style, max_duration_seconds).
api_integrationstringoptionalName of the integration making this call (e.g. zapier, n8n). Used for analytics.
browser_profilestringoptionalBrowser execution profile. Accepted values: lite, stealth.
capture_configobjectoptionalConfigure which data to capture during the run (screenshots, recording, html, etc.).
credential_item_idsarrayoptionalScope vault credentials to specific credential URIs. Requires use_vault to be true.
feature_flagsobjectoptionalFeature flags to enable for this run.
output_schemaobjectoptionalOptional provider-supported structured-output schema subset for the run result. Unsupported fields are rejected before the request is accepted.
profile_idstringoptionalBrowser profile ID to use when use_profile is true.
proxy_configobjectoptionalProxy configuration for this run (enabled, type, url, country_code).
use_profilebooleanoptionalSet to true to use the default browser profile if profiles are enabled.
use_vaultbooleanoptionalSet to true to include enabled vault credentials for this run.
webhook_urlstringoptionalHTTPS URL to receive webhook notifications for run lifecycle events.