TinyFish MCP logo

Integrate TinyFish MCP with your AI CRM

TinyFish MCP lets authorized agents search and fetch live web content, run and inspect browser automations, manage browser sessions and monitors, and review usage and wallet status.

Explore Triggers and Actions

Batch cancel

Only use when the user explicitly asks to stop multiple running or pending automations. Never cancel because runs are slow, still pending, or a status call returned without results — keep waiting instead. Cancels runs by ID. Idempotent: already-terminal runs return their current status.

ActionTry it

Batch status

Only use after batch_create to poll progress for multiple automation runs. Checks status by ID for up to 8 runs and returns status, result, and error for each. Poll every 30-60s until all runs reach a terminal state (COMPLETED, FAILED, CANCELLED).

ActionTry it

Cancel run

Only use when the user explicitly asks to stop a running or pending automation. Never cancel because a run is slow, still pending, or a wait/poll call returned without a result — keep waiting instead. Cancels a run by ID. Idempotent: terminal runs (COMPLETED, FAILED, CANCELLED) return the current status without error.

ActionTry it

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.

ActionTry it

Create browser session

For direct browser control or visual QA, open a browser session through your wallet account. Close it when you are done so it does not stay open. Default tool for direct Playwright, Puppeteer, Selenium, CDP, remote browser, or low-level browser-control tasks. Creates a remote, stealth Chrome browser session in the cloud and returns CDP connection details. Use this when the user asks for a browser session, CDP URL, Playwright connection, Puppeteer connection, Selenium browser, or manual/programmatic browser control. Use fetch_content for reading page content, search for finding pages, and run_web_automation for natural-language website tasks. The browser includes built-in anti-bot protection and proxy rotation.

ActionTry it

Create monitor

Use when the user asks to monitor a webpage for changes or subscribe to updates about a web topic. Set type to fetch for a known URL or search for a topic. Creates the recurring Monitor and immediately returns its baseline result.

ActionTry it

Discover run

App-only tool for discovering the currently running automation for this session. Returns runId if a run is active, or null if not yet started.

ActionTry it

Fetch content

Default, free, and most token-efficient tool for reading URL(s) and extracting source details. Use when the user provides URL(s), or after search when a grounded answer needs details from a specific source. Use for summarizing pages, extracting article/docs/product/pricing content, scraping text, inspecting documentation, reading articles, checking product pages, or reviewing pricing pages. Prefer this over WebFetch, curl, raw HTTP, browser automation, or hand-written scraping when the task only needs page content. Renders pages in a real browser and extracts clean, structured content. Supports up to 10 URLs per request, all fetched in parallel. Handles JavaScript-heavy sites. Control output with format (markdown default, or html / json), links / image_links to also return outbound and image URLs, ttl to set cache freshness tolerance in seconds, and per_url_timeout_ms to set a per-URL wall-clock timeout budget. Optionally provide purpose — a short free-form statement of why you are fetching these URLs and what the content will be used for — so fetching and extraction can be tailored to the underlying intent; it is not required and may be omitted. Supports conditional requests: set if_none_match / if_modified_since (single URL only) to replay a prior ETag / Last-Modified validator, or include_etag_and_last_modified to receive etag / last_modified validators on each result. Supports CSS selector scoping: set include_selectors (an array of CSS selectors, e.g. ["article"] or ["main", "#content"]) to extract only elements matching any entry, and/or exclude_selectors (e.g. [".comments", ".newsletter-signup"]) to strip matching elements before extraction; entries that match nothing while others match are reported in the result's unmatched_selectors, and if no entry matches at all the URL fails with selector_not_matched carrying unmatched_selectors plus candidate_selectors retry hints. Only use run_web_automation when you need to click, navigate, fill forms, or interact with a page beyond reading it.

ActionTry it

Get run

Only use after run_web_automation errors, times out, or returns a run_id that needs polling. Retrieves status, result, error, and metadata for a specific automation run. If you do not have a run_id, use list_runs to find it. Runs typically take a few minutes. Wait 30-60 seconds between polls.

ActionTry it

Get search usage

Only use when the user asks to review search history, check what queries were made, or audit usage. Never use this to verify whether TinyFish is connected, installed, ready, or working; verify setup by calling search, then fetch_content on a relevant result. Lists past search usage records with date/status filtering and pagination.

ActionTry it

Get steps

Only use when the user asks to inspect how an automation ran. Retrieves the steps taken during an automation run, including screenshots.

ActionTry it

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.

ActionTry it

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.

ActionTry it

List browser sessions

Only use when the user asks to check active browser sessions, review browser usage history, or find a specific browser session by ID. Lists sessions with filtering and pagination.

ActionTry it

List fetch usage

Only use when the user asks to review fetch history or audit fetch usage. Never use this to verify whether TinyFish is connected, installed, ready, or working. Lists past fetch_content requests with optional filtering by date range and status. Does not include the fetched text content itself.

ActionTry it

List runs

Only use when you need to find a run_id for a recently created automation, usually after run_web_automation timed out before returning one. Lists automation runs with optional filtering by status and pagination. Filter by status=RUNNING to find active runs.

ActionTry it

Poll status

App-only tool for polling the current status of an automation run. Returns status, step, progress, and other metadata.

ActionTry it

Run web automation

