此 MCP 可以做什么
Provides live web search, page scraping, crawling, SEO audits, structured collectors, proxy management, and dataset generation.
工具
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url', 'context', 'llm_model'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The page URL to audit'}, 'brand': {'type': 'string', 'maxLength': 80, 'description': "Brand name to look for in the answer text ('mentioned' even when not cited). Defaults to the page's og:site_name / Organization name."}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'country': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': "ISO country code for the proxy exit, e.g. 'us' — also the locale of the AI Overview / Copilot SERP"}, 'engines': {'type': 'array', 'items': {'enum': ['perplexity', 'openai', 'anthropic', 'aio', 'copilot', 'deepseek'], 'type': 'string'}, 'description': "Engines to ask (default: all). aio = Google AI Overview read from a live SERP, copilot = Bing's generative answer, openai/anthropic = the vendors' APIs with web search (an approximation of ChatGPT/Claude search), deepseek = our own Google top-10 handed to DeepSeek to answer and cite (cheapest; measures whether a model picks your page from the same results)."}, 'offsite': {'type': 'boolean', 'description': 'Also measure the brand OFF the page with five searches ("brand" site:youtube.com / reddit.com / wikipedia.org / linkedin.com / review sites) — the signals studies rank above anything on-page for whether a brand gets named. Adds an `offsite` pillar; billed as 5 SERP calls.'}, 'queries': {'type': 'array', 'items': {'type': 'string', 'maxLength': 300, 'minLength': 1}, 'maxItems': 10, 'description': 'Questions to ask the AI engines (max 10). Omit for the on-page audit only — each (query × engine) pair is a billed engine call.'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}, 'no_render': {'type': 'boolean', 'description': 'Skip the rendered pass (cheaper — the two JS-parity checks are reported as skipped)'}, 'competitors': {'type': 'array', 'items': {'type': 'string', 'maxLength': 253, 'minLength': 1}, 'maxItems': 20, 'description': "Competitor domains to flag in the share of voice, e.g. ['brightdata.com']"}, 'no_bot_fetch': {'type': 'boolean', 'description': 'Skip the extra request that identifies itself as GPTBot'}, 'no_retrieval': {'type': 'boolean', 'description': 'Skip the retrievability probe (2 SERPs: Google rank of the page for its own H1 question, and whether it is indexed). On by default — it is the strongest single predictor of citation and a blocker when the page is not indexed.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['urls', 'context', 'llm_model'], 'properties': {'mode': {'enum': ['summary'], 'type': 'string', 'description': 'summary: per-URL metadata only, no page content — the light mode for audits'}, 'urls': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'maxItems': 5000, 'minItems': 1, 'description': 'URLs to scrape'}, 'engine': {'enum': ['auto', 'tls', 'fetch', 'render'], 'type': 'string', 'description': 'Fetch engine (default auto)'}, 'format': {'enum': ['markdown', 'html', 'text'], 'type': 'string', 'description': 'Output format (default markdown)'}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'country': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'ISO country code for the proxy exit'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}, 'content_mode': {'enum': ['smart', 'article', 'full'], 'type': 'string', 'description': 'Per-URL content scope: smart (default) | article | full'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['jobId', 'context', 'llm_model'], 'properties': {'jobId': {'type': 'string', 'description': 'The batch job id returned by batch'}, 'since': {'type': 'integer', 'minimum': 0, 'description': "Item cursor from the previous poll's `nextCursor` — returns only newer items"}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}, 'include_content': {'type': 'boolean', 'description': "Include each item's full page content (default false — metadata only)"}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['run_id', 'context', 'llm_model'], 'properties': {'format': {'enum': ['json', 'csv'], 'type': 'string', 'description': 'Return rows as JSON (default) or CSV text'}, 'run_id': {'type': 'string', 'minLength': 1, 'description': 'The run id returned by run_collector'}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url', 'context', 'llm_model'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'Seed URL'}, 'depth': {'type': 'integer', 'maximum': 10, 'minimum': 0, 'description': 'Max link depth (default 3)'}, 'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Max pages (default 50)'}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'country': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'ISO country code for the proxy exit'}, 'exclude': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URL substrings/globs to exclude'}, 'include': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URL substrings/globs to include'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}, 'content_mode': {'enum': ['smart', 'article', 'full'], 'type': 'string', 'description': 'Per-page content scope: smart (default) | article | full'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['jobId', 'context', 'llm_model'], 'properties': {'jobId': {'type': 'string', 'description': 'The crawl job id returned by crawl'}, 'since': {'type': 'integer', 'minimum': 0, 'description': "Page cursor from the previous poll's `nextCursor` — returns only newer pages"}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}, 'include_content': {'type': 'boolean', 'description': "Include each page's full content (default false — metadata only)"}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['prompt', 'context', 'llm_model'], 'properties': {'limits': {'type': 'object', 'properties': {'max_rows': {'type': 'integer', 'minimum': 1}, 'max_pages': {'type': 'integer', 'minimum': 1}, 'max_cost_usd': {'type': 'number', 'minimum': 0.05, 'description': 'Budget cap for the run (default 5)'}}, 'additionalProperties': False}, 'prompt': {'type': 'string', 'description': "What dataset you want, in plain language (e.g. 'coffee roasters in Portland with email and phone')"}, 'columns': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string'}, 'type': {'enum': ['string', 'number', 'email', 'phone', 'url', 'boolean', 'deep'], 'type': 'string', 'description': 'email/phone/deep are premium fields, billed only when found'}, 'description': {'type': 'string'}}, 'additionalProperties': False}, 'description': 'Columns to extract; omit to let the planner infer them'}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'country': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'ISO country code for the proxy exit geo'}, 'sources': {'type': 'object', 'properties': {'exclude': {'type': 'array', 'items': {'type': 'string'}}, 'include': {'type': 'array', 'items': {'type': 'string'}}}, 'description': 'Domain allow/deny lists', 'additionalProperties': False}, 'webhook': {'type': 'string', 'format': 'uri', 'description': 'Public URL to POST the finished dataset to'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['jobId', 'context', 'llm_model'], 'properties': {'mode': {'enum': ['summary'], 'type': 'string', 'description': 'summary: progress + steps only, no rows'}, 'jobId': {'type': 'string', 'description': 'The dataset job id returned by create_dataset'}, 'since': {'type': 'integer', 'minimum': 0, 'description': "Row cursor from the previous poll's `nextCursor` — returns only newer rows"}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['context', 'llm_model'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The page to learn the layout from'}, 'html': {'type': 'string', 'description': 'Markup you already have, instead of fetching a URL (no proxy bandwidth used)'}, 'fields': {'type': 'object', 'description': 'What to extract, as { field_name: "plain-English description" } — e.g. { "price": "the product price", "specs": "every spec bullet, as a list" }. Max 25.', 'additionalProperties': {'type': 'string'}}, 'prompt': {'type': 'string', 'description': 'Free-text alternative to `fields` — the model picks and names the fields itself'}, 'render': {'type': 'boolean', 'description': 'Learn from the browser-rendered DOM instead of the raw HTML (needed for SPA pages)'}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'country': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'ISO country code for the proxy exit'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['orderId', 'context', 'llm_model'], 'properties': {'ip': {'type': 'string', 'description': 'Mobile V2 only: a whitelisted IP (see whitelist_ip) to fetch the IP-auth proxy list instead of user:pass proxies'}, 'asn': {'type': 'string', 'description': "ASN for Residential/Datacenter Basic targeting, e.g. 'AS12345'"}, 'isp': {'type': 'string', 'description': "ISP code for Residential Premium / Mobile V2 targeting (from proxy_locations tree, e.g. 'tmobile')"}, 'city': {'type': 'string', 'description': "City (slug from proxy_locations where applicable; 'all' for any)"}, 'state': {'type': 'string', 'description': "State/region (Residential Premium & Mobile V2: use the slug from proxy_locations; 'all' for any)"}, 'filter': {'enum': ['speed', 'speed-quality', 'quality'], 'type': 'string', 'description': 'Residential Premium / Mobile V2 pool filter (omit for the full pool)'}, 'format': {'enum': ['user:pass@host:port', 'host:port:user:pass', 'http://user:pass@host:port', 'socks5://user:pass@host:port'], 'type': 'string', 'description': 'Output string format (default user:pass@host:port)'}, 'strict': {'type': 'boolean', 'description': 'Residential/Datacenter Basic: true allows fallback to nearby locations when the exact target has no IPs'}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'country': {'type': 'string', 'maxLength': 10, 'description': "Country code for geo targeting, lowercase, e.g. 'us'"}, 'gateway': {'enum': ['ww', 'us', 'eu', 'as'], 'type': 'string', 'description': 'Mobile V2 region gateway (default ww)'}, 'orderId': {'type': 'string', 'description': "The proxy service's orderId (from list_proxies)"}, 'protocol': {'enum': ['http', 'socks5'], 'type': 'string', 'description': 'Proxy protocol (default http)'}, 'quantity': {'type': 'integer', 'maximum': 10000, 'minimum': 1, 'description': 'Number of proxy strings (default 10)'}, 'rotation': {'enum': ['rotating', 'sticky', 'static'], 'type': 'string', 'description': 'rotating (default): new IP per request. sticky: keep the IP for sessionTime. static: IPv6 only, fixed session with no TTL.'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}, 'sessionTime': {'type': 'integer', 'maximum': 1440, 'minimum': 1, 'description': 'Sticky session duration in minutes (default 10; Residential Basic/Datacenter minimum 3)'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['preset_id', 'context', 'llm_model'], 'properties': {'force': {'type': 'boolean', 'description': 'Bypass the cooldown between heals'}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}, 'preset_id': {'type': 'string', 'description': 'The preset id'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['context', 'llm_model'], 'properties': {'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'category': {'type': 'string', 'maxLength': 40, 'description': "Optional category filter (e.g. 'local', 'ecommerce', 'jobs', 'news', 'travel', 'leads', 'finance', 'dev', 'gaming', 'osint', 'research', 'classifieds', 'knowledge')"}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['context', 'llm_model'], 'properties': {'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['context', 'llm_model'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max services returned (default 50)'}, 'active': {'type': 'boolean', 'description': 'true: only non-expired services (recommended). false: only expired. Omit for all.'}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'Pagination offset (default 0)'}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'planType': {'enum': ['residentialbasic', 'residentialpremium', 'resiprivate', 'isp', 'datacenter', 'datacentertraffic', 'ipv6', 'mobile', 'mobile_v2'], 'type': 'string', 'description': 'Only services of this plan type'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url', 'context', 'llm_model'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The site URL to map'}, 'limit': {'type': 'integer', 'maximum': 5000, 'minimum': 1, 'description': 'Max URLs returned (default 100). `total`/`summary` always cover the whole site.'}, 'search': {'type': 'string', 'description': 'Only return URLs containing this substring — use this to narrow before raising limit'}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'group_by': {'enum': ['path'], 'type': 'string', 'description': 'path: return the path tree with per-prefix counts instead of the flat URL list'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}, 'includeSubdomains': {'type': 'boolean', 'description': 'Include subdomains of the seed host'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['preset_id', 'context', 'llm_model'], 'properties': {'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}, 'preset_id': {'type': 'string', 'description': 'The preset id returned by save_parser_preset'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['planType', 'context', 'llm_model'], 'properties': {'level': {'enum': ['countries', 'states', 'cities', 'asns', 'tree'], 'type': 'string', 'description': 'countries (default) | states (needs country) | cities (needs country) | asns | tree (full location tree: residentialpremium, mobile/mobile_v2, datacenter)'}, 'state': {'type': 'string', 'description': 'Cities only: filter by state'}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'country': {'type': 'string', 'maxLength': 10, 'description': 'Country code, required for states/cities, optional filter for asns'}, 'planType': {'enum': ['residentialbasic', 'residentialpremium', 'resiprivate', 'isp', 'datacenter', 'datacentertraffic', 'ipv6', 'mobile', 'mobile_v2'], 'type': 'string', 'description': 'The plan type to look up (same value as list_proxies planType)'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug', 'input', 'context', 'llm_model'], 'properties': {'slug': {'type': 'string', 'minLength': 1, 'description': "Collector slug from list_collectors, e.g. 'google_maps_places'"}, 'async': {'type': 'boolean', 'description': 'Force background execution and return a run_id to poll'}, 'input': {'type': 'object', 'description': "Input fields matching the collector's inputSchema (e.g. { keyword: 'dentist', location: 'Austin, TX', max_results: 20 })", 'additionalProperties': {}}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'parser', 'context', 'llm_model'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'description': "A name you'll recognise, e.g. 'amazon product page'"}, 'fields': {'type': 'object', 'description': 'The original field descriptions, so a self-heal regenerates the same shape', 'additionalProperties': {'type': 'string'}}, 'parser': {'type': 'object', 'description': 'The parser to store — normally the `parser` object returned by generate_parser', 'additionalProperties': {}}, 'render': {'type': 'boolean', 'description': 'The page needs a browser render to show its content'}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'auto_heal': {'type': 'boolean', 'description': 'Regenerate automatically on decay (default true when source_url is set)'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}, 'source_url': {'type': 'string', 'format': 'uri', 'description': 'Page to relearn from when the parser decays — required for self-healing'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['context', 'llm_model'], 'properties': {'toc': {'type': 'boolean', 'description': 'Prepend a table of contents built from the page headings'}, 'url': {'type': 'string', 'format': 'uri', 'description': 'The page URL to scrape (optional only when you pass `html` to convert)'}, 'xhr': {'type': 'boolean', 'description': "Record the page's XHR/fetch traffic (URL, method, status, response body) into payload.xhr. Forces a browser render. An SPA's own JSON API is usually far cleaner than its DOM — use this to DISCOVER the API, then fetch_resource to return it directly."}, 'html': {'type': 'string', 'description': 'Convert HTML you already have instead of fetching: no proxy bandwidth is used, and the full parser pipeline still applies. Pass `url` too if you want relative links absolutized.'}, 'mode': {'enum': ['summary'], 'type': 'string', 'description': 'summary: return only metadata (title, description, canonical, contentLength, status, engine, bytes) with no page content — use this when auditing pages instead of reading them'}, 'chunk': {'type': 'object', 'properties': {'by': {'enum': ['heading', 'sentence', 'tokens'], 'type': 'string'}, 'size': {'type': 'integer', 'maximum': 100000, 'minimum': 1}, 'overlap': {'type': 'integer', 'maximum': 100000, 'minimum': 0}}, 'description': 'Segment the output into payload.chunks[] for RAG/vector-DB ingestion — each chunk carries its heading path and token count. Fences and tables are never split.', 'additionalProperties': False}, 'query': {'type': 'string', 'maxLength': 512, 'description': 'What you are looking for on the page. Keeps only the relevant sections (BM25 scoring over blocks, headings preserved) — the way to read one fact off a huge page without spending its whole token budget.'}, 'engine': {'enum': ['auto', 'tls', 'fetch', 'render'], 'type': 'string', 'description': 'auto (default): TLS tier, escalate to browser on block. tls: never escalate — exactly what a pure HTTP bot (no JS) sees, right for SEO checks. render: force browser.'}, 'format': {'enum': ['markdown', 'html', 'text'], 'type': 'string', 'description': 'Output format (default markdown)'}, 'parser': {'type': 'object', 'properties': {'keep': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 25}, 'exclude': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 25}, 'include': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 25}}, 'description': "Your own parsing rules, as CSS selector lists — use these when you know the page and don't want to rely on heuristics. include: keep ONLY these subtrees (targeted extraction, e.g. ['article.post']). exclude: delete site-specific chrome we kept. keep: protect a section (sidebar, dialog, form) that smart mode would strip.", 'additionalProperties': False}, 'render': {'type': 'boolean', 'description': 'Force the headless browser (JS execution)'}, 'actions': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}, 'maxItems': 20, 'description': 'Ordered browser interactions before capture (forces a render). Each is one object: {"click":"#sel"}, {"clickText":"Accept"} (click by visible text — dismiss a consent wall without knowing its CSS), {"type":{"selector":"#q","text":"shoes"}}, {"scroll":"bottom"}, {"wait":1000}, {"waitForSelector":".results"}. Add "optional":true to skip a miss, or "timeoutMs":N to bound one action.'}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'cookies': {'type': 'object', 'description': 'Cookies to send as name→value — the simple way to scrape behind a login', 'additionalProperties': {'type': 'string'}}, 'country': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': "ISO country code for the proxy exit, e.g. 'us'"}, 'extract': {'type': 'object', 'description': 'Structured-extraction schema: { field: "css selector" | { selector, attr, all, fns } }. `fns` is a transform pipeline run on the value — e.g. { "price": { "selector": ".price", "fns": ["amount_from_string"] } } returns a number, not text. Functions: amount_from_string, amount_range_from_string, convert_to_float/int/str, trim, lower, upper, {regex_search|regex_find_all: "pat"}, {replace:{from,to}}, {join:","}, {select_nth:0}, length, unique, max, min, average, product.', 'additionalProperties': {}}, 'formats': {'type': 'array', 'items': {'enum': ['markdown', 'html', 'text'], 'type': 'string'}, 'maxItems': 3, 'description': "Additional formats to return together in payload.formats, e.g. ['markdown','text']"}, 'ai_prompt': {'type': 'string', 'description': 'Natural-language instruction — the LLM turns the page into structured JSON'}, 'ai_schema': {'type': 'object', 'description': 'JSON Schema for deterministic AI extraction; returned under payload.ai.data', 'additionalProperties': {}}, 'app_state': {'anyOf': [{'type': 'boolean'}, {'enum': ['auto', 'raw'], 'type': 'string'}], 'description': "Mine the page's own hydration state (Next.js __NEXT_DATA__, Nuxt, embedded JSON islands) into payload.metadata.appState. This is where SPAs keep the real data — prices behind a picker, stock, download counts, listings — even when the DOM shows only a shell, so it often answers the question without a browser render. true/'auto': pruned to the informative parts (recommended). 'raw': the complete blobs, up to 512KB."}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}, 'preset_id': {'type': 'string', 'description': 'Run a stored parser preset (see save_parser_preset) instead of passing `extract` selectors. Results land in payload.data exactly the same way, and the run is scored so the preset can detect decay and self-heal.'}, 'highlights': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'With `query`: also return the N most relevant passages in payload.highlights'}, 'links_mode': {'enum': ['inline', 'footnote', 'strip'], 'type': 'string', 'description': 'Link rendering. inline (default): [text](url). footnote: URLs moved to a numbered reference list at the end. strip: keep only the link text — cuts 30-48% of the tokens on link-dense pages when you only need the prose.'}, 'max_tokens': {'type': 'integer', 'maximum': 2000000, 'minimum': 200, 'description': 'Cap the markdown at ~this many tokens, cutting at a section boundary (never inside a table or code block) and noting how much was omitted'}, 'frontmatter': {'type': 'boolean', 'description': 'Prepend YAML front-matter (title, url, canonical, description, author, date) so the markdown is self-contained for RAG/Obsidian pipelines'}, 'images_mode': {'enum': ['inline', 'alt', 'strip'], 'type': 'string', 'description': "inline (default) keeps ; 'alt' keeps only alt text; 'strip' removes images"}, 'content_mode': {'enum': ['smart', 'article', 'full'], 'type': 'string', 'description': 'smart (default): whole page minus nav/footer/cookie chrome. article: Readability main article only (news/blogs). full: entire body as-is.'}, 'content_modes': {'type': 'array', 'items': {'enum': ['smart', 'article', 'full'], 'type': 'string'}, 'maxItems': 3, 'description': 'Return several content scopes from ONE fetch under payload.contents (e.g. compare smart vs full)'}, 'include_links': {'type': 'boolean', 'description': 'Return all de-duplicated absolute page links in payload.links'}, 'reveal_hidden': {'type': 'boolean', 'description': 'Render tier only: before capturing, open <details>/accordions and click through every tab, appending each revealed panel to the page. Use it for tabbed code samples or spec accordions where a plain render captures only the visible variant.'}, 'fetch_resource': {'type': 'string', 'maxLength': 500, 'description': "Regex matched against the page's network requests: the first matching response's BODY becomes the result instead of the page HTML (e.g. '/api/products' to get an SPA's JSON directly). Forces a render. Fails with 504 if nothing matches."}, 'summary_sections': {'type': 'boolean', 'description': "Append 'Links on this page' / 'Images on this page' sections — handy when deciding the next hop"}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['context', 'llm_model'], 'properties': {'num': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': "How many organic results to aim for (default 10, max 100). Google serves ~10 per page, so a larger num is satisfied by fetching consecutive pages and merging them — it is NOT ignored. `search_metadata.search_url` is necessarily the first page's URL and therefore shows num=<page size>; `search_metadata.paging` reports what was actually requested, the page size, and how many pages were fetched. Getting fewer results than requested means Google ran out, not that num was dropped. Use `page` to address one specific page, or search_bulk for many queries."}, 'lang': {'type': 'string', 'maxLength': 10, 'description': "Search UI language, e.g. 'en' or 'it'"}, 'nfpr': {'type': 'boolean', 'description': 'Disable Google spelling correction'}, 'page': {'type': 'integer', 'minimum': 1, 'description': "Result page, 1-based (default 1). The response's pagination.available_pages lists which pages exist; use search_bulk to fetch many pages at once."}, 'safe': {'enum': ['active', 'off'], 'type': 'string', 'description': 'Google SafeSearch setting'}, 'uule': {'type': 'string', 'description': "Geo token: encoded uule, or raw coordinates 'lat,lon' / 'lat,lon,radius_m' (encoded server-side)"}, 'query': {'type': 'string', 'description': 'The search query (optional for place_details/product/flights/lens/reviews, which are ID/URL-addressed)'}, 'start': {'type': 'integer', 'minimum': 0, 'description': 'Result offset alias (0, 10, 20…)'}, 'adults': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Hotels: number of adults'}, 'device': {'enum': ['desktop', 'mobile'], 'type': 'string', 'description': 'SERP device shape (default desktop)'}, 'engine': {'enum': ['google', 'bing', 'duckduckgo'], 'type': 'string', 'description': 'Search engine (default google)'}, 'filter': {'type': 'string', 'description': 'Reviews: only reviews whose text contains this keyword'}, 'render': {'type': 'boolean', 'description': 'Force browser rendering where supported; Google/Bing web search rich blocks are parsed over HTTP'}, 'browser': {'enum': ['chrome', 'firefox', 'safari'], 'type': 'string', 'description': 'TLS/browser identity for the fetch path'}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'country': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': "ISO country code, e.g. 'us'"}, 'data_id': {'type': 'string', 'description': "Maps data id, hex fid '0x…:0x…' (from maps/place_details results) — required for reviews"}, 'sort_by': {'enum': ['relevance', 'newest', 'highest_rating', 'lowest_rating'], 'type': 'string', 'description': 'Reviews: sort order (default relevance)'}, 'currency': {'type': 'string', 'maxLength': 3, 'minLength': 3, 'description': "Hotels/Flights: price currency, e.g. 'EUR'"}, 'location': {'type': 'string', 'description': "Search from this location, e.g. 'Milan, Italy' (encoded to Google's uule server-side)"}, 'place_id': {'type': 'string', 'description': "Google Maps place id for place_details — the hex '0x…:0x…' fid from maps/places results, a 'ChIJ…' place id or a numeric cid all work; served from Maps' place card over HTTP (name, address, phone, website, rating, reviews, category, weekly hours, open state) in about a second"}, 'wait_for': {'type': 'string', 'maxLength': 512, 'description': 'Rendered path: wait for this CSS selector before parsing late panels'}, 'image_url': {'type': 'string', 'description': 'Lens: publicly reachable image URL to reverse-search'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}, 'timeframe': {'type': 'string', 'description': "Trends only: Google timeframe token — 'today 12-m' (default), 'now 7-d', or an explicit 'YYYY-MM-DD YYYY-MM-DD' range"}, 'arrival_id': {'type': 'string', 'description': "Flights: arrival airport IATA code, e.g. 'LAX'"}, 'product_id': {'type': 'string', 'description': 'Google Shopping product id (the product_id of a shopping result — the rendered grid carries it) for search_type=product: the seller list with price, old price, discount, stock and delivery per merchant. Without it, pass a query and the first product is opened.'}, 'product_ids': {'type': 'boolean', 'description': 'shopping only: render the Shopping grid so each result carries product_id/offer_id (the input of search_type=product). Costs a render; the default no-JS shopping page has no ids.'}, 'return_date': {'type': 'string', 'description': 'Flights: return date YYYY-MM-DD (omit for one-way)'}, 'search_type': {'enum': ['search', 'shopping', 'images', 'news', 'places', 'maps', 'videos', 'scholar', 'jobs', 'autocomplete', 'place_details', 'hotels', 'flights', 'events', 'product', 'lens', 'reviews', 'trends'], 'type': 'string', 'description': 'Vertical (default search). Bing supports shopping/images/news/videos/places/maps/autocomplete. Google additionally supports scholar/jobs/place_details/hotels/flights/events/product/lens/reviews; maps accepts gps_coordinates, place_details uses place_id, and reviews uses data_id.'}, 'departure_id': {'type': 'string', 'description': "Flights: departure airport IATA code, e.g. 'JFK'"}, 'check_in_date': {'type': 'string', 'description': 'Hotels: check-in date YYYY-MM-DD'}, 'children_ages': {'type': 'array', 'items': {'type': 'integer', 'maximum': 17, 'minimum': 0}, 'description': "Hotels: children's ages, e.g. [5, 7]"}, 'exact_matches': {'type': 'boolean', 'description': 'Lens: return the exact-matches tab (pages using this exact image) instead of visual matches'}, 'google_params': {'type': 'object', 'description': 'Additional Google query parameters not modeled above', 'additionalProperties': {'type': ['string', 'number']}}, 'outbound_date': {'type': 'string', 'description': 'Flights: outbound date YYYY-MM-DD'}, 'check_out_date': {'type': 'string', 'description': 'Hotels: check-out date YYYY-MM-DD'}, 'gps_coordinates': {'type': 'string', 'description': "Maps: center the search on 'lat,lon' or 'lat,lon,zoom' (zoom 3-21)"}, 'next_page_token': {'type': 'string', 'description': "Reviews: continuation token from the previous response's serpapi_pagination"}, 'free_cancellation': {'type': 'boolean', 'description': 'Hotels: only offers with free cancellation'}, 'accommodation_type': {'enum': ['hotels', 'vacation_rentals'], 'type': 'string', 'description': 'Hotels: property kind (default hotels)'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query', 'context', 'llm_model'], 'properties': {'lang': {'type': 'string', 'maxLength': 10, 'description': "Search UI language, e.g. 'en' or 'it'"}, 'query': {'type': 'string', 'minLength': 1, 'description': 'The research/search query'}, 'top_n': {'type': 'integer', 'maximum': 5, 'minimum': 1, 'description': 'Top organic pages to fetch (default 3, max 5)'}, 'engine': {'enum': ['google', 'bing', 'duckduckgo'], 'type': 'string', 'description': 'Search engine (default google)'}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'country': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'ISO country code for search and proxy geo'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}, 'max_tokens': {'type': 'integer', 'maximum': 50000, 'minimum': 500, 'description': 'Maximum estimated tokens in the assembled context (default 8000)'}, 'fetch_content': {'type': 'boolean', 'description': 'False returns snippet-only context without fetching result pages'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query', 'context', 'llm_model'], 'properties': {'lang': {'type': 'string', 'maxLength': 10, 'description': "UI language, e.g. 'en'"}, 'nfpr': {'type': 'boolean', 'description': 'Disable Google spelling correction'}, 'safe': {'enum': ['active', 'off'], 'type': 'string', 'description': 'Google SafeSearch setting'}, 'uule': {'type': 'string', 'maxLength': 512, 'description': 'Encoded geo token or raw coordinates'}, 'query': {'type': 'string', 'minLength': 1, 'description': 'The search query to paginate'}, 'device': {'enum': ['desktop', 'mobile'], 'type': 'string', 'description': 'SERP device shape'}, 'engine': {'enum': ['google', 'bing', 'duckduckgo'], 'type': 'string', 'description': 'Search engine (default google)'}, 'render': {'type': 'boolean', 'description': 'Force rendering to capture page-one Google JS enrichments'}, 'browser': {'enum': ['chrome', 'firefox', 'safari'], 'type': 'string', 'description': 'Fetch-path browser identity'}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'country': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': "ISO country code, e.g. 'us'"}, 'webhook': {'type': 'string', 'format': 'uri', 'description': 'Public URL to POST the finished job to'}, 'location': {'type': 'string', 'maxLength': 256, 'description': "Search location, e.g. 'Milan, Italy'"}, 'wait_for': {'type': 'string', 'maxLength': 512, 'description': 'Rendered path CSS selector for late panels'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}, 'max_pages': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Max pages to fetch (1-10, default 5). Stops early when Google has no more pages.'}, 'search_type': {'enum': ['search', 'news', 'videos', 'images', 'shopping'], 'type': 'string', 'description': 'Vertical to paginate (default search)'}, 'google_params': {'type': 'object', 'description': 'Additional Google query parameters', 'additionalProperties': {'type': ['string', 'number']}}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['jobId', 'context', 'llm_model'], 'properties': {'jobId': {'type': 'string', 'description': 'The bulk search job id returned by search_bulk'}, 'since': {'type': 'integer', 'minimum': 0, 'description': "Organic cursor from the previous poll's `nextCursor` — returns only newer results"}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url', 'context', 'llm_model'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'The page URL to audit'}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'country': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': "ISO country code for the proxy exit, e.g. 'us'"}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}, 'no_render': {'type': 'boolean', 'description': 'Skip the rendered pass (cheaper — returns the no-JS view only, no diff)'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['action', 'orderId', 'context', 'llm_model'], 'properties': {'ip': {'type': 'string', 'description': 'The IP to add/remove (required for add and remove)'}, 'isp': {'type': 'string', 'description': "Mobile add: ISP code, e.g. 'tmobile'"}, 'ttl': {'type': 'integer', 'minimum': 1, 'description': 'Mobile add: sticky session TTL in seconds'}, 'city': {'type': 'string', 'description': 'Mobile add: city slug'}, 'action': {'enum': ['add', 'list', 'remove'], 'type': 'string', 'description': "What to do with the order's whitelist"}, 'region': {'type': 'string', 'description': 'Mobile add: region slug'}, 'sticky': {'type': 'boolean', 'description': 'Mobile add: keep the same IP per port'}, 'context': {'type': 'string', 'description': 'Explain in 15-25 words, in third person, why this tool is called and how it supports the user\'s goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer\'s recent orders to investigate a billing issue and help support determine the appropriate resolution."'}, 'country': {'type': 'string', 'maxLength': 10, 'description': "Mobile add: geo targeting for the ports, e.g. 'us'"}, 'orderId': {'type': 'string', 'description': "The proxy service's orderId (from list_proxies)"}, 'protocol': {'enum': ['HTTP', 'SOCKS5'], 'type': 'string', 'description': 'Mobile add: protocol for the allocated ports'}, 'llm_model': {'type': 'string', 'description': 'The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.'}, 'ports_count': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Mobile add: number of ports to allocate'}}}
近期工具变更
类似的 MCP 服务器
LiveDataLink
Exposes public-data tools covering economics, labor, banking, transport, books, legal opinions, carriers, environmental data, and…
Stratalize Healthcare
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
Stratalize Governance
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
Stratalize Oracle
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
Stratalize Real Estate
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
Stratalize Crypto & DeFi
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
Valuein — SEC EDGAR Fundamentals & Smart-Money Data
Provides point-in-time SEC EDGAR fundamentals, filings, ownership signals, financial analysis, valuation models, research reports…
equibles
Provides equity and market research tools covering SEC filings, company financials, portfolios, prices, options, macroeconomic da…