On ChatGPT, Claude, or Grok? The curated TinyFish plugin bundles these tools with skills and safety rules and installs in one command or tap. This page covers the raw MCP endpoint for any client.
Quick Install
- Codex
- Grok
- Claude Code
- Claude Desktop
- ChatGPT
- Cursor
- Windsurf
Manual configuration
Manual configuration
- Codex
- Grok
- Claude Code
- Claude Desktop
- ChatGPT
- Cursor
- Windsurf
Available Tools
Web Automation
run_web_automation— Execute multi-step web automation given a URL and natural language goal. Streams progress in real-time. Use this for tasks that require clicking, navigating, filling forms, logging in, or interacting with a website. For authenticated recurring workflows, passuse_profile: true; addprofile_idto select a specific Browser Context Profile.run_web_automation_async— Same asrun_web_automationbut returns arun_idimmediately without waiting. Use for long-running tasks where you don’t need real-time progress. Poll withget_run. Supports the sameuse_profile,profile_id, anduse_vaultcontrols.get_run— Retrieve details of a specific automation run by ID. Returns status, result, and error info.list_runs— List your automation runs with optional filtering by status and pagination.cancel_run— Cancel a running or pending automation run by ID. Idempotent — already-terminal runs return their current status.
Batch Automation
batch_status— Check the status of multiple runs at once (up to 8). Poll every 30–60 seconds untilall_terminalis true.batch_cancel— Cancel multiple running or pending runs by their IDs (up to 8). Idempotent.
Web Search
search— Search the web and get structured results with titles, snippets, and URLs. Use this to find information or discover URLs before automating a specific site. Optional filters:recency_minutes,after_date,before_date,domain_type("web"|"news"|"research_paper"),pub_year_min/pub_year_max. Whendomain_type=research_paper,recency_minutes,after_date, andbefore_dateare not supported — usepub_year_min/pub_year_maxinstead to scope by publication year (inclusive integers,0-9999, withpub_year_min <= pub_year_maxwhen both are set). You can also narrow or bias results withlocation(country code, e.g."US"),language(language code, e.g."en"), andinclude_domains/exclude_domains(comma-separated domain allow/deny lists, combined length capped). Usepage(0-indexed,0-10) to paginate. You can also pass an optionalpurpose— a short statement of why you’re searching — to give the search additional intent signal for better-quality results.get_search_usage— List past search usage records with filtering by date range and status.
Content Extraction
fetch_content— Fetch web pages, render JavaScript-heavy pages when needed, and extract clean, structured content. Preferred overrun_web_automationwhen you only need to read page content. Supports up to 10 URLs per request. Control the output withformat("markdown"default |"html"|"json"),linksandimage_links(extract outbound/image URLs),ttl(cache freshness tolerance in seconds), andper_url_timeout_ms(per-URL wall-clock budget). Scope extraction withinclude_selectors/exclude_selectors(1–20 CSS selectors each). For conditional requests, passif_none_match/if_modified_since(single URL only) and setinclude_etag_and_last_modifiedto get the validators back. You can also pass an optionalpurpose— a short statement of why you’re fetching the URLs — to give the fetch additional intent signal for better-quality results.list_fetch_usage— List past fetch requests with filtering by date range and status. Returns metadata only.
Browser Sessions
create_browser_session— Create a remote, stealth Chrome browser session and get CDP connection details. Use for direct programmatic browser control with Playwright, Puppeteer, or Selenium.list_browser_sessions— List your browser sessions with optional filtering by session ID, time range, and status.close_browser_session— Close a browser session by ID to release it early instead of waiting for its inactivity timeout. Idempotent — already-ended sessions return success.
Profile-Aware Automation
Browser Context Profiles let MCP automation reuse saved login state. If the user asks for an authenticated or recurring workflow, prefer a saved profile instead of logging in from scratch every run. Userun_web_automation with use_profile: true. If the user provides a profile ID, pass it as profile_id; profile_id requires use_profile: true. Pair with use_vault: true when the run should repair stale sessions with saved credentials.
cdp_url for Playwright/Puppeteer/CDP and a base_url for TinyFish HTTP session endpoints such as /pages. Browser Context Profiles are saved session state; Browser Profiles are the browser_profile: "lite" | "stealth" runtime modes.
Example Usage
Credit Costs
Authentication
TinyFish MCP uses OAuth 2.1 for secure authentication. The first time you connect, your browser will open to complete the OAuth flow.Before You Start
Make sure you are signed in to both of these in your default browser before triggering the OAuth flow:- claude.ai — your Claude/Anthropic account
- agent.tinyfish.ai — your TinyFish account
Authentication Flow
When you first configure the TinyFish MCP server, Claude Desktop will open your default browser to complete OAuth. Since you’re already signed in to both services, the flow will redirect automatically and complete without manual input.You need a TinyFish account with an active subscription or credits. Sign up here.
Troubleshooting
Tool not showing up
Tool not showing up
- Restart your AI client after adding the config
- Check that the config JSON is valid
- Ensure you’re authenticated (OAuth prompt should appear)
Authentication failing
Authentication failing
Before starting the OAuth flow, make sure you are already signed in to both services in your default browser:
- Open your default browser and sign in to claude.ai
- In the same browser, sign in to agent.tinyfish.ai
- Then restart Claude Desktop and trigger the OAuth flow again
- Clear cookies - Clear browser cookies for both claude.ai and agent.tinyfish.ai, then retry
- Check TinyFish account - Verify your account is active at agent.tinyfish.ai/api-keys
Server disconnected (Windows)
Server disconnected (Windows)
On Windows, if you see “Server disconnected” errors:
- Close Claude Desktop completely - Check Task Manager and end any Claude processes
- Use the direct URL method - The recommended setup using
"url": "https://agent.tinyfish.ai/mcp"in your config avoids these issues entirely (see Quick Install above) - Complete OAuth quickly - When the browser opens, complete the sign-in promptly to avoid timeout issues
Automation timing out
Automation timing out
Complex automations may take 30-60 seconds. For sites with bot protection, the assistant should use
browser_profile: "stealth".Related
Quick Start
Get started with the REST API
API Reference
Full endpoint documentation