Tool search 101,866 tools · 5,225 live servers
Filters
- consult
Vaaya's consultant. Describe ANY external capability you or the user might want — generate an image/video, search or scrape the web, run code in a sandbox, send/receive email, enrich a contact — and it helps figure out the best way, teaching the user what Vaaya can do. It is CONVERSATIONAL and remembers prior turns. It returns: mode='converse' (a reply to RELAY to the user verbatim — questions, options, ideas; get the user's response and call consult again with it, so the conversation continues), mode='call' (an ordered list of calls to run via `use`, with a message explaining the preferred choice + alternatives + why; multi-step results may contain placeholders like '<from step 1: sandbox_id>' — run earlier steps first and substitute), or mode='unsupported'. Every reply includes `suggestions` (2-3 things to do next) — surface these to the user. AFTER you run a `call` result's calls via `use`, call consult ONE more time with a short note on the outcome (what was produced / any failures) — it returns result-aware, Vaaya-grounded next steps to offer the user (the `call` result's `after_running` field reminds you). Call consult whenever you hit a capability gap or the user wants to know what's possible. It does NOT execute or bill — you run returned calls via `use`. ALWAYS show the user consult's `message` and `suggestions` and let them steer.
- brand_assets
Scrape a domain's homepage `<head>` for public brand assets — favicon, og:image, theme-color, og:site_name, JSON-LD `Organization.logo`. Use to enrich CRM records, build company-card UIs, or correlate a lead's site to their visual identity (no manual screenshot required). Strictly homepage-only (path `/`); we do NOT crawl. Ethical floor: target's robots.txt is honoured — `Disallow: /` for ContrastAPI OR `*` returns 403 `error.code = robots_txt_disallow` and we DO NOT fetch. `Cache-Control: no-store` / `private` from the target is respected (response is built but NOT written to our cache; `cache_respected=false` flags this). Per-target eTLD+1 throttle (60 req/min) prevents weaponising via subdomain rotation. All URL fields are absolute and `_untrusted` (DO NOT execute or shell-out — the target controls these strings). Free: 30/hr, Pro: 500/hr. Returns {domain, fetched_url, status_code, favicon_url_untrusted, og_image_url_untrusted, theme_color, site_name_untrusted, logo_url_untrusted, cache_respected, summary}. Returns 502 on DNS/TCP/TLS failure; 403 `robots_txt_disallow` when the target opted out.
Freshcontextio.github.PrinceGabriel-lgtm/freshcontextAVerified- evaluate_context
Evaluate caller-provided candidate context and return decision-ready output. This is the primary FreshContext judgment path: it does not fetch, crawl, scrape, browse, read folders, or call adapters.
- extract_yc
Scrape YC company listings from a ycombinator.com/companies search URL. Returns name, batch, status, tags, and description per company. Freshness is unknown — YC listings carry no reliable per-company update date.
OpenChainBenchio.github.Flotapponnier/openchainbenchAVerified- query_prom
Direct PromQL passthrough for advanced questions that don't map cleanly to `list_benchmarks` / `get_benchmark`, e.g. "what was Mobula's p50 head-lag yesterday at 14:00 UTC" or "plot bridge fees over the last hour". Prefer the higher-level tools first; reach for this when you need: • a custom time window (instant query at a specific point, or range) • a derived metric (rates, ratios, deltas) • a histogram bucket aggregation across chains/regions Allowed metric namespaces (one prefix per OCB bench family): head_lag_seconds (aggregator latency) bridge_quote_latency_ms*, bridge_cost*, bridge_fees*, bridge_fix_fee*, bridge_gas*, bridge_output*, bridge_estimated_time*, bridge_quote_success l1_finality_*, l2_block_time_* metadata_coverage_*, metadata_api_latency_*, network_coverage_*, networks_supported, wallet_labels_* perp_fees_*, perp_funding_*, perp_venue_*, perp_execution_*, ocb_buyback_*, ocb_oracle_*, ocb_validator_*, ocb_chain_* gas_error_*, gas_predicted_*, gas_realized_*, gas_oracle_* peg_* (stablecoin peg, both variants) solana_landing_* (TX landing observational + active) rpc_latency_*, rpc_call_total, rpc_health, rpc_archive_depth_supported relay_*, per_swap_margin_usd (bridge revenue) Queries referencing other metrics (operational/internal ones like `up`, `scrape_*`, `process_*`, `go_*`, `wallet_balance_*` or any label- enumeration shape) are refused with `{error, reason}`. Example: instant p50 over 1h for Mobula head-lag on Base: query_prom({ query: "quantile_over_time(0.5, head_lag_seconds{aggregator=\"mobula\",chain=\"base\"}[1h]) * 1000" }) Example: 7-day sparkline of average bridge fees: query_prom({ query: "avg_over_time(bridge_fees_percent[1d])", windowSec: 604800, steps: 168 }) Returns: `{ query, value }` for instant queries, `{ query, windowSec, series }` for range.
- search_amazon
[Amazon SERP scrape] Run a real Amazon keyword search and return the first-page ASIN list. Use when: user says "search Amazon for X" / "who sells X" / "top results for keyword X" / "competitors for X"; or you need a list of ASINs for a keyword as upstream input to deeper analysis. Don't use: for a single ASIN detail (use get_amazon_product); for category bestseller ranks (use list_bestsellers); for Google/external demand on the term (use ai_search or keyword_trends). Returns (format='json', default): data.json[0].data.{ pageIndex, nextPage, keyword, results[{ asin, title, price, star, rating, sales, badge, rank, sponsored, image, delivery }] } — ~22 rows/page. **Pagination**: use the 'page' param (default 1, 1-based); response's 'nextPage' holds the next page number, 'nextPage=null' means last page reached. Pair with: ↓ feed results[].asin into get_amazon_product / get_amazon_reviews for single-product deep-dive; ↓ feed the same keyword into keyword_trends to compare in-site vs external demand. Cost: ~1 point/page, ~5s. **Only paginate when the user explicitly asks for more / Top-N (N>22) / all results** — otherwise the first page is enough.
- get_amazon_product
[Amazon single-product detail] Scrape the full PDP for one ASIN. Use when: user supplies a specific ASIN ("look at B0XXXXXXXX" / "check this product's price/rating/seller" / "analyse this competitor"); or as a SOP step after candidate ASINs are picked. Don't use: for many products at once (use search_amazon or list_* series for lists); for reviews only (use get_amazon_reviews — cheaper and more focused). Returns (format='json', default): data.json[0].data.results[0] = { asin, title, itemName, itemHighlights, price, star, rating, brand, seller{name,id}, parentAsin, shippingFee (buyer shipping fee as a number, e.g. "750"; "0" when free shipping or no info, varies by the zipcode address), ratingDistribution[], aiReviewsSummary, bestSellersRankItems, reviews[{date,star,content,helpful,...}], productOverview[], features[], productDescription[], images[], variantDetails[], attributes[], category_id, breadCrumbs, ... } — 30+ fields (variantDetails summary included). Title fields (Amazon split the title into two parts starting 2026-07-27): title=the full raw title string (for rolled-out listings it contains a " | " separator, unsplit); itemName=the title body (the part before " | ", i.e. the product name, ≤75 chars); itemHighlights=the title highlights (the part after " | ", e.g. material/use-case/selling points, ≤125 chars). For legacy (not-yet-rolled-out) listings itemName=the full title and itemHighlights is an empty string. Use itemName for the clean product name, itemHighlights for selling points. Pair with: ↑ asin typically comes from search_amazon / list_bestsellers / filter_niches; ↓ feed the same asin into get_amazon_reviews for more reviews (the PDP carries only ~5-10). Cost: ~1 point/call, ~5s.
- get_amazon_reviews
[Amazon review batch scrape] Page-fetch real buyer reviews for an ASIN. Filterable by star / sort / media type. Use when: user says "look at X's negative reviews" / "mine pain points" / "analyse competitor reviews" / "do VOC" / "find user complaints for Listing copy"; or pre-launch critical-review scan; or finding improvement points for listing optimization. Don't use: when the few reviews already in the PDP would suffice (get_amazon_product carries 5-10 reviews + aiReviewsSummary — enough for a quick read); for keyword search (use search_amazon). Returns: data.json[0].data.results[{ reviewId, date, country, star, title, content, author, authorId, authorLink, imgs[], videos, purchased, vineVoice, helpful, attributes }] — ~10 reviews per page. Pair with: ↑ asin typically from search_amazon / get_amazon_product / list_bestsellers; ↓ review text can be fed directly to an LLM for pain-point clustering and keyword extraction. Cost: **10 points per page** (expensive). Start with pageCount=1 to confirm data, scale to 3-5 only when needed. Prefer filterByStar='critical' — highest signal density. Tips: filterByStar = all_stars / five_star ... one_star / positive / critical; sortBy = recent (default) | helpful; mediaType = all_contents (default) | media_reviews_only (with photos/videos, higher credibility).
- ai_search
[AI Search via Google SERP] Scrape publicly-available Google search results (data source: Google; use must comply with Google Terms of Service) with top AI Overview, organic results, and related searches. Two modes: overview (standard SERP) / ai_mode (immersive multi-turn conversational search). Use when: user says "Google for me" / "external demand" / "what do people say about X" / "Reddit/Quora pain points" / "will my content be cited in AI search" / "find user complaints for keyword X"; "consumer voice" step in scouting SOPs; verifying whether a new product concept has off-Amazon demand; **see which Google Shopping ads competitors run / their ad landing pages** (the sponsered block). Don't use: for on-Amazon search (use search_amazon); when only the trend curve matters (use keyword_trends — cheaper and tighter). Returns: data.{ results_num, ai_overview, json.items[ { type:'ai_overview', items:[{content:[...], references:[{title,url,domain}]}] }, { type:'organic', items:[{title,url,text}] }, { type:'related_searches', items:[...] }, { type:'sponsered', items:[{type:'result', url, position:'top'|'bottom', title_of_page, title_above_url}] } ], screenshot, taskId }. ⚠️ The ad block's upstream type is literally spelled 'sponsered' (missing an o — not a typo on our side; match it verbatim, do NOT look for 'sponsored') — it carries Google ad (shopping + text) landing-page url, title (title_of_page), and displayed brand domain (title_above_url). **position** marks whether the ad appears at the top ('top') or bottom ('bottom') of the page — top ads carry higher exposure weight. Pair with: ↑ query inferred from user; in 'ai_mode' pass followups[1..5] for multi-turn; ↓ ai_overview.references[].url for authoritative external sources, organic items for content-competition analysis, sponsered[].url + title_above_url for competitors' paid landing pages and brands, split by position into top/bottom ad slots. Cost: ~2 points/call, ~30s (**slow** — Google AI render time). Tips: prefer overview for single queries (cheaper); use ai_mode only when you need decomposed multi-turn investigation. Followups > 5 visibly slow down responses.
- scrape_url
[Generic Amazon scrape — power-user escape hatch] Scrape pages the 5 purpose-built tools don't cover. Two input modes (pick one): ① content=bare fragment (keyword / nodeId / sellerId / ASIN) + site — backend builds a basic URL per parserName. **content mode carries NO filter/sort/pagination** — it's just the bare fragment. Best for simple pages when you only have the fragment. ② url=full Amazon link — **put ANY filter/sort/pagination into this url** (the only way, since content mode can't). Filter syntax examples: price $25-50 → '/s?k=earbuds&low-price=25&high-price=50'; sort by reviews → '&s=review-rank'; paginate → '&page=2'; category+price → '/s?i=aps&rh=n%3A172282&fs=true&low-price=25'. Use when: a standard tool can't build the target URL — "search X but only $25-50" / "results sorted by reviews" / "category filtered by price"; or the user already has a specific Amazon link. For any filtering, use url mode. Don't use: when a purpose-built tool fits — plain keyword search → search_amazon, single ASIN → get_amazon_product, seller → list_seller_products, category ranks → list_bestsellers/list_new_releases. Returns (format='json'): data.json[0].data.{ ... results[] ... }, shape depends on parserName. ⚠️ If content/url doesn't match parserName, the backend returns data.{ status_code, rawHtml, url } (unparsed). Pair with: ↓ feed asin into get_amazon_product / get_amazon_reviews. Cost: ~1 point/call, ~5s. ⚠️ Pass exactly one of content / url (both or neither errors); filtering/pagination requires url mode; parserName must match the page type.
- search_amazon_alexa
[Amazon Rufus AI conversational recommendations] Ask Amazon's AI shopping assistant Rufus in natural language, get grouped structured product recommendations + Rufus text reply + follow-up questions. Use when: user says "ask Amazon AI X" / "Rufus recommendations" / "find products conversationally" / "products for a scene (gifting / camping / moving)" / "open-ended sourcing" / "I have no keyword, just a scenario". Don't use: when you already have a clear keyword and want SERP (use search_amazon); category bestseller ranks (use list_bestsellers); single-ASIN detail (use get_amazon_product); Google-side AI search (use ai_search). Returns: data.json[{ prompt, content, products[{ title, items[{ asin,url,title,cover,score,ratingsCount,price,originalPrice,describe }] }], follow_up_questions[], screenshot }] + top-level taskId / url / screenshot. Note: follow_up_questions is snake_case (passed through from backend verbatim). Pair with: ↓ feed asin into get_amazon_product / get_amazon_reviews for deep-dive; follow_up_questions can seed the next round's prompts for multi-turn exploration. Cost: **6 points PER PROMPT** (billed by prompts count, NOT a flat 6 per call; N prompts = N×6 points). ⚠️ **Slow tool**: **strongly prefer sending exactly 1 prompt per call**. A single prompt typically takes **60–90s** (Rufus generates the conversation live — far slower than a normal scrape); multiple prompts add up linearly and **can exceed 200s**, costing both time and points. Treat this as a long-running call: set your MCP client's per-tool-call timeout to **≥120s** (many clients default to a 60s silent timeout that aborts before this tool returns, making the agent wrongly report it as "unavailable"), and do NOT retry or fire concurrent duplicate calls just because it didn't return instantly. When you send a progressToken, the server emits a progress heartbeat every 15s to keep spec-compliant clients' timers alive. For several needs, make several single-prompt calls rather than batching them.
Wattcoin Serverio.github.WattCoin-Org/wattcoin-mcp-serverAVerified- web_scrape
Scrape a web page via WattCoin's network. 100 WATT per request.
Courtlistener Serverio.github.cyanheads/courtlistener-mcp-serverAVerified- courtlistener_lookup_courts
List courts with optional filtering by jurisdiction type, active/inactive status, and scraper coverage. Primarily used to discover court IDs for use in search and filter parameters across all other courtlistener tools. Defaults to the active bench — the courts CourtListener still scrapes; pass status:'inactive' for historical courts or status:'any' for every court. A bundled snapshot returns the complete list of matching court IDs without paging whenever the filtered set fits the response budget, which covers the default bench and every jurisdiction filter. Full court records — names, citation strings, scraper status — come live from CourtListener at a fixed 20 rows per page, so pull those only when a court ID alone is not enough.
Equiblesio.github.daniel3303/equiblesAVerified- GetInvestorRelationsNews
Get recent investor-relations press releases for a stock, scraped from the company's IR website. Returns the most recent news items (headline, publish date, summary when the source provides one, and link) in reverse-chronological order. Use this to see a company's latest official announcements straight from its IR page, distinct from third-party news. Coverage is partial — only companies whose IR page has been discovered and content-scraped have items, so an empty answer may be a coverage gap rather than corporate silence; the response says which case applies.
- GetInvestorRelationsEvents
Get upcoming investor-relations events for a stock — earnings webcasts, conference appearances, presentations, and shareholder meetings — scraped from the company's IR website. Returns events scheduled from now onward, soonest first, optionally filtered by event type. Coverage is partial — an empty answer distinguishes a coverage gap from a genuinely empty calendar. Only future events are returned; for past events and their transcripts use ListInvestorEvents / GetInvestorEventSpeakers.
HyperXosist-Agent Remote MCPio.github.KG-NINJA/hyperxosist-agentAVerified- hyperxosist_search_plan
Use only for specialized X (Twitter) research planning: complaints, bug reports, feature requests, product feedback, or community signals. Builds multiple noise-reduced official x.com/search URLs and quality scores. It is not general web search and does not scrape X or collect posts.
- hyperxosist_filter_signals
Use after X posts or tweet text have already been collected. Separates actionable bugs, feature requests, and UX friction from empty praise, engagement bait, and spam. It does not fetch, scrape, or search X.
- hyperxosist_build_handoff
Use to turn previously collected X feedback into a structured Signal-to-Fix package and coding-agent prompt. It does not perform general summarization, search the web, scrape X, or modify source code.
Pricewatchaio.github.pricewatcha/pricewatchaAVerified- get_job_status
Poll an async tracking job by job_id. Returns status (queued, running, completed, or failed). On completion, product is populated; on scrape failure, error is populated (HTTP 200 job lookup — not a transport error). On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.
- search_products
Search Partle's product catalog by name or description. Two distinct modes: - **Default (no flags)** — fast keyword search. ~100ms. Acts like a normal "dumb" search box: matches the literal words you typed against product names and descriptions, with stemming. Good for queries where the user knows the product's likely name ("BC547", "Arduino Uno", "Bosch drill"). Returns noisy/wrong results on cross-language or attribute queries ("compost bin" matches Spanish "composta", not real composters). - **`super_search=True`** — slow, high-quality. ~1–2s. Run when the user describes what they want rather than naming it: cross-language ("Schraubenzieher Set" → real screwdriver sets even without German catalog entries), attribute-style ("small metal part with a flat head"), or any case where the default returns junk. Embeds the query with voyage-3-large, takes the cosine top-50 over the corpus (with an exact-name precision boost for part numbers), then a cross-encoder reranks them. The two modes are mutually exclusive in practice — pick one based on whether the user knows the product's name or is describing it. Use this when the user asks to find a specific product or browse products matching a query. Prefer over `search_stores` when the intent is product-led ("find a drill") rather than store-led. Use `get_product` afterwards if the user wants full details for one specific result. Read-only. No authentication. Rate-limited to 100 requests/hour per IP. Args: query: Free-text search term. In default mode, treated as keywords (each word matched against product text). In `super_search=True`, treated as a natural-language description. min_price: Lower bound on price in EUR. Omit for no lower bound. Null-priced rows are NOT excluded by this filter — pass `has_price=True` if you need only priced listings. max_price: Upper bound on price in EUR. Omit for no upper bound. Tip — narrow by budget: `min_price=10, max_price=50, sort_by="price_asc", has_price=True`. Products without a listed price (a large fraction of the scraped catalog) sort last under either price ordering and are kept in results unless `has_price` filters them out. tags: Comma-separated tag filter (e.g. "electronics,bluetooth"). Tags are AND-ed together. store_id: Restrict results to a single store. Use the integer `id` from `search_stores` results. sort_by: One of `price_asc`, `price_desc`, `name_asc`, `newest`, `oldest`. Omit to use the default search-relevance ranking. has_price: When True, exclude products without a listed price (~most of the scraped catalog). Use this for competitive pricing or budget-bounded shopping. When False, return only null-priced listings (rarely useful). Omit to include both. semantic: Legacy flag. Pure vector ordering, ~250ms. Mostly superseded by `super_search=True` (which uses the same vector retrieval plus a cross-encoder rerank for materially better ordering at the cost of another ~700ms). Keep using it only if you specifically want vector retrieval *without* the rerank. super_search: **Enable for natural-language / "describe what I want" queries.** ~1–2s. Embeds the query with voyage-3-large, takes the cosine top-50 (with a precision boost for exact-name matches like part numbers / SKUs), then a cross-encoder reranks them. Use whenever the user is describing rather than naming — cross-language ("Schraubenzieher Set"), attribute-style ("small black metal bracket"), or any case where the default keyword path returns junk. Don't combine with cheap browse-style queries where the user typed an exact product name — keyword default is faster there. On `relevance_score` here: better than the bi-encoder cosine, but still not a "did I find what the user wanted" gauge. Behavior to expect: gibberish or fully-off-topic queries cap around 0.35; loosely-related catalogue clusters can score 0.7+ even when no item truly matches (a "ceramic vase" query in a catalog with no vases but many ceramic flowerpots will still score high). **Read the product names** before claiming a match. The score is most useful as a relative signal within one result set — a sharp drop between rank N and N+1 marks where the catalog stops being useful for this query. limit: Max results (1–100, default 20). Larger limits are slower and consume rate budget faster. offset: Skip this many results before returning. Use for pagination (offset += limit on each follow-up call). Returns: A list of products. Each includes `id`, `name`, `price`, `currency`, `url`, `description`, `store` (id/name/address), `tags`, `images`, a canonical `partle_url`, and `relevance_score` (cosine similarity 0–1 between the query and the product's embedding when a query was provided; `None` otherwise). **Always share `partle_url` with the user so they can view the listing.** Caveat on `relevance_score`: it is monotonic *within a single search result set* (useful for spotting a big drop-off between rank 3 and rank 4), but its absolute value is not well-calibrated across queries — most results land in 0.55–0.80 regardless of whether the catalog has truly relevant items. Don't infer "this is a great match" from a 0.75 score alone.
- upload_product_image
Attach an image to an existing product by giving Partle a public URL to download the image from. Authenticated. OAuth (scope `products:write`) preferred; `api_key` fallback. **When to use this tool**: the image is already hosted at a public URL (a scraped product page, an Imgur link, a CDN URL the user provided). Partle's server fetches it and stores it. **When NOT to use this tool**: you have local image bytes (a file the user attached, or bytes you generated/downloaded in your sandbox). Sending those bytes through a tool argument blows past conversation context limits — phone-photo-sized payloads can be 6+ MB of base64. Instead, in your code-execution sandbox, POST the file directly to the HTTP endpoint with multipart encoding: requests.post( "https://partle.rubenayla.xyz/v1/external/products/{product_id}/images", files={"file": open("/path/to/photo.jpg", "rb")}, headers={"X-API-Key": "pk_..."}, ) Or, to create the listing and attach an image in one HTTP request: requests.post( "https://partle.rubenayla.xyz/v1/external/products", data={"metadata": json.dumps({"name": ..., "price": ...})}, files={"image": open("/path/to/photo.jpg", "rb")}, headers={"X-API-Key": "pk_..."}, ) Args: product_id: ID of the product to attach the image to. image_url: Publicly fetchable URL of the image. Server fetches it and stores it. api_key: Optional API key (`pk_*`, generate at /account). Used when there is no OAuth token, and also when the OAuth token lacks the required scope — an explicitly passed key overrides an ambient token that is scoped too narrowly. An invalid or revoked token still fails regardless. Omit when using OAuth. Returns: The created `ProductImage` record with its `id` (use for deletion) and storage path, or ``{"error": ...}`` on validation/auth failure.
Company Enrichment APIio.github.Br0ski777/company-enrichmentAVerified- company_enrich_from_domain
Enrich an organization's profile by domain. Alternative to Apollo org-enrich at 5x lower cost. Returns structured JSON with firmographic data, socials, tech stack, and contact info scraped from the website. 1. name (string) -- company name 2. description (string) -- company description / tagline 3. socials (object) -- LinkedIn, Twitter, Facebook, GitHub, Instagram URLs 4. techStack (array) -- detected CMS, frameworks, analytics tools 5. contactEmail (string) -- primary contact email from mailto: links 6. phone (string) -- phone number from tel: links 7. address (string) -- physical address from schema.org structured data 8. industry (string) -- detected industry vertical 9. logo (string) -- logo URL if found Example output: {"name":"Stripe","description":"Financial infrastructure for the internet","socials":{"linkedin":"https://linkedin.com/company/stripe","twitter":"https://twitter.com/stripe"},"contactEmail":"info@stripe.com","techStack":["React","Next.js","Cloudflare"],"address":"354 Oyster Point Blvd, South San Francisco, CA"} Use this BEFORE sales outreach, CRM enrichment, competitive research, or account-based marketing. Essential for qualifying leads and enriching organization profiles from just a domain. Drop-in replacement for Apollo company enrichment. Do NOT use for tech stack only -- use website_detect_tech_stack instead. Do NOT use for SEO data -- use seo_audit_page instead. Do NOT use for person data -- use person_enrich_from_email instead. Do NOT use for domain WHOIS/DNS -- use domain_lookup_intelligence instead.
AI Text Summarizer APIio.github.Br0ski777/ai-summarizerAVerified- ai_summarize_text
Use this when you need to summarize long text into concise key points. Returns a structured summary with bullet points and reading metrics. 1. summary: condensed text summary (respects maxLength) 2. keyPoints: array of 3-7 extracted key takeaways 3. wordCountOriginal: word count of input text 4. wordCountSummary: word count of output summary 5. reductionPercent: percentage of text reduced (e.g. 78%) 6. readingTimeMinutes: estimated reading time for the summary Example output: {"summary":"The article discusses...","keyPoints":["AI adoption grew 40%","Enterprise spending up"],"wordCountOriginal":2500,"wordCountSummary":180,"reductionPercent":92,"readingTimeMinutes":1} Use this BEFORE presenting lengthy content to users. Essential for digesting articles, reports, meeting notes, or documentation into actionable summaries. Do NOT use for full content extraction -- use web_scrape_to_markdown. Do NOT use for SEO analysis -- use seo_audit_page. Do NOT use for sentiment analysis -- use text_analyze_sentiment.
- ai_summarize_url
Use this when you need to summarize a web page by URL. Fetches the page, extracts text, and returns a structured summary with key points and reading metrics. 1. summary: condensed text summary of the page content 2. keyPoints: array of 3-7 key takeaways from the page 3. wordCountOriginal: word count of the full page text 4. wordCountSummary: word count of the summary 5. reductionPercent: percentage of content reduced 6. readingTimeMinutes: estimated reading time for the summary 7. title: page title extracted from HTML Example output: {"title":"OpenAI Blog","summary":"The post announces...","keyPoints":["GPT-5 launches Q3","API pricing drops 50%"],"wordCountOriginal":4200,"wordCountSummary":200,"reductionPercent":95,"readingTimeMinutes":1} Use this BEFORE citing or referencing web articles. Essential for quickly understanding web pages without reading the full content. Do NOT use for full content extraction -- use web_scrape_to_markdown. Do NOT use for SEO analysis -- use seo_audit_page. Do NOT use for screenshot capture -- use capture_screenshot.
SEO Page Analyzerio.github.Br0ski777/seo-analyzerAVerified- seo_audit_page
Use this when you need to analyze a webpage's on-page SEO health. Returns a structured JSON audit with score 0-100 and prioritized recommendations. 1. score (number 0-100) -- overall SEO health score 2. title -- tag content, length, keyword presence 3. metaDescription -- content, length, truncation risk 4. canonical -- canonical URL and self-referencing check 5. headings -- H1/H2/H3 hierarchy, count, missing H1 flag 6. links -- internal count, external count, broken link flags 7. images -- total count, missing alt text count 8. schema -- Schema.org types detected (Article, Product, FAQ, etc.) 9. openGraph -- og:title, og:image, og:description completeness 10. performance -- page load time in ms, word count 11. issues -- prioritized array of problems with severity (critical/warning/info) Example output: {"score":72,"title":{"content":"My Page","length":7},"headings":{"h1":1,"h2":3},"images":{"total":5,"missingAlt":2},"issues":[{"severity":"critical","message":"Missing meta description"}]} Use this BEFORE optimizing any webpage, writing SEO recommendations, or auditing a client's site. Essential for competitive page-level analysis and content audits. Do NOT use for content extraction -- use web_scrape_to_markdown instead. Do NOT use for screenshots -- use capture_screenshot instead. Do NOT use for tech detection -- use website_detect_tech_stack instead. Do NOT use for domain-level data (WHOIS/DNS) -- use domain_lookup_intelligence instead.
- seo_audit_batch
Use this when you need to compare SEO health across multiple pages at once (up to 10 URLs). Returns the same full audit as seo_audit_page for each URL in a single call. 1. results (array) -- each entry contains the full SEO audit (score, title, meta, headings, links, images, schema, issues) 2. summary -- average score, worst-performing URL, most common issues across all pages Example output: {"results":[{"url":"https://a.com","score":85},{"url":"https://b.com","score":62}],"summary":{"avgScore":73,"worstUrl":"https://b.com"}} Use this FOR competitor analysis, sitemap audits, or comparing landing pages side by side. Essential when benchmarking multiple pages in one workflow. Do NOT use for single URLs -- use seo_audit_page instead. Do NOT use for content extraction -- use web_scrape_batch instead.
Web Search APIio.github.Br0ski777/web-searchAVerified- web_search_query
Semantic web search for finding relevant pages, documents, and current information. Alternative to Exa search at 3x lower cost. Returns structured JSON results with ranked matches, titles, URLs, and text snippets. 1. results (array) -- ranked list of search results 2. results[].title (string) -- page title 3. results[].url (string) -- full URL to the page 4. results[].snippet (string) -- relevant text excerpt with query terms highlighted 5. query (string) -- the search query used 6. totalResults (number) -- number of results returned Example output: {"query":"best CRM for startups 2026","results":[{"title":"Top 10 CRMs for Startups in 2026","url":"https://blog.example.com/crm-startups","snippet":"HubSpot leads the pack for early-stage startups with its free tier..."},{"title":"CRM Comparison Guide","url":"https://review.example.com/crm","snippet":"We tested 15 CRM platforms across pricing, features..."}],"totalResults":5} Use this BEFORE answering questions about current events, finding documentation, researching competitors, or gathering data on any topic. Essential for semantic web search when the agent needs up-to-date information beyond its training data. Drop-in replacement for Exa search. Do NOT use for web page content extraction -- use web_scrape_to_markdown instead. Do NOT use for SEO analysis -- use seo_audit_page instead. Do NOT use for screenshot capture -- use capture_screenshot instead. Do NOT use for company data -- use company_enrich_from_domain instead.
Send16io.github.spruikco/send16-mcpAVerified- generate_email_from_url
Scrape a URL (e.g. a launch blog post or product page) and generate an email draft from its content. Returns subject, preview text, and HTML body.
Screenshot & PDF Capture APIio.github.Br0ski777/screenshot-pdfAVerified- capture_screenshot
Use this when you need a visual capture of a web page. Renders in a real Chromium browser and returns an image. Returns: 1. Binary image (PNG, JPEG, or WebP) 2. Custom viewport support (width/height in px) 3. Full-page scroll capture option 4. Configurable format and quality. Example output: binary image file with Content-Type image/png, typical size 200-800KB for a full page. Use this BEFORE visual QA testing, generating page thumbnails, archiving web pages, or verifying responsive design. Essential for automated screenshot pipelines and visual regression testing. Do NOT use for text extraction -- use web_scrape_to_markdown instead. Do NOT use for PDF from data -- use document_generate_pdf instead. Do NOT use for PDF from URL -- use webpage_to_pdf instead.
- capture_screenshot
Use this when you need a visual capture of a web page. Renders in a real Chromium browser and returns an image. POST variant of capture_screenshot -- same params passed as JSON body instead of query string. Returns: 1. Binary image (PNG, JPEG, or WebP) 2. Custom viewport support (width/height in px) 3. Full-page scroll capture option 4. Configurable format and quality. Example output: binary image file with Content-Type image/png, typical size 200-800KB for a full page. Use this BEFORE visual QA testing, generating page thumbnails, archiving web pages, or verifying responsive design. Essential for automated screenshot pipelines and visual regression testing. Do NOT use for text extraction -- use web_scrape_to_markdown instead. Do NOT use for PDF from data -- use document_generate_pdf instead. Do NOT use for PDF from URL -- use webpage_to_pdf instead.
- webpage_to_pdf
Use this when you need to convert a live web page to a printable PDF document. Renders in a real Chromium browser and returns binary PDF. Returns: 1. Binary PDF file 2. Configurable paper format (A4, Letter, Legal, Tabloid) 3. Print-optimized layout with proper page breaks. Example output: binary PDF file with Content-Type application/pdf, properly paginated with headers/footers. Use this FOR archiving web pages as PDF, generating printable articles, saving receipts or invoices from URLs, or creating offline documentation snapshots. Do NOT use for custom documents from HTML/Markdown -- use document_generate_pdf instead. Do NOT use for screenshots -- use capture_screenshot instead. Do NOT use for web scraping text -- use web_scrape_to_markdown instead.
- webpage_to_pdf
Use this when you need to convert a live web page to a printable PDF document. Renders in a real Chromium browser and returns binary PDF. POST variant of webpage_to_pdf -- same params passed as JSON body instead of query string. Returns: 1. Binary PDF file 2. Configurable paper format (A4, Letter, Legal, Tabloid) 3. Print-optimized layout with proper page breaks. Example output: binary PDF file with Content-Type application/pdf, properly paginated with headers/footers. Use this FOR archiving web pages as PDF, generating printable articles, saving receipts or invoices from URLs, or creating offline documentation snapshots. Do NOT use for custom documents from HTML/Markdown -- use document_generate_pdf instead. Do NOT use for screenshots -- use capture_screenshot instead. Do NOT use for web scraping text -- use web_scrape_to_markdown instead.
OCR Text Extraction APIio.github.Br0ski777/ocr-extractAVerified- media_extract_text_from_image
Use this when you need to extract text from an image. Accepts an image URL or base64-encoded image data. Returns the extracted text, word count, confidence score, and detected language. Do NOT use for web page text extraction — use web_scrape_to_markdown instead. Do NOT use for PDF text extraction — use document_generate_pdf instead. Do NOT use for taking screenshots — use capture_screenshot instead.
Twitter Scraper APIio.github.Br0ski777/twitter-scraperAVerified- twitter_scrape_profile
Use this when you need to look up a Twitter/X user profile by username or URL. Returns structured profile data including bio, follower/following counts, tweet count, verification status, and recent activity. 1. username: the @handle 2. displayName: full name 3. bio: profile description text 4. followers: follower count 5. following: following count 6. tweetCount: total tweets posted 7. verified: blue checkmark status 8. createdAt: account creation date 9. avatarUrl: profile picture URL 10. bannerUrl: header image URL 11. location: stated location 12. website: linked URL 13. pinnedTweet: text of pinned tweet if any Example output: { "username": "elonmusk", "displayName": "Elon Musk", "bio": "...", "followers": 195000000, "following": 850, "tweetCount": 45000, "verified": true, "createdAt": "2009-06-02" } Use this FOR social media due diligence, influencer research, competitor monitoring, or verifying the legitimacy of an account before trusting its content. Do NOT use for tweet search -- use twitter_search_tweets instead. Do NOT use for trust/security scoring -- use trust_score_evaluate instead. Do NOT use for email lookup from social -- use email_find_by_name instead.
- twitter_search_tweets
Use this when you need to find tweets about a topic, brand, event, or keyword. Returns up to 20 recent tweets matching the query with full text, engagement metrics, author info, and timestamps. 1. query: the search term used 2. results: array of tweet objects 3. Each tweet contains: id, text, author (username + displayName), createdAt, likes, retweets, replies, views, url 4. resultCount: number of tweets found Example output: { "query": "x402 protocol", "resultCount": 15, "results": [{ "id": "1234567890", "text": "x402 is the future of agent payments...", "author": { "username": "web3dev", "displayName": "Web3 Dev" }, "likes": 42, "retweets": 12, "replies": 5, "views": 1200, "createdAt": "2026-04-13T09:30:00Z" }] } Use this FOR market sentiment analysis, brand monitoring, competitor tracking, news discovery, trend detection, or finding what people say about a topic in real-time. Do NOT use for profile data -- use twitter_scrape_profile instead. Do NOT use for web search (non-Twitter) -- use web_search_query instead. Do NOT use for sentiment analysis of text -- use text_analyze_sentiment instead. Do NOT use for crypto news -- use crypto_get_news instead.
- twitter_get_user_tweets
Use this when you need to see what a specific Twitter/X user has been posting recently. Returns their latest tweets with full text, engagement metrics, and timestamps. 1. username: the @handle queried 2. tweets: array of tweet objects with id, text, createdAt, likes, retweets, replies, views, isRetweet, isReply 3. tweetCount: number of tweets returned Example output: { "username": "VitalikButerin", "tweetCount": 10, "tweets": [{ "id": "...", "text": "Excited about the new EIP proposal...", "likes": 5200, "retweets": 890, "views": 250000, "createdAt": "2026-04-12T14:00:00Z", "isRetweet": false }] } Use this FOR monitoring specific accounts, tracking influencer activity, analyzing posting patterns, or gathering content from thought leaders. Do NOT use for profile bio/stats -- use twitter_scrape_profile instead. Do NOT use for topic search -- use twitter_search_tweets instead. Do NOT use for social profile lookup across platforms -- use social_lookup_profile instead.
URL Shortener APIio.github.Br0ski777/url-shortenerAVerified- utility_shorten_url
Use this when you need to shorten a long URL into a compact link. Accepts any valid URL and returns a shortened URL with the hash code, original URL, and creation timestamp. Do NOT use for domain intelligence — use domain_lookup_intelligence instead. Do NOT use for web scraping — use web_scrape_to_markdown instead. Do NOT use for SEO analysis — use seo_audit_page instead.
Mesh Connectorio.github.RightOnPar-LLC/mesh-connectorAVerified- safety-scrub
Safety Scrub — Redact sensitive data from text before logging it or sending it to a model. Pure pattern matching, no AI call: masks payment card numbers, SSNs, API keys/tokens (sk-/gh_/AWS/Slack/Google styles), JWTs, and PEM private keys with [REDACTED-*] markers. Use whenever user-supplied or scraped text may carry credentials. Input: {text: string}. Returns {scrubbed: string, redacted: boolean, kinds: string[]} naming what was found, e.g. ['card','ssn']. Best-effort, not a guarantee. (1 MESH/call, a tool · safety)
HTTP Headers Analyzer APIio.github.Br0ski777/http-headersAVerified- network_analyze_headers
Use this when you need to analyze HTTP response headers of a URL for security and configuration. Returns a full header audit in JSON. Returns: 1. allHeaders (raw key-value map) 2. securityScore (0-100) 3. securityHeaders (HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy -- present/missing) 4. server software detected 5. caching config (Cache-Control, ETag, Expires) 6. recommendations array. Example output: {"url":"https://example.com","securityScore":85,"securityHeaders":{"hsts":true,"csp":true,"xFrameOptions":true,"xContentType":true,"referrerPolicy":false},"server":"nginx","caching":{"cacheControl":"max-age=3600","etag":true},"recommendations":["Add Referrer-Policy header"]} Use this FOR security audits, DevOps monitoring, compliance checks, and verifying proper header configuration after deployment. Do NOT use for SSL certificate check -- use security_check_ssl instead. Do NOT use for web scraping -- use web_scrape_to_markdown instead. Do NOT use for GDPR compliance -- use compliance_scan_gdpr instead.
- fetch_html
Fetch the fully rendered HTML of any web page through the ScrapeUnblocker API (https://developers.scrapeunblocker.com), bypassing anti-bot protection (Cloudflare, DataDome, PerimeterX, Akamai, Shape). Use when a normal fetch is blocked (403/429, captcha) or the page needs a real browser. Returns raw HTML.
- fetch_parsed
Fetch a web page through the ScrapeUnblocker API (https://developers.scrapeunblocker.com) and return AI-parsed structured JSON instead of raw HTML (product details, article content, listings).
- google_search
Run a Google search through the ScrapeUnblocker API (https://developers.scrapeunblocker.com) and return organic results as JSON.
Code Sandbox APIio.github.Br0ski777/code-sandboxAVerified- code_execute_sandbox
Use this when you need to execute Python, JavaScript, or SQL code in a sandboxed environment and get the output. Supports Python (subprocess), JavaScript (eval), and SQL (in-memory SQLite). 1. output: stdout captured from code execution (max 10KB) 2. language: the language that was executed 3. executionTimeMs: execution duration in milliseconds 4. exitCode: process exit code (0 = success) 5. error: error message if execution failed (null on success) Example output: {"output":"Hello World\n42\n","language":"python","executionTimeMs":234,"exitCode":0,"error":null} Use this FOR running calculations, data transformations, validating code snippets, or querying in-memory databases. Essential when you need computed results rather than static data. Do NOT use for persistent file storage -- sandbox is ephemeral. Do NOT use for generating hashes -- use crypto_generate_hash. Do NOT use for PDF generation -- use document_generate_pdf. Do NOT use for web scraping -- use web_scrape_to_markdown.
Research Report APIio.github.Br0ski777/research-reportAVerified- research_generate_report
Use this when you need a comprehensive research report on any topic. Accepts a topic and optional depth parameter. Fetches multiple web sources, extracts key information, and compiles a structured report with summary, key findings, sources, and analysis. Returns markdown-formatted report. Do NOT use for simple web search — use web_search_query instead. Do NOT use for single page scraping — use web_scrape_to_markdown instead. Do NOT use for SEO analysis — use seo_audit_page instead.
User Agent Parser APIio.github.Br0ski777/user-agent-parserAVerified- utility_parse_user_agent
Use this when you need to parse a user agent string to identify the client's browser, OS, device type, and bot status. Returns fully structured data. 1. browser -- name and version (e.g. "Chrome 120.0") 2. os -- operating system name and version (e.g. "Windows 11") 3. device -- type (desktop, mobile, tablet), vendor, and model 4. engine -- rendering engine (Blink, Gecko, WebKit) 5. isBot -- boolean indicating if the UA belongs to a crawler/bot 6. botName -- name of the bot if detected (e.g. "Googlebot") Example output: {"browser":{"name":"Chrome","version":"120.0"},"os":{"name":"Windows","version":"11"},"device":{"type":"desktop","vendor":null,"model":null},"engine":"Blink","isBot":false,"botName":null} Use this FOR analytics pipelines that need to classify traffic by device or browser, detecting bot traffic in access logs, or adapting content based on client capabilities. Do NOT use for HTTP header analysis -- use utility_parse_http_headers instead. Do NOT use for web scraping -- use web_scrape_to_markdown instead. Do NOT use for SEO auditing -- use seo_audit_page instead.
Domain Intelligence APIio.github.Br0ski777/domain-intelligenceAVerified- domain_lookup_intelligence
Use this when you need comprehensive domain intelligence -- WHOIS, DNS, and SSL data in a single call. Returns structured JSON with full domain profile. 1. whois.registrar (string) -- domain registrar name 2. whois.createdDate (string) -- domain registration date 3. whois.expiryDate (string) -- domain expiration date 4. whois.nameservers (array) -- authoritative nameservers 5. dns.a (array) -- A records (IPv4 addresses) 6. dns.aaaa (array) -- AAAA records (IPv6 addresses) 7. dns.mx (array) -- mail exchange records with priority 8. dns.txt (array) -- TXT records (SPF, verification, etc.) 9. dns.ns (array) -- NS records 10. dns.cname (array) -- CNAME aliases 11. ssl.issuer (string) -- certificate authority (Let's Encrypt, DigiCert, etc.) 12. ssl.validFrom (string) -- certificate start date 13. ssl.validTo (string) -- certificate expiry date 14. ssl.daysRemaining (number) -- days until SSL expiry 15. domainAge (number) -- domain age in days Example output: {"whois":{"registrar":"Cloudflare","createdDate":"2010-01-15","expiryDate":"2027-01-15","nameservers":["ns1.cloudflare.com"]},"dns":{"a":["104.26.10.1"],"mx":[{"priority":10,"exchange":"mx.example.com"}]},"ssl":{"issuer":"Let's Encrypt","daysRemaining":45},"domainAge":5932} Use this BEFORE domain purchases, security audits, phishing investigations, or due diligence on vendors. Essential for checking domain legitimacy, SSL health, and DNS configuration. Do NOT use for company data -- use company_enrich_from_domain instead. Do NOT use for IP geolocation -- use ip_lookup_geolocation instead. Do NOT use for website content -- use web_scrape_to_markdown instead. Do NOT use for email deliverability -- use email_audit_deliverability instead.
- domain_lookup_intelligence
Use this when you need comprehensive domain intelligence -- WHOIS, DNS, and SSL data in a single call. Returns structured JSON with full domain profile. POST variant of domain_lookup_intelligence -- same params passed as JSON body instead of query string. 1. whois.registrar (string) -- domain registrar name 2. whois.createdDate (string) -- domain registration date 3. whois.expiryDate (string) -- domain expiration date 4. whois.nameservers (array) -- authoritative nameservers 5. dns.a (array) -- A records (IPv4 addresses) 6. dns.aaaa (array) -- AAAA records (IPv6 addresses) 7. dns.mx (array) -- mail exchange records with priority 8. dns.txt (array) -- TXT records (SPF, verification, etc.) 9. dns.ns (array) -- NS records 10. dns.cname (array) -- CNAME aliases 11. ssl.issuer (string) -- certificate authority (Let's Encrypt, DigiCert, etc.) 12. ssl.validFrom (string) -- certificate start date 13. ssl.validTo (string) -- certificate expiry date 14. ssl.daysRemaining (number) -- days until SSL expiry 15. domainAge (number) -- domain age in days Example output: {"whois":{"registrar":"Cloudflare","createdDate":"2010-01-15","expiryDate":"2027-01-15","nameservers":["ns1.cloudflare.com"]},"dns":{"a":["104.26.10.1"],"mx":[{"priority":10,"exchange":"mx.example.com"}]},"ssl":{"issuer":"Let's Encrypt","daysRemaining":45},"domainAge":5932} Use this BEFORE domain purchases, security audits, phishing investigations, or due diligence on vendors. Essential for checking domain legitimacy, SSL health, and DNS configuration. Do NOT use for company data -- use company_enrich_from_domain instead. Do NOT use for IP geolocation -- use ip_lookup_geolocation instead. Do NOT use for website content -- use web_scrape_to_markdown instead. Do NOT use for email deliverability -- use email_audit_deliverability instead.
- floor10_extract_event_metadata
Server-side WebFetch of an event page (Luma is the canonical case; LinkedIn / X / generic og:-bearing pages also work). Returns parsed { title, date, image, description, organization } so the agent doesn't have to scrape and parse OG / JSON-LD itself. Use the result to compose a HighlightStory. Args: { url }. Returns: a metadata map; empty fields where extraction missed.
- ic_leaderboard_get_board
Returns the FULL ranked commits leaderboard the FT10 kiosk renders, so an agent never has to scrape the /floor10/commits HTML. Each member carries { rank (1-based), handle, name, commits, private? }. `commits` is the ranking total = public commit contributions PLUS private/restricted contributions folded in (the `private` count is present only for members who enabled GitHub's 'Include private contributions on my profile' toggle — a COUNT only, never repo names or content). Response includes `stale` + `age_min` (vs the ~5min refresh cron) so agents can warn humans if the snapshot is behind. Args: { limit?: number, default 200, max 200 }. Required scope: membership:read.
Hermosoio.github.hermoso-ai/hermosoAVerified- plan_ad
Creative director: turn a brand + product/brief into a finished ad CONCEPT — copy variants (headline/primary/cta) plus an image_concept.prompt OR a video_storyboard, with the resolved recipe + the model ids to render with. Renders nothing; chain its output into generate_image / generate_video. Spends LLM tokens, 0 ScrapeCreators credits.
- find_competitors
Discover a brand's competitor / similar / adjacent brands from its domain (Claude grounded by web search). mode=competitors (default, excludes the searched company), inspiration (best relevant ads incl. it), or company. 0 ScrapeCreators credits.
- pull_competitor_ads
Pull a brand's real running ads across Meta / Google / LinkedIn ad libraries (deduped, sorted, right page resolved). Spends ScrapeCreators credits.
- research_ads
Natural-language ad research: a Claude tool-use loop over Meta/Google/LinkedIn ad libraries + organic TikTok. Returns a summary + the found ads (with their served URLs). Spends LLM tokens + ScrapeCreators credits.
- search_meta_ads
Structured Meta (Facebook/Instagram) Ad Library pull — use when you know exactly WHAT to fetch: a keyword (query) OR one advertiser (companyName / pageId). Returns compact JSON {page_name, body, cta, link, dates, media} per ad. For open-ended research that needs judgment across platforms, use research_ads instead. Spends ScrapeCreators credits (~1–2).
- search_linkedin_ads
Structured LinkedIn Ad Library search by company name, keyword, or companyId — use for a targeted B2B pull; use research_ads for open-ended research. Returns compact JSON {advertiser, headline, description, cta, link, media, dates, impressions} per ad — LinkedIn is the one library exposing real impression counts. Spends ScrapeCreators credits (~1).
Fact Checker APIio.github.Br0ski777/fact-checkerAVerified- research_check_fact
Use this when you need to verify a factual claim, check if a statement is true, or find evidence supporting or contradicting a claim. Accepts a claim text and returns relevant web snippets, source URLs, and a confidence assessment. Do NOT use for general web scraping — use web_scrape_to_markdown instead. Do NOT use for SEO analysis — use seo_audit_page instead. Do NOT use for sentiment analysis — use sentiment_analyzer instead.