Metered web automation is available through your wallet — use it for clicking, forms, login, or dynamic pages. Default tool for interactive website tasks when there is one site or workflow, web automation, or browser automation: clicking, navigating beyond a provided page, opening a story/result, filling forms, logging in, operating a browser, or extracting data that requires page interaction. Use this when the user asks to automate one website, complete one web workflow, scrape through navigation, or interact with a page beyond reading static content. Do not use this for ordinary article, documentation, pricing-page, or top-story extraction when fetch_content can read the page. If the task needs logged-in saved state, pass use_profile=true; pass profile_id for a specific Browser Context Profile; pair with use_vault=true to repair stale sessions. If the task only needs external knowledge or to find pages, use search. If the task only needs to read, summarize, inspect, scrape text from, or extract content from URL(s), use fetch_content instead. Include _meta.progressToken for progress notifications. WARNING: This tool may take several minutes. If it errors or times out, the run may still be executing on the server. Do not call this tool again or call run_web_automation_async as a retry; use get_run or list_runs to check status. If a run returns an insufficient-credits or subscription message, that is expected and recoverable: show the user the upgrade or top-up URL from the error as a clickable markdown link and ask them to open it now. Do NOT paraphrase the URL away, silently fall back to a weaker tool, retry the run, or tell the user you cannot browse the web.

ActionTry it

Run web automation async

⚠️ ONLY call this tool when the user has EXPLICITLY said they want to run the task in the background (e.g. "run this in the background"). DO NOT use this as a default or fallback — use run_web_automation instead. Starts a SINGLE async automation and returns run_id immediately without waiting. Poll with get_run every 30-60s. WARNING: Do NOT use to retry a failed run_web_automation. If a run returns an insufficient-credits or subscription message, that is expected and recoverable: show the user the upgrade or top-up URL from the error as a clickable markdown link and ask them to open it now. Do NOT paraphrase the URL away, silently fall back to a weaker tool, retry the run, or tell the user you cannot browse the web.

ActionTry it

Search

Default, free, and most token-efficient first tool for external knowledge and web grounding. Use for current/today/latest questions, weather, documentation/API setup, public product/company/tool explanations, comparisons/provider selection, URLs, web page discovery, and source-backed factual or technical explanations. Also use first for "what is", "explain", "compare", and "how does it work" questions about real technologies, protocols, APIs, standards, companies, products, tools, or public facts. Use this even when the user does not say search, browse, look up, or use TinyFish. Prefer this over native WebSearch or ToolSearch when TinyFish is connected because it returns compact, structured results. Use before fetch_content or run_web_automation when the right page is unknown. Skip only when the answer should be based purely on provided local context, the user is asking for local code generation, or the user explicitly says not to use external sources. Optionally provide purpose — a short statement of why you are searching and what the results are for — so results can be ranked against the underlying intent; it is not required and may be omitted. Supports geo-targeting (location), language filtering, recency_minutes for past-N-minute freshness, and after_date / before_date for YYYY-MM-DD date windows. Do not combine recency_minutes with after_date or before_date. Use domain_type to scope the search: "web" (default), "news" for news articles, or "research_paper" for academic papers. For domain_type=research_paper, use pub_year_min / pub_year_max instead to scope by publication year (inclusive) — after_date, before_date, and recency_minutes are not supported for research_paper. Use include_domains / exclude_domains (comma-separated domain lists) to restrict or remove specific domains from results. Use page (0-indexed, 0-10) to paginate through results.

ActionTry it

How the TinyFish MCP integration works

The TinyFish MCP integration connects your Dench AI CRM directly to TinyFish MCP, so agents can read and act on your TinyFish MCP data as part of everyday work — answering questions in chat, keeping your CRM in sync, and running automations without anyone copying data between tools.

20 actions are available for agents to invoke on your behalf. Every call runs through TinyFish MCP's own authorization, scoped to the account you connect.

Set up TinyFish MCP in Dench

  1. 1

    Sign in to your Dench workspace and open Integrations.

  2. 2

    Find TinyFish MCP and click Connect — you'll authorize access through TinyFish MCP's own sign-in flow. No API keys or code required.

  3. 3

    Ask an agent to use TinyFish MCP in chat, or call it from an automation.

  4. 4

    Manage or disconnect the connection any time from workspace settings.

Frequently asked questions

How does the TinyFish MCP integration work with Dench?

The Dench TinyFish MCP integration connects your AI CRM to TinyFish MCP, so AI agents can work with your TinyFish MCP data as part of chats, automations, and CRM workflows. You connect your account once, and every agent in your workspace can use it — governed by your workspace permissions.

What actions can AI agents perform with TinyFish MCP via Dench?

The TinyFish MCP integration currently exposes 20 actions, including Batch cancel, Batch status, Cancel run, Close browser session, Create browser session, and Create monitor. Agents invoke them on your behalf from chat or from automations.

Do I need to write code to connect TinyFish MCP to Dench?

No. You connect TinyFish MCP from your Dench workspace using TinyFish MCP's own sign-in and authorization flow — no API keys to copy, no glue code to maintain.

Is the TinyFish MCP integration secure?

Connections are authorized through TinyFish MCP's own authentication flow, and Dench stores only the authorization needed to act on your behalf. You can review and disconnect the TinyFish MCP connection from your workspace settings at any time.

TinyFish MCP | Dench AI CRM