@agentutility/mcp-web-probe 0.29.0 → 0.29.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,11 @@
1
1
  /** Auto-generated by scripts/generate-mcp-clusters.mjs. Do not edit by hand. */
2
2
  export const CLUSTER_SLUG = "web-probe";
3
- export const VERSION = "0.29.0";
3
+ export const VERSION = "0.29.3";
4
4
  export const TOOLS = [
5
5
  {
6
6
  "name": "answer-web",
7
7
  "http_name": "answer-web",
8
- "description": "(0.04 USDC/call) Live web answer engine / Perplexity-style cited answers / question-to-answer with sources / web Q&A / agent search / research-grade Q&A / SERP + scrape + LLM synthesis. Asks a question in natural language, gets a synthesized answer with inline [N] citations and the source URLs. Combines Decodo Google SERP + parallel cheerio scrape + Morpheus llama-3.3-70b. No login, pay-per-call.",
8
+ "description": "(0.04 USDC/call) Answers natural-language questions with live web research, returning a synthesized answer with inline [N] citations and the source URLs. Combines Decodo Google SERP + parallel cheerio scrape + Morpheus llama-3.3-70b. No login, pay-per-call. Use it as a live web answer engine, Perplexity-style cited answers, web Q&A, agent search, research-grade question-to-answer with sources, or SERP + scrape + LLM synthesis.",
9
9
  "method": "POST",
10
10
  "input_schema": {
11
11
  "type": "object",
@@ -42,7 +42,7 @@ export const TOOLS = [
42
42
  {
43
43
  "name": "archive-snapshot",
44
44
  "http_name": "archive-snapshot",
45
- "description": "(0.02 USDC/call) Archive snapshot API / web archive lookup / Wayback Machine API / historical webpage snapshot / archived URL finder. Given a public URL and optional timestamp, returns the closest archived capture URL, archive timestamp, and optional cleaned archived page text for citation repair, reference rot fixes, due diligence, and provenance checks.",
45
+ "description": "(0.02 USDC/call) Finds the closest archived snapshot of a public URL, like a Wayback Machine API. Given a URL and optional timestamp, returns the closest archived capture URL, archive timestamp, and optional cleaned archived page text for citation repair, reference rot fixes, due diligence, and provenance checks. Use it as a web archive lookup, historical webpage snapshot, or archived URL finder.",
46
46
  "method": "POST",
47
47
  "input_schema": {
48
48
  "type": "object",
@@ -65,7 +65,7 @@ export const TOOLS = [
65
65
  {
66
66
  "name": "archive-snapshot-api",
67
67
  "http_name": "archive-snapshot-api",
68
- "description": "(0.02 USDC/call) Archive snapshot API / Wayback Machine snapshot lookup / historical URL capture. Same archive-snapshot backend, discoverable for agents finding closest archived captures, timestamps, status codes, and replay URLs for public web pages.",
68
+ "description": "(0.02 USDC/call) Finds archived snapshots of public web pages, returning the closest Wayback Machine captures with timestamps, status codes, and replay URLs. Same archive-snapshot backend. Use it as an archive snapshot API, Wayback Machine snapshot lookup, or historical URL capture source.",
69
69
  "method": "POST",
70
70
  "input_schema": {
71
71
  "type": "object",
@@ -88,7 +88,7 @@ export const TOOLS = [
88
88
  {
89
89
  "name": "archive-url",
90
90
  "http_name": "archive-url",
91
- "description": "(0.02 USDC/call) Archive URL lookup / archive snapshot finder / web archive URL builder / Wayback Machine snapshot API. Finds the closest archived copy of a public URL by timestamp and can fetch cleaned archived page text for citation repair, provenance checks, and reference rot fixes.",
91
+ "description": "(0.02 USDC/call) Looks up the archived copy of a public URL closest to a given timestamp and can fetch cleaned archived page text. Useful for citation repair, provenance checks, and reference rot fixes. Use it as an archive snapshot finder, web archive URL builder, or Wayback Machine snapshot API.",
92
92
  "method": "POST",
93
93
  "input_schema": {
94
94
  "type": "object",
@@ -111,7 +111,7 @@ export const TOOLS = [
111
111
  {
112
112
  "name": "arxiv-bibtex",
113
113
  "http_name": "arxiv-bibtex",
114
- "description": "(0.002 USDC/call) arXiv to BibTeX / arxiv citation generator / paper bibtex / LaTeX citation builder / academic citation lookup. Pulls a paper's title, authors, year, abstract, and DOI from the arXiv API and generates a properly-formatted BibTeX entry with an auto-derived cite key (or your own). Free public arXiv API.",
114
+ "description": "(0.005 USDC/call) Turns an arXiv paper into a BibTeX entry: pulls title, authors, year, abstract, and DOI from the arXiv API and generates a properly-formatted BibTeX entry with an auto-derived cite key (or your own). Free public arXiv API. Use it as an arxiv citation generator, paper bibtex tool, LaTeX citation builder, or academic citation lookup.",
115
115
  "method": "POST",
116
116
  "input_schema": {
117
117
  "type": "object",
@@ -200,7 +200,7 @@ export const TOOLS = [
200
200
  {
201
201
  "name": "b2b-lead-enrich",
202
202
  "http_name": "b2b-lead-enrich",
203
- "description": "(0.01 USDC/call) B2B lead enrichment API / sales lead enrichment / prospect enrichment lite. Normalizes caller-supplied email/name/domain/company into a public-data lead profile with inferred name, company, domain, MX records, and homepage context. Designed for agentic sales workflows without private data brokers or prohibited scraping.",
203
+ "description": "(0.01 USDC/call) Enriches B2B leads from caller-supplied email/name/domain/company into a public-data profile with inferred name, company, domain, MX records, and homepage context. Designed for agentic sales workflows without private data brokers or prohibited scraping. Use it as a B2B lead enrichment API, sales lead enrichment, or prospect enrichment lite.",
204
204
  "method": "POST",
205
205
  "input_schema": {
206
206
  "type": "object",
@@ -231,7 +231,7 @@ export const TOOLS = [
231
231
  {
232
232
  "name": "brand-domain-check",
233
233
  "http_name": "brand-domain-check",
234
- "description": "(0.02 USDC/call) Brand domain check API / startup domain diligence / company-name domain screen. Same RDAP backend as whois-lookup, tuned for agents checking whether a brand or company domain is established, expiring, registrar-locked, or newly registered.",
234
+ "description": "(0.02 USDC/call) Checks whether a brand or company domain is established, expiring, registrar-locked, or newly registered, on the same RDAP backend as whois-lookup. Use it as a brand domain check API, startup domain diligence, or company-name domain screen.",
235
235
  "method": "POST",
236
236
  "input_schema": {
237
237
  "type": "object",
@@ -253,7 +253,7 @@ export const TOOLS = [
253
253
  {
254
254
  "name": "brand-name-generator",
255
255
  "http_name": "brand-name-generator",
256
- "description": "(0.05 USDC/call) Brand name generator / product naming API / brandable domain suggester. Same backend as domain-suggest, with exact brand-name wording for discovery. Returns ranked name candidates, slugs, rationale, checked TLDs, and availability counts.",
256
+ "description": "(0.05 USDC/call) Generates brand name candidates and returns ranked names, slugs, rationale, checked TLDs, and availability counts. Same backend as domain-suggest, with exact brand-name wording for discovery. Use it as a product naming API or brandable domain suggester.",
257
257
  "method": "POST",
258
258
  "input_schema": {
259
259
  "type": "object",
@@ -290,7 +290,7 @@ export const TOOLS = [
290
290
  {
291
291
  "name": "brand-name-score",
292
292
  "http_name": "brand-name-score",
293
- "description": "(0.005 USDC/call) Brand name scorer / startup name evaluator / company name quality check / product naming validator. Scoring for a candidate name across length, pronounceability, handle/domain readiness, distinctiveness, generic-word risk, reserved-brand risk, and concept fit. Returns score, grade, risks, strengths, recommendations, and domain candidate slugs. Pair with domain-availability, x-handle-availability, domain-suggest, and brand-clearance for a full startup naming workflow.",
293
+ "description": "(0.005 USDC/call) Scores a candidate brand or startup name on quality and risk. Evaluates length, pronounceability, handle/domain readiness, distinctiveness, generic-word risk, reserved-brand risk, and concept fit; returns score, grade, risks, strengths, recommendations, and domain candidate slugs. Pair with domain-availability, x-handle-availability, domain-suggest, and brand-clearance for a full startup naming workflow. Use it as a brand name scorer, startup name evaluator, company name quality check, or product naming validator.",
294
294
  "method": "POST",
295
295
  "input_schema": {
296
296
  "type": "object",
@@ -320,7 +320,7 @@ export const TOOLS = [
320
320
  {
321
321
  "name": "brand-watch-domain-risk",
322
322
  "http_name": "brand-watch-domain-risk",
323
- "description": "(0.02 USDC/call) Brand watch domain risk API / lookalike-domain RDAP triage / trademark monitoring support. Same backend as whois-lookup, surfaced for agents checking new or suspicious brand-adjacent domains for age, registrar, expiry, DNSSEC, and transfer/lock statuses.",
323
+ "description": "(0.02 USDC/call) Checks new or suspicious brand-adjacent domains for age, registrar, expiry, DNSSEC, and transfer/lock statuses. Same backend as whois-lookup. Use it as a brand watch domain risk API, lookalike-domain RDAP triage tool, or trademark monitoring support.",
324
324
  "method": "POST",
325
325
  "input_schema": {
326
326
  "type": "object",
@@ -342,7 +342,7 @@ export const TOOLS = [
342
342
  {
343
343
  "name": "browser-render",
344
344
  "http_name": "browser-render",
345
- "description": "(0.03 USDC/call) Browser render API / render JavaScript page / dynamic page renderer / post-JS HTML fetcher. Same headless browser runtime as browser-session: loads a public URL with JavaScript enabled and returns rendered HTML, title, final URL, byte count, or a base64 screenshot when requested.",
345
+ "description": "(0.03 USDC/call) Loads a public URL with JavaScript enabled and returns rendered HTML, title, final URL, byte count, or a base64 screenshot when requested. Same headless browser runtime as browser-session. Use it as a browser render API, dynamic page renderer, post-JS HTML fetcher, or to render a JavaScript page.",
346
346
  "method": "POST",
347
347
  "input_schema": {
348
348
  "type": "object",
@@ -376,7 +376,7 @@ export const TOOLS = [
376
376
  {
377
377
  "name": "browser-session",
378
378
  "http_name": "browser-session",
379
- "description": "(0.03 USDC/call) Headless browser render API / browser session / JavaScript page renderer / render dynamic page / scrape JS-heavy site / get post-JavaScript DOM / full-page screenshot API. Loads a URL in a real headless browser (JS executed), then returns the rendered HTML and page title, or a base64 screenshot. For pages a plain HTTP fetch can't read because the content is built client-side.",
379
+ "description": "(0.03 USDC/call) Loads a URL in a real headless browser with JavaScript executed, then returns the rendered HTML and page title, or a base64 screenshot. For pages a plain HTTP fetch can't read because the content is built client-side. Use it as a headless browser render API, JavaScript page renderer, dynamic page renderer, full-page screenshot API, or to scrape JS-heavy sites and get the post-JavaScript DOM.",
380
380
  "method": "POST",
381
381
  "input_schema": {
382
382
  "type": "object",
@@ -410,7 +410,7 @@ export const TOOLS = [
410
410
  {
411
411
  "name": "business-name-generator",
412
412
  "http_name": "business-name-generator",
413
- "description": "(0.05 USDC/call) Business name generator / company name ideas / brandable domain generator. Same backend as domain-suggest, exposed under the broad buyer wording for new business workflows. Brainstorms short brandable candidates for a concept, checks TLD availability, and ranks by available domains plus brandability score.",
413
+ "description": "(0.05 USDC/call) Generates business name ideas: brainstorms short brandable candidates for a concept, checks TLD availability, and ranks by available domains plus brandability score. Same backend as domain-suggest, exposed under the broad buyer wording for new business workflows. Use it as a company name ideas or brandable domain generator.",
414
414
  "method": "POST",
415
415
  "input_schema": {
416
416
  "type": "object",
@@ -447,7 +447,7 @@ export const TOOLS = [
447
447
  {
448
448
  "name": "company-enrich",
449
449
  "http_name": "company-enrich",
450
- "description": "(0.01 USDC/call) Company enrichment API / domain enrichment / organization enrichment / firmographic lite. Given a domain or email, returns normalized domain, inferred company name, MX records, and public homepage metadata including title, description, image, and status. Public-data only; no private enrichment database or social scraping.",
450
+ "description": "(0.01 USDC/call) Enrich a company from its domain or an email address. Returns the normalized domain, inferred company name, MX records, and public homepage metadata (title, description, image, HTTP status). Public-data-only company/organization enrichment — no private databases or social scraping.",
451
451
  "method": "POST",
452
452
  "input_schema": {
453
453
  "type": "object",
@@ -470,7 +470,7 @@ export const TOOLS = [
470
470
  {
471
471
  "name": "company-name-score",
472
472
  "http_name": "company-name-score",
473
- "description": "(0.005 USDC/call) Company name score API / business name evaluator / startup name quality check. Same backend as brand-name-score, exposed for agents vetting new company names before domain, handle, trademark, and launch work.",
473
+ "description": "(0.005 USDC/call) Scores the quality of a company name before you commit to domain, handle, trademark, and launch work. Same backend as brand-name-score. Use it as a company name score API, business name evaluator, or startup name quality check.",
474
474
  "method": "POST",
475
475
  "input_schema": {
476
476
  "type": "object",
@@ -500,7 +500,7 @@ export const TOOLS = [
500
500
  {
501
501
  "name": "contact-enrich",
502
502
  "http_name": "contact-enrich",
503
- "description": "(0.01 USDC/call) Contact enrichment API / email-to-contact enrichment / lead contact lookup. Given email, name, domain, or company, returns a normalized public-data contact record with inferred display name, company/domain context, MX records, and optional homepage metadata. No private people database, LinkedIn scraping, or social-network scraping.",
503
+ "description": "(0.01 USDC/call) Enriches a contact from email, name, domain, or company into a normalized public-data record with inferred display name, company/domain context, MX records, and optional homepage metadata. No private people database, LinkedIn scraping, or social-network scraping. Use it as a contact enrichment API, email-to-contact enrichment, or lead contact lookup.",
504
504
  "method": "POST",
505
505
  "input_schema": {
506
506
  "type": "object",
@@ -531,7 +531,7 @@ export const TOOLS = [
531
531
  {
532
532
  "name": "crates-io-stats",
533
533
  "http_name": "crates-io-stats",
534
- "description": "(0.003 USDC/call) Crates.io package stats / Rust crate registry lookup / cargo package metadata / Rust ecosystem stats. Fetches the public crates.io API record for a Rust crate and returns description, license, repository, homepage, documentation, keywords, categories, latest stable version, total version count, recent versions with yanked flags + crate_size + Rust edition + MSRV, age in days, days_since_last_release, all-time + recent-90d downloads. Public crates.io API, no auth, commercial use permitted with identifying User-Agent. Completes the trio with npm-package-stats and pypi-package-stats.",
534
+ "description": "(0.003 USDC/call) Fetches the public crates.io API record for a Rust crate and returns description, license, repository, homepage, documentation, keywords, categories, latest stable version, total version count, recent versions with yanked flags + crate_size + Rust edition + MSRV, age in days, days_since_last_release, and all-time + recent-90d downloads. Public crates.io API, no auth, commercial use permitted with identifying User-Agent. Completes the trio with npm-package-stats and pypi-package-stats. Use it for crates.io package stats, Rust crate registry lookup, cargo package metadata, or Rust ecosystem stats.",
535
535
  "method": "POST",
536
536
  "input_schema": {
537
537
  "type": "object",
@@ -553,7 +553,7 @@ export const TOOLS = [
553
553
  {
554
554
  "name": "creator-domain-check",
555
555
  "http_name": "creator-domain-check",
556
- "description": "(0.02 USDC/call) Creator domain check API / newsletter domain age / personal brand domain diligence. Same RDAP backend as whois-lookup, exposed for agents evaluating creator, newsletter, podcast, and community domains for age, expiry, registrar, DNSSEC, and suspicious new-registration flags.",
556
+ "description": "(0.02 USDC/call) Checks creator, newsletter, podcast, and community domains for age, expiry, registrar, DNSSEC, and suspicious new-registration flags. Same RDAP backend as whois-lookup. Use it as a creator domain check API, newsletter domain age lookup, or personal brand domain diligence tool.",
557
557
  "method": "POST",
558
558
  "input_schema": {
559
559
  "type": "object",
@@ -575,7 +575,7 @@ export const TOOLS = [
575
575
  {
576
576
  "name": "crypto-headlines",
577
577
  "http_name": "crypto-headlines",
578
- "description": "(0.001 USDC/call) Crypto headlines API / low-cost cryptocurrency news feed / bitcoin ethereum DeFi headline search. Pulls recent articles from the public GDELT 2.1 Document API and returns headline URLs, domains, timestamps, language/country metadata, and headline sentiment. Not trading advice.",
578
+ "description": "(0.005 USDC/call) Searches recent bitcoin, ethereum, and DeFi headlines via the public GDELT 2.1 Document API, returning headline URLs, domains, timestamps, language/country metadata, and headline sentiment. Not trading advice. Use it as a crypto headlines API or low-cost cryptocurrency news feed.",
579
579
  "method": "POST",
580
580
  "input_schema": {
581
581
  "type": "object",
@@ -610,7 +610,7 @@ export const TOOLS = [
610
610
  {
611
611
  "name": "crypto-news",
612
612
  "http_name": "crypto-news",
613
- "description": "(0.005 USDC/call) Crypto news API / cryptocurrency headlines / bitcoin news / ethereum news / DeFi news / stablecoin news / market news feed. Pulls recent articles from the public GDELT 2.1 Document API, filters by crypto topic or caller query, returns headline URLs, domains, timestamps, language/country metadata, and headline sentiment. Not trading advice.",
613
+ "description": "(0.005 USDC/call) Fetches recent cryptocurrency news headlines from the public GDELT 2.1 Document API, filtered by crypto topic or caller query, returning headline URLs, domains, timestamps, language/country metadata, and headline sentiment. Not trading advice. Use it as a crypto news API or market news feed for bitcoin news, ethereum news, DeFi news, or stablecoin news.",
614
614
  "method": "POST",
615
615
  "input_schema": {
616
616
  "type": "object",
@@ -645,7 +645,7 @@ export const TOOLS = [
645
645
  {
646
646
  "name": "crypto-news-api",
647
647
  "http_name": "crypto-news-api",
648
- "description": "(0.003 USDC/call) Crypto news API / cryptocurrency news API / DeFi news endpoint. Same GDELT-backed public news handler as crypto-news, exposed under API buyer wording with a lower-cost route for routers that sort by price. Returns recent headline metadata and sentiment. No scraping and no trading advice.",
648
+ "description": "(0.003 USDC/call) Returns recent cryptocurrency headline metadata and sentiment. Same GDELT-backed public news handler as crypto-news, exposed under API buyer wording with a lower-cost route for routers that sort by price. No scraping and no trading advice. Use it as a crypto news API, cryptocurrency news API, or DeFi news endpoint.",
649
649
  "method": "POST",
650
650
  "input_schema": {
651
651
  "type": "object",
@@ -680,7 +680,7 @@ export const TOOLS = [
680
680
  {
681
681
  "name": "disposable-email-check",
682
682
  "http_name": "disposable-email-check",
683
- "description": "(0.005 USDC/call) Disposable email detector / temp-mail / throwaway email / fake email / 10minutemail filter / Mailinator + Guerrilla Mail + Yopmail blocklist / fraud signup defense / role-account flagger / MX-record validator / signup-form abuse guard. Checks the email's domain against a 100k+ disposable-domain blocklist, flags role-style local-parts (admin@, info@, noreply@, support@), and verifies a live MX record via Cloudflare DNS-over-HTTPS so dead domains can't pass.",
683
+ "description": "(0.005 USDC/call) Detects disposable and throwaway email addresses before they get through your signup form. Checks the email's domain against a 100k+ disposable-domain blocklist, flags role-style local-parts (admin@, info@, noreply@, support@), and verifies a live MX record via Cloudflare DNS-over-HTTPS so dead domains can't pass. Use it as a temp-mail, fake email, or 10minutemail filter, a Mailinator + Guerrilla Mail + Yopmail blocklist, fraud signup defense, role-account flagger, MX-record validator, or signup-form abuse guard.",
684
684
  "method": "POST",
685
685
  "input_schema": {
686
686
  "type": "object",
@@ -698,7 +698,7 @@ export const TOOLS = [
698
698
  {
699
699
  "name": "dmarc-check",
700
700
  "http_name": "dmarc-check",
701
- "description": "(0.02 USDC/call) DMARC + SPF + DKIM email-authentication checker / mail-auth posture audit / spoofing-resistance grader / phishing-readiness scanner / domain email security score / dmarcian-style report / pre-send deliverability check. Reads the domain's DNS TXT records, parses each protocol's record (SPF mechanisms + qualifiers, DMARC tags p/sp/rua/ruf/pct/aspf/adkim, DKIM selectors with key bits and algorithm), and returns a 0-100 score, A-F grade, and per-finding human-readable reasons explaining the score.",
701
+ "description": "(0.02 USDC/call) Audits a domain's email authentication posture: DMARC, SPF, and DKIM in one check. Reads the domain's DNS TXT records, parses each protocol's record (SPF mechanisms + qualifiers, DMARC tags p/sp/rua/ruf/pct/aspf/adkim, DKIM selectors with key bits and algorithm), and returns a 0-100 score, A-F grade, and per-finding human-readable reasons explaining the score. Use it as a mail-auth posture audit, spoofing-resistance grader, phishing-readiness scanner, domain email security score, dmarcian-style report, or pre-send deliverability check.",
702
702
  "method": "POST",
703
703
  "input_schema": {
704
704
  "type": "object",
@@ -723,7 +723,7 @@ export const TOOLS = [
723
723
  {
724
724
  "name": "dns-lookup",
725
725
  "http_name": "dns-lookup",
726
- "description": "(0.02 USDC/call) DNS lookup / DNS resolver / dig replacement / nslookup API / DoH proxy / authoritative-record fetch / MX checker / SPF + DMARC TXT inspector / CAA + DNSSEC inspector / nameserver finder / CDN-routing detector. Queries Cloudflare 1.1.1.1 DNS-over-HTTPS for any subset of A, AAAA, MX, TXT, NS, CNAME, SOA, PTR, SRV, CAA, DNSKEY, DS, TLSA, HTTPS, SVCB records and returns both grouped (per type, with TTL) and flat shapes for easy consumption.",
726
+ "description": "(0.02 USDC/call) Full DNS lookup over Cloudflare 1.1.1.1 DNS-over-HTTPS. Queries any subset of A, AAAA, MX, TXT, NS, CNAME, SOA, PTR, SRV, CAA, DNSKEY, DS, TLSA, HTTPS, and SVCB records and returns results grouped per type with TTLs plus a flat list. Works as a dig/nslookup replacement, MX checker, SPF + DMARC TXT inspector, CAA/DNSSEC inspector, nameserver finder, or CDN-routing detector.",
727
727
  "method": "POST",
728
728
  "input_schema": {
729
729
  "type": "object",
@@ -748,7 +748,7 @@ export const TOOLS = [
748
748
  {
749
749
  "name": "domain-age-check",
750
750
  "http_name": "domain-age-check",
751
- "description": "(0.02 USDC/call) Domain age check API / newly registered domain detector / registration date lookup. Same RDAP backend as whois-lookup, listed for fraud, phishing, brand-protection, and lead-enrichment workflows that need domain age and registrar metadata.",
751
+ "description": "(0.02 USDC/call) Checks a domain's age and registration date, with registrar metadata, for fraud, phishing, brand-protection, and lead-enrichment workflows. Same RDAP backend as whois-lookup. Use it as a domain age check API, newly registered domain detector, or registration date lookup.",
752
752
  "method": "POST",
753
753
  "input_schema": {
754
754
  "type": "object",
@@ -770,7 +770,7 @@ export const TOOLS = [
770
770
  {
771
771
  "name": "domain-availability",
772
772
  "http_name": "domain-availability",
773
- "description": "(0.005 USDC/call) Domain availability / RDAP lookup / WHOIS replacement / domain registration checker / expiry date lookup. Returns is_registered, registrar, registration date, expiry date, days_until_expiry, and current EPP status flags for any TLD that supports RDAP (effectively all gTLDs and most ccTLDs). Backed by rdap.org, the public RFC-7480-compliant aggregator. 404s map to is_registered: false rather than an error.",
773
+ "description": "(0.005 USDC/call) Checks whether a domain is registered and returns registrar, registration date, expiry date, days_until_expiry, and current EPP status flags. Works for any TLD that supports RDAP (effectively all gTLDs and most ccTLDs). Backed by rdap.org, the public RFC-7480-compliant aggregator; 404s map to is_registered: false rather than an error. Use it as an RDAP lookup, WHOIS replacement, domain registration checker, or expiry date lookup.",
774
774
  "method": "POST",
775
775
  "input_schema": {
776
776
  "type": "object",
@@ -788,7 +788,7 @@ export const TOOLS = [
788
788
  {
789
789
  "name": "domain-enrich",
790
790
  "http_name": "domain-enrich",
791
- "description": "(0.01 USDC/call) Domain enrichment API / company enrichment / firmographic lite. Given a domain, website URL, or email, returns normalized domain, inferred company name, MX records, and public homepage metadata including title, description, image, and status. Public-data only; no private enrichment database or social scraping.",
791
+ "description": "(0.01 USDC/call) Enrich any domain, website URL, or email into company facts. Returns the normalized domain, inferred company name, MX records, and public homepage metadata (title, description, image, HTTP status). Public-data-only domain enrichment / firmographic-lite — no private databases or social scraping.",
792
792
  "method": "POST",
793
793
  "input_schema": {
794
794
  "type": "object",
@@ -811,7 +811,7 @@ export const TOOLS = [
811
811
  {
812
812
  "name": "domain-expiry-check",
813
813
  "http_name": "domain-expiry-check",
814
- "description": "(0.02 USDC/call) Domain expiry check API / expiration date lookup / days until domain expires. Same RDAP backend as whois-lookup, exposed for renewal monitoring, vendor-risk checks, and brand-protection agents.",
814
+ "description": "(0.02 USDC/call) Checks a domain's expiration date and days until it expires, for renewal monitoring, vendor-risk checks, and brand-protection agents. Same RDAP backend as whois-lookup. Use it as a domain expiry check API or expiration date lookup.",
815
815
  "method": "POST",
816
816
  "input_schema": {
817
817
  "type": "object",
@@ -831,7 +831,7 @@ export const TOOLS = [
831
831
  {
832
832
  "name": "domain-name-generator",
833
833
  "http_name": "domain-name-generator",
834
- "description": "(0.05 USDC/call) Domain name generator / available domain ideas / startup domain finder. Same backend as domain-suggest. Brainstorms domain-friendly names from a concept and checks RDAP availability across allowed TLDs.",
834
+ "description": "(0.05 USDC/call) Generates domain name ideas: brainstorms domain-friendly names from a concept and checks RDAP availability across allowed TLDs. Same backend as domain-suggest. Use it as an available-domain-ideas generator or startup domain finder.",
835
835
  "method": "POST",
836
836
  "input_schema": {
837
837
  "type": "object",
@@ -868,7 +868,7 @@ export const TOOLS = [
868
868
  {
869
869
  "name": "domain-portfolio-risk",
870
870
  "http_name": "domain-portfolio-risk",
871
- "description": "(0.02 USDC/call) Domain portfolio risk API / registrar and expiry audit / brand-domain inventory check. Same RDAP backend as whois-lookup, discoverable for agents checking individual portfolio domains for age, expiry, registrar, DNSSEC, nameservers, and lock status before renewal or acquisition decisions.",
871
+ "description": "(0.02 USDC/call) Audits individual portfolio domains for age, expiry, registrar, DNSSEC, nameservers, and lock status before renewal or acquisition decisions. Same RDAP backend as whois-lookup. Use it as a domain portfolio risk API, registrar and expiry audit, or brand-domain inventory check.",
872
872
  "method": "POST",
873
873
  "input_schema": {
874
874
  "type": "object",
@@ -890,7 +890,7 @@ export const TOOLS = [
890
890
  {
891
891
  "name": "domain-renewal-monitor",
892
892
  "http_name": "domain-renewal-monitor",
893
- "description": "(0.02 USDC/call) Domain renewal monitor API / expiration date checker / vendor domain expiry watch. Same RDAP backend as whois-lookup, discoverable for agents tracking renewal deadlines, registrar metadata, nameservers, and expiring-soon risk flags.",
893
+ "description": "(0.02 USDC/call) Monitors a domain's renewal status: expiration date, registrar metadata, nameservers, and expiring-soon risk flags, on the same RDAP backend as whois-lookup. Discoverable for agents tracking renewal deadlines. Use it as a domain expiration date checker or vendor domain expiry watch.",
894
894
  "method": "POST",
895
895
  "input_schema": {
896
896
  "type": "object",
@@ -912,7 +912,7 @@ export const TOOLS = [
912
912
  {
913
913
  "name": "domain-risk-check",
914
914
  "http_name": "domain-risk-check",
915
- "description": "(0.02 USDC/call) Domain risk check API / phishing triage / brand-protection domain screen. Same backend as whois-lookup; returns domain age, expiration, registrar, nameservers, DNSSEC, status codes, and risk flags such as newly-registered or expiring-soon.",
915
+ "description": "(0.02 USDC/call) Screens a domain for risk signals: age, expiration, registrar, nameservers, DNSSEC, status codes, and flags such as newly-registered or expiring-soon. Same backend as whois-lookup. Use it as a domain risk check API, phishing triage tool, or brand-protection domain screen.",
916
916
  "method": "POST",
917
917
  "input_schema": {
918
918
  "type": "object",
@@ -932,7 +932,7 @@ export const TOOLS = [
932
932
  {
933
933
  "name": "domain-suggest",
934
934
  "http_name": "domain-suggest",
935
- "description": "(0.05 USDC/call) Brandable domain suggester / startup-name brainstormer / product-name proposer / domain candidate generator. LLM brainstorms N short brandable candidates fitting a concept + tone, then verifies TLD availability across up to 6 TLDs via in-process domain-availability lookups. Returns candidates ranked by # available TLDs then brandability score, with per-TLD registrar info for each candidate. Pair with brand-clearance (Prooflayer) on the shortlist for trademark + Wikipedia + HN signal before adopting. Allowlisted TLDs: com, ai, dev, io, co, app, xyz, org, net, tech, tools, page, studio, shop.",
935
+ "description": "(0.05 USDC/call) Suggests short brandable domain candidates for a concept and verifies which are actually available. An AI model brainstorms N candidates fitting a concept + tone, then checks TLD availability across up to 6 TLDs via in-process domain-availability lookups. Returns candidates ranked by # available TLDs then brandability score, with per-TLD registrar info for each candidate. Pair with brand-clearance (Prooflayer) on the shortlist for trademark + Wikipedia + HN signal before adopting. Allowlisted TLDs: com, ai, dev, io, co, app, xyz, org, net, tech, tools, page, studio, shop. Use it as a startup-name brainstormer, product-name proposer, or domain candidate generator.",
936
936
  "method": "POST",
937
937
  "input_schema": {
938
938
  "type": "object",
@@ -969,7 +969,7 @@ export const TOOLS = [
969
969
  {
970
970
  "name": "email",
971
971
  "http_name": "email",
972
- "description": "(0.005 USDC/call) Email validation API / email deliverability check / email verifier. Validates address syntax, checks MX reachability, detects disposable/temp-mail domains and role accounts, and summarizes SPF/DMARC/DKIM posture. This endpoint does not send email and does not probe the recipient mailbox; it is DNS + public blocklist only.",
972
+ "description": "(0.005 USDC/call) Validates an email address end to end: syntax, MX reachability, disposable/temp-mail domains, role accounts, and SPF/DMARC/DKIM posture. This endpoint does not send email and does not probe the recipient mailbox; it is DNS + public blocklist only. Use it as an email validation API, email deliverability check, or email verifier.",
973
973
  "method": "POST",
974
974
  "input_schema": {
975
975
  "type": "object",
@@ -994,7 +994,7 @@ export const TOOLS = [
994
994
  {
995
995
  "name": "email-deliverability",
996
996
  "http_name": "email-deliverability",
997
- "description": "(0.005 USDC/call) Email deliverability API / email deliverability verification / email deliverability score / inbox readiness domain check. Validates address format, MX reachability, temp-mail risk, role mailbox risk, and SPF/DMARC/DKIM authentication records without contacting the recipient mailbox.",
997
+ "description": "(0.005 USDC/call) Checks email deliverability by validating address format, MX reachability, temp-mail risk, role mailbox risk, and SPF/DMARC/DKIM authentication records without contacting the recipient mailbox. Use it as an email deliverability API, deliverability score, or inbox readiness domain check.",
998
998
  "method": "POST",
999
999
  "input_schema": {
1000
1000
  "type": "object",
@@ -1019,7 +1019,7 @@ export const TOOLS = [
1019
1019
  {
1020
1020
  "name": "email-deliverability-check",
1021
1021
  "http_name": "email-deliverability-check",
1022
- "description": "(0.005 USDC/call) Email deliverability verification API / email spam check / spam-folder risk / email validation / email verifier / email checker / inbox readiness score / MX lookup / disposable email risk / role-account detection / SPF DMARC DKIM posture. Validates syntax, checks whether the domain can receive mail, scores domain-level deliverability risk, detects temp-mail/disposable domains, flags role accounts, and summarizes SPF/DMARC/DKIM records. No mailbox-level SMTP probing; privacy-safe DNS + public blocklist only.",
1022
+ "description": "(0.005 USDC/call) Checks whether an email address is likely to be deliverable and how risky it looks. Validates syntax, checks whether the domain can receive mail, scores domain-level deliverability risk, detects temp-mail/disposable domains, flags role accounts, and summarizes SPF/DMARC/DKIM records. No mailbox-level SMTP probing; privacy-safe DNS + public blocklist only. Use it as an email deliverability verification API, email spam check, spam-folder risk scorer, email validation/verifier/checker, inbox readiness score, MX lookup, disposable email risk check, role-account detection, or SPF DMARC DKIM posture report.",
1023
1023
  "method": "POST",
1024
1024
  "input_schema": {
1025
1025
  "type": "object",
@@ -1044,7 +1044,7 @@ export const TOOLS = [
1044
1044
  {
1045
1045
  "name": "email-deliverability-score",
1046
1046
  "http_name": "email-deliverability-score",
1047
- "description": "(0.005 USDC/call) Email deliverability score API / inbox readiness score / email health check. Returns a 0-100 domain-level deliverability score from syntax, MX, disposable-domain, role-account, SPF, DMARC, and DKIM signals. No SMTP mailbox probe.",
1047
+ "description": "(0.005 USDC/call) Scores an email domain's deliverability from 0-100. The score is built from syntax, MX, disposable-domain, role-account, SPF, DMARC, and DKIM signals; no SMTP mailbox probe. Use it as an email deliverability score API, inbox readiness score, or email health check.",
1048
1048
  "method": "POST",
1049
1049
  "input_schema": {
1050
1050
  "type": "object",
@@ -1069,7 +1069,7 @@ export const TOOLS = [
1069
1069
  {
1070
1070
  "name": "email-domain-age-check",
1071
1071
  "http_name": "email-domain-age-check",
1072
- "description": "(0.02 USDC/call) Email domain age check API / sender-domain diligence / cold-email risk screen. Same RDAP backend as whois-lookup, discoverable for agents validating whether a sender or lead domain is established, expiring, DNSSEC-signed, or newly registered.",
1072
+ "description": "(0.02 USDC/call) Checks whether a sender or lead email domain is established, expiring, DNSSEC-signed, or newly registered. Same RDAP backend as whois-lookup. Use it as an email domain age check API, sender-domain diligence tool, or cold-email risk screen.",
1073
1073
  "method": "POST",
1074
1074
  "input_schema": {
1075
1075
  "type": "object",
@@ -1091,7 +1091,7 @@ export const TOOLS = [
1091
1091
  {
1092
1092
  "name": "email-domain-health",
1093
1093
  "http_name": "email-domain-health",
1094
- "description": "(0.005 USDC/call) Email domain health API / MX SPF DMARC DKIM checker / mail authentication posture audit. Validates an email address, scores whether the domain can receive mail, and reports authentication records and disposable-domain risk without contacting the mailbox.",
1094
+ "description": "(0.005 USDC/call) Validates an email address and scores whether its domain can receive mail, reporting authentication records and disposable-domain risk without contacting the mailbox. Use it as an email domain health API, MX SPF DMARC DKIM checker, or mail authentication posture audit.",
1095
1095
  "method": "POST",
1096
1096
  "input_schema": {
1097
1097
  "type": "object",
@@ -1116,7 +1116,7 @@ export const TOOLS = [
1116
1116
  {
1117
1117
  "name": "email-spam-check",
1118
1118
  "http_name": "email-spam-check",
1119
- "description": "(0.005 USDC/call) Email spam check / inbox readiness API / email deliverability risk scanner. Scores whether an address and domain are likely to receive mail cleanly using syntax validation, MX records, disposable-domain signals, role-account detection, SPF, DMARC, and DKIM posture. Privacy-safe DNS and public blocklist checks only; no recipient mailbox probing.",
1119
+ "description": "(0.005 USDC/call) Scores whether an address and domain are likely to receive mail cleanly, using syntax validation, MX records, disposable-domain signals, role-account detection, SPF, DMARC, and DKIM posture. Privacy-safe DNS and public blocklist checks only; no recipient mailbox probing. Use it as an email spam check, inbox readiness API, or email deliverability risk scanner.",
1120
1120
  "method": "POST",
1121
1121
  "input_schema": {
1122
1122
  "type": "object",
@@ -1141,7 +1141,7 @@ export const TOOLS = [
1141
1141
  {
1142
1142
  "name": "email-validator",
1143
1143
  "http_name": "email-validator",
1144
- "description": "(0.005 USDC/call) Email validator / email syntax and domain validation / MX record checker / disposable email checker / domain email health API. Returns deliverability score, risk bucket, MX records, disposable-domain match, role-account signal, and SPF/DMARC/DKIM posture.",
1144
+ "description": "(0.005 USDC/call) Validates email syntax and domain health, returning a deliverability score, risk bucket, MX records, disposable-domain match, role-account signal, and SPF/DMARC/DKIM posture. Use it as an email validator, MX record checker, disposable email checker, or domain email health API.",
1145
1145
  "method": "POST",
1146
1146
  "input_schema": {
1147
1147
  "type": "object",
@@ -1166,7 +1166,7 @@ export const TOOLS = [
1166
1166
  {
1167
1167
  "name": "email-verify",
1168
1168
  "http_name": "email-verify",
1169
- "description": "(0.005 USDC/call) Email verifier / email verify / email verification API / validate email address / email deliverability verification. DNS-based address and domain risk check with MX, disposable-domain, role-account, SPF, DMARC, and DKIM signals. Privacy-safe: does not probe the recipient mailbox.",
1169
+ "description": "(0.005 USDC/call) Verifies an email address and its domain with DNS-based risk checks: MX, disposable-domain, role-account, SPF, DMARC, and DKIM signals. Privacy-safe: does not probe the recipient mailbox. Use it as an email verifier, email verification API, or to validate email address deliverability.",
1170
1170
  "method": "POST",
1171
1171
  "input_schema": {
1172
1172
  "type": "object",
@@ -1191,7 +1191,7 @@ export const TOOLS = [
1191
1191
  {
1192
1192
  "name": "email-verify-api",
1193
1193
  "http_name": "email-verify-api",
1194
- "description": "(0.005 USDC/call) Email verify API / email verification endpoint / validate email address. Same DNS-safe email deliverability backend as email-verify, indexed for agents looking for exact email verification wording with syntax, MX, disposable-domain, role-account, SPF, DMARC, and DKIM checks.",
1194
+ "description": "(0.005 USDC/call) Verifies an email address with syntax, MX, disposable-domain, role-account, SPF, DMARC, and DKIM checks. Same DNS-safe email deliverability backend as email-verify, indexed for agents searching exact email verification wording. Use it as an email verify API or to validate email address input.",
1195
1195
  "method": "POST",
1196
1196
  "input_schema": {
1197
1197
  "type": "object",
@@ -1251,7 +1251,7 @@ export const TOOLS = [
1251
1251
  {
1252
1252
  "name": "expand-url",
1253
1253
  "http_name": "expand-url",
1254
- "description": "(0.02 USDC/call) Expand URL / URL expander / expand url / redirect chain tracer / link unshortener / shortlink resolver / bit.ly + t.co + lnkd.in + goo.gl + tinyurl resolver / final-URL fetcher / phishing redirect inspector. Walks the HTTP redirect chain hop-by-hop, returning every step with status code, Location header, redirect_type (permanent / temporary / meta / js), per-hop duration, and content-type, plus the final landing URL and total trace time. Useful for unmasking shortened links before fetch, and for forensic / security analysis of suspicious redirects.",
1254
+ "description": "(0.02 USDC/call) Expands shortened URLs by tracing the full redirect chain hop-by-hop. Each step returns status code, Location header, redirect_type (permanent / temporary / meta / js), per-hop duration, and content-type, plus the final landing URL and total trace time. Useful for unmasking shortened links before fetch, and for forensic / security analysis of suspicious redirects. Use it as a URL expander, redirect chain tracer, link unshortener, shortlink resolver, bit.ly + t.co + lnkd.in + goo.gl + tinyurl resolver, final-URL fetcher, or phishing redirect inspector.",
1255
1255
  "method": "POST",
1256
1256
  "input_schema": {
1257
1257
  "type": "object",
@@ -1277,7 +1277,7 @@ export const TOOLS = [
1277
1277
  {
1278
1278
  "name": "github-readme",
1279
1279
  "http_name": "github-readme",
1280
- "description": "(0.002 USDC/call) GitHub README fetch / repo readme / open-source-readme-as-markdown / package documentation puller. Pulls the raw README markdown for any public GitHub repository via the official GitHub REST API no auth required for public repos. Returns the unaltered markdown plus byte size and char count. Useful for agents documenting a stack, explaining a library, or snipping an example.",
1280
+ "description": "(0.005 USDC/call) Fetches the raw README markdown for any public GitHub repository via the official GitHub REST API, no auth required for public repos. Returns the unaltered markdown plus byte size and char count. Useful for agents documenting a stack, explaining a library, or snipping an example. Use it as a repo readme fetch, open-source-readme-as-markdown endpoint, or package documentation puller.",
1281
1281
  "method": "POST",
1282
1282
  "input_schema": {
1283
1283
  "type": "object",
@@ -1295,7 +1295,7 @@ export const TOOLS = [
1295
1295
  {
1296
1296
  "name": "github-stars-history",
1297
1297
  "http_name": "github-stars-history",
1298
- "description": "(0.005 USDC/call) GitHub stars history / star growth chart / repo popularity over time / trending tracker. Current star count plus a sampled cumulative-stars-vs-date series for any public GitHub repo. Walks 1-10 evenly-spaced pages of /stargazers using application/vnd.github.star+json so each sample carries a starred_at timestamp. Free public API, no auth (subject to GitHub's 60 req/h unauthenticated limit).",
1298
+ "description": "(0.005 USDC/call) Tracks GitHub stars history: current star count plus a sampled cumulative-stars-vs-date series for any public GitHub repo. Walks 1-10 evenly-spaced pages of /stargazers using application/vnd.github.star+json so each sample carries a starred_at timestamp. Free public API, no auth (subject to GitHub's 60 req/h unauthenticated limit). Use it as a star growth chart, repo popularity over time, or trending tracker.",
1299
1299
  "method": "POST",
1300
1300
  "input_schema": {
1301
1301
  "type": "object",
@@ -1317,7 +1317,7 @@ export const TOOLS = [
1317
1317
  {
1318
1318
  "name": "google-search",
1319
1319
  "http_name": "google-search",
1320
- "description": "(0.01 USDC/call) Google Search API / web SERP API / agent source discovery. Returns ranked Google organic results with title, URL, snippet, domain, and optional recency filter via Decodo Google Search. For cited synthesis use answer-web; for page extraction use scrape-to-json.",
1320
+ "description": "(0.02 USDC/call) Ranked Google organic results for any query title, URL, snippet, domain, and an optional recency filter, via Decodo Google Search. A Google Search / SERP API for agent source discovery; for cited synthesis use answer-web, for page extraction use scrape-to-json.",
1321
1321
  "method": "POST",
1322
1322
  "input_schema": {
1323
1323
  "type": "object",
@@ -1354,7 +1354,7 @@ export const TOOLS = [
1354
1354
  {
1355
1355
  "name": "hacker-news-search",
1356
1356
  "http_name": "hacker-news-search",
1357
- "description": "(0.001 USDC/call) Hacker News search / HN search / yc-news / Algolia HN. Searches 30M+ Hacker News stories and comments. Filter by type (story/comment/poll), author, min points, ISO8601 date range; sort by relevance or recency. Returns title, author, points, comment count, URL.",
1357
+ "description": "(0.005 USDC/call) Search 30M+ Hacker News stories and comments via the Algolia HN index. Filter by type (story/comment/poll), author, minimum points, and ISO-8601 date range; sort by relevance or recency. Returns title, author, points, comment count, and URL.",
1358
1358
  "method": "POST",
1359
1359
  "input_schema": {
1360
1360
  "type": "object",
@@ -1409,7 +1409,7 @@ export const TOOLS = [
1409
1409
  {
1410
1410
  "name": "handle-availability",
1411
1411
  "http_name": "handle-availability",
1412
- "description": "(0.005 USDC/call) Handle availability checker / social username availability / brand handle pre-flight. Same read-only X API backend as x-handle-availability, exposed under a general discovery slug for brand launch workflows. Returns available=true for not-found handles and public profile metrics when claimed.",
1412
+ "description": "(0.005 USDC/call) Checks whether a social handle is available on X and returns public profile metrics when it is already claimed. Same read-only X API backend as x-handle-availability, exposed under a general discovery slug for brand launch workflows; returns available=true for not-found handles. Use it as a handle availability checker, social username availability check, or brand handle pre-flight.",
1413
1413
  "method": "POST",
1414
1414
  "input_schema": {
1415
1415
  "type": "object",
@@ -1427,7 +1427,7 @@ export const TOOLS = [
1427
1427
  {
1428
1428
  "name": "headless-browser",
1429
1429
  "http_name": "headless-browser",
1430
- "description": "(0.03 USDC/call) Headless browser API / browser automation render / JavaScript scraping endpoint. Opens a public URL in a real browser runtime, waits for client-side rendering, and returns the rendered DOM or screenshot. Use when plain fetch, scrape, or HTML-to-Markdown cannot see JS-built content.",
1430
+ "description": "(0.03 USDC/call) Opens a public URL in a real headless browser, waits for client-side rendering, and returns the rendered DOM or a screenshot. Use when plain fetch, scrape, or HTML-to-Markdown cannot see JS-built content. Works as a headless browser API, browser automation render, or JavaScript scraping endpoint.",
1431
1431
  "method": "POST",
1432
1432
  "input_schema": {
1433
1433
  "type": "object",
@@ -1461,7 +1461,7 @@ export const TOOLS = [
1461
1461
  {
1462
1462
  "name": "hn-search",
1463
1463
  "http_name": "hn-search",
1464
- "description": "(0.001 USDC/call) HN search / Hacker News search / yc-news / startup-news search / Algolia HN / who-is-hiring scraper / programmer-news firehose. Searches 30M+ Hacker News stories and comments via the public Algolia HN index. Filter by type (story|comment|poll), author, minimum points, ISO8601 date range (since/until), and sort by relevance or recency. Returns total hit count plus per-hit objectID, title, author, points, comment count, created_at, URL, and story/comment text. Public Algolia API no auth, commercial-OK.",
1464
+ "description": "(0.005 USDC/call) Searches 30M+ Hacker News stories and comments via the public Algolia HN index. Filter by type (story|comment|poll), author, minimum points, ISO8601 date range (since/until), and sort by relevance or recency. Returns total hit count plus per-hit objectID, title, author, points, comment count, created_at, URL, and story/comment text. Public Algolia API, no auth, commercial-OK. Use it as an HN search, yc-news or startup-news search, who-is-hiring scraper, or programmer-news firehose.",
1465
1465
  "method": "POST",
1466
1466
  "input_schema": {
1467
1467
  "type": "object",
@@ -1516,7 +1516,7 @@ export const TOOLS = [
1516
1516
  {
1517
1517
  "name": "homoglyph-check",
1518
1518
  "http_name": "homoglyph-check",
1519
- "description": "(0.003 USDC/call) Homoglyph detector / Unicode lookalike scanner / IDN spoof check / phishing-domain inspector / typosquat detector / mixed-script analyzer / zero-width-char finder. Scans text (typically a domain, email, or username) for Cyrillic / Greek / fullwidth / mathematical lookalikes that impersonate ASCII Latin letters, plus zero-width and RTL-override / bidi-control characters. Returns per-character findings (codepoint, block, impersonates), block counts, mixed-script flag, ASCII-folded normalized form, and a 0-100 risk score with bucket.",
1519
+ "description": "(0.003 USDC/call) Detects Unicode lookalike characters that impersonate ASCII Latin letters, a common phishing-domain trick. Scans text (typically a domain, email, or username) for Cyrillic / Greek / fullwidth / mathematical lookalikes plus zero-width and RTL-override / bidi-control characters. Returns per-character findings (codepoint, block, impersonates), block counts, mixed-script flag, ASCII-folded normalized form, and a 0-100 risk score with bucket. Use it as a homoglyph detector, Unicode lookalike scanner, IDN spoof check, phishing-domain inspector, typosquat detector, mixed-script analyzer, or zero-width-char finder.",
1520
1520
  "method": "POST",
1521
1521
  "input_schema": {
1522
1522
  "type": "object",
@@ -1534,7 +1534,7 @@ export const TOOLS = [
1534
1534
  {
1535
1535
  "name": "inbox-readiness-check",
1536
1536
  "http_name": "inbox-readiness-check",
1537
- "description": "(0.005 USDC/call) Inbox readiness check / email domain health / deliverability score API. Checks MX reachability, SPF mode, DMARC policy, DKIM selectors, disposable-domain risk, and role-account signals, then returns a low/medium/high risk bucket and findings for mail launch or lead-routing workflows.",
1537
+ "description": "(0.005 USDC/call) Checks whether an email domain is ready to receive mail, returning a low/medium/high risk bucket and findings for mail launch or lead-routing workflows. Covers MX reachability, SPF mode, DMARC policy, DKIM selectors, disposable-domain risk, and role-account signals. Use it as an inbox readiness check, email domain health probe, or deliverability score API.",
1538
1538
  "method": "POST",
1539
1539
  "input_schema": {
1540
1540
  "type": "object",
@@ -1559,7 +1559,7 @@ export const TOOLS = [
1559
1559
  {
1560
1560
  "name": "ip-asn",
1561
1561
  "http_name": "ip-asn",
1562
- "description": "(0.001 USDC/call) IP to ASN / IP geolocation / IP-to-ISP lookup / WHOIS for IP / cloud-provider attribution. For any IPv4 or IPv6 address, returns ASN number, ASN org, ISP, country, region, city, postal, latitude/longitude, and timezone. Primary backend: ipapi.co (1k req/day free). Fallback: ip-api.com (45 req/min free). Both are free public APIs with no auth.",
1562
+ "description": "(0.003 USDC/call) Looks up ASN and geolocation for any IPv4 or IPv6 address: ASN number, ASN org, ISP, country, region, city, postal, latitude/longitude, and timezone. Primary backend: ipapi.co (1k req/day free); fallback: ip-api.com (45 req/min free). Both are free public APIs with no auth. Use it as an IP-to-ASN, IP geolocation, IP-to-ISP lookup, WHOIS for IP, or cloud-provider attribution tool.",
1563
1563
  "method": "POST",
1564
1564
  "input_schema": {
1565
1565
  "type": "object",
@@ -1577,7 +1577,7 @@ export const TOOLS = [
1577
1577
  {
1578
1578
  "name": "javascript-render",
1579
1579
  "http_name": "javascript-render",
1580
- "description": "(0.03 USDC/call) JavaScript render API / JS page renderer / single-page-app HTML renderer. Loads a URL with JavaScript enabled and returns the browser-rendered HTML, title, resolved URL, and truncation metadata, or captures a screenshot when screenshot=true.",
1580
+ "description": "(0.03 USDC/call) Renders a URL with JavaScript enabled and returns the browser-rendered HTML, title, resolved URL, and truncation metadata, or captures a screenshot when screenshot=true. Use it as a JavaScript render API, JS page renderer, or single-page-app HTML renderer.",
1581
1581
  "method": "POST",
1582
1582
  "input_schema": {
1583
1583
  "type": "object",
@@ -1611,7 +1611,7 @@ export const TOOLS = [
1611
1611
  {
1612
1612
  "name": "jwt-decode",
1613
1613
  "http_name": "jwt-decode",
1614
- "description": "(0.003 USDC/call) JWT decoder / JWT parser / JSON Web Token inspector / Bearer token debugger / OAuth ID-token reader / Auth0 + Cognito + Firebase token inspector. Base64URL-decodes header and payload, parses standard claims (iss, aud, sub, exp, iat, nbf, jti), reports algorithm, key id (kid), token type (typ), TTL, and clock-validity (is_expired / is_not_yet_valid / is_currently_valid_by_clock). Does NOT verify signatures — for inspection only, never trust output for auth decisions.",
1614
+ "description": "(0.003 USDC/call) Decodes a JWT and inspects its claims without needing the signing key. Base64URL-decodes header and payload, parses standard claims (iss, aud, sub, exp, iat, nbf, jti), and reports algorithm, key id (kid), token type (typ), TTL, and clock-validity (is_expired / is_not_yet_valid / is_currently_valid_by_clock). Does NOT verify signatures — for inspection only, never trust output for auth decisions. Use it as a JWT parser, JSON Web Token inspector, Bearer token debugger, OAuth ID-token reader, or Auth0 + Cognito + Firebase token inspector.",
1615
1615
  "method": "POST",
1616
1616
  "input_schema": {
1617
1617
  "type": "object",
@@ -1629,7 +1629,7 @@ export const TOOLS = [
1629
1629
  {
1630
1630
  "name": "keyword-suggest",
1631
1631
  "http_name": "keyword-suggest",
1632
- "description": "(0.002 USDC/call) Keyword autocomplete / search suggest / SEO keyword research / query expansion / autocomplete suggestions. Aggregates suggestions from Wikipedia OpenSearch + DuckDuckGo's autocomplete (both public, no auth) into a de-duplicated ranked list. Useful for SEO content-gap analysis, LLM query expansion, agent-driven research.",
1632
+ "description": "(0.003 USDC/call) Keyword and autocomplete suggestions for any seed query. Aggregates Wikipedia OpenSearch and DuckDuckGo autocomplete (both public, no auth) into a de-duplicated ranked list useful for SEO keyword research, content-gap analysis, LLM query expansion, and agent-driven research.",
1633
1633
  "method": "POST",
1634
1634
  "input_schema": {
1635
1635
  "type": "object",
@@ -1664,7 +1664,7 @@ export const TOOLS = [
1664
1664
  {
1665
1665
  "name": "lead-enrich",
1666
1666
  "http_name": "lead-enrich",
1667
- "description": "(0.01 USDC/call) Lead enrichment API / person enrichment / people enrich / email enrichment lite. Given an email, name, domain, or company, normalizes a public-data person record, infers safe display names from email, checks MX records, and optionally reads public homepage metadata for company context. No private people database, LinkedIn scraping, or social-network scraping.",
1667
+ "description": "(0.01 USDC/call) Enriches a lead from an email, name, domain, or company into a normalized public-data person record. Infers safe display names from email, checks MX records, and optionally reads public homepage metadata for company context. No private people database, LinkedIn scraping, or social-network scraping. Use it as a lead enrichment API, person enrichment, people enrich, or email enrichment lite.",
1668
1668
  "method": "POST",
1669
1669
  "input_schema": {
1670
1670
  "type": "object",
@@ -1695,7 +1695,7 @@ export const TOOLS = [
1695
1695
  {
1696
1696
  "name": "link-extract",
1697
1697
  "http_name": "link-extract",
1698
- "description": "(0.005 USDC/call) Link extractor / extract links from URL / list all anchor links / page outlink crawler / scrape outbound links / get hrefs from page. Fetches an HTML URL and returns every <a> link with its anchor text, rel attribute, and an is_external flag. Resolves relative URLs against the page's <base> or final URL. Lighter than full scrape / metadata endpoints exact tool for the agent task 'walk this page, pick which links to follow.' Default 500-link cap. SSRF-guarded (no loopback / RFC1918 targets).",
1698
+ "description": "(0.005 USDC/call) Extracts every link from a webpage: fetches the HTML URL and returns each <a> link with its anchor text, rel attribute, and an is_external flag. Resolves relative URLs against the page's <base> or final URL. Lighter than full scrape / metadata endpoints; the exact tool for the agent task 'walk this page, pick which links to follow.' Default 500-link cap. SSRF-guarded (no loopback / RFC1918 targets). Use it as a link extractor, page outlink crawler, or to scrape outbound links and get hrefs from a page.",
1699
1699
  "method": "POST",
1700
1700
  "input_schema": {
1701
1701
  "type": "object",
@@ -1729,7 +1729,7 @@ export const TOOLS = [
1729
1729
  {
1730
1730
  "name": "link-unshortener",
1731
1731
  "http_name": "link-unshortener",
1732
- "description": "(0.02 USDC/call) Link unshortener API / short URL resolver / phishing redirect inspector. Same expand-url backend, listed for agents unmasking shortened links before fetch, enrichment, or security review.",
1732
+ "description": "(0.02 USDC/call) Unshortens links, unmasking shortened URLs before fetch, enrichment, or security review. Same expand-url backend. Use it as a link unshortener API, short URL resolver, or phishing redirect inspector.",
1733
1733
  "method": "POST",
1734
1734
  "input_schema": {
1735
1735
  "type": "object",
@@ -1755,7 +1755,7 @@ export const TOOLS = [
1755
1755
  {
1756
1756
  "name": "ma-domain-diligence",
1757
1757
  "http_name": "ma-domain-diligence",
1758
- "description": "(0.02 USDC/call) M&A domain diligence API / acquisition domain history / company website RDAP check. Same whois-lookup backend, listed for deal, finance, and procurement agents that need domain age, expiry, registrar, DNSSEC, nameserver, and transfer signals during diligence.",
1758
+ "description": "(0.02 USDC/call) Runs M&A domain diligence, giving deal, finance, and procurement agents domain age, expiry, registrar, DNSSEC, nameserver, and transfer signals. Same whois-lookup backend. Use it as an M&A domain diligence API, acquisition domain history check, or company website RDAP check.",
1759
1759
  "method": "POST",
1760
1760
  "input_schema": {
1761
1761
  "type": "object",
@@ -1777,7 +1777,7 @@ export const TOOLS = [
1777
1777
  {
1778
1778
  "name": "market-recap",
1779
1779
  "http_name": "market-recap",
1780
- "description": "(0.005 USDC/call) Crypto market recap / market news summary / bitcoin ethereum recap / DeFi headline digest. Builds a short recap from recent GDELT crypto headlines: lead headlines, top sources, sentiment distribution, tone, and one-paragraph recap. Data-only news synthesis; no price prediction, trading advice, or order routing.",
1780
+ "description": "(0.005 USDC/call) Builds a short crypto market recap from recent GDELT crypto headlines: lead headlines, top sources, sentiment distribution, tone, and a one-paragraph recap. Data-only news digests; no price prediction, trading advice, or order routing. Use it as a market news summary, bitcoin ethereum recap, or DeFi headline digest.",
1781
1781
  "method": "POST",
1782
1782
  "input_schema": {
1783
1783
  "type": "object",
@@ -1812,7 +1812,7 @@ export const TOOLS = [
1812
1812
  {
1813
1813
  "name": "mcp-tools-list",
1814
1814
  "http_name": "mcp-tools-list",
1815
- "description": "(0.005 USDC/call) MCP tools-list / Model Context Protocol discovery / list MCP server tools / tools/list JSON-RPC / agent capability discovery / MCP catalog lookup. Pass any MCP server URL (HTTP transport) — completes the initialize handshake and returns the tool catalog (names, descriptions, JSON-schema input shapes). Optionally also lists resources and prompts. Pure agent infrastructure: an agent that discovers an unknown MCP server URL gets back its capabilities without running its own MCP client. SSRF-guarded (no loopback / RFC1918 targets).",
1815
+ "description": "(0.005 USDC/call) Lists the tools exposed by any MCP (Model Context Protocol) server from its URL. Completes the initialize handshake over HTTP transport and returns the tool catalog (names, descriptions, JSON-schema input shapes); optionally also lists resources and prompts. Pure agent infrastructure: an agent that discovers an unknown MCP server URL gets back its capabilities without running its own MCP client. SSRF-guarded (no loopback / RFC1918 targets). Use it for tools/list JSON-RPC, agent capability discovery, or MCP catalog lookup.",
1816
1816
  "method": "POST",
1817
1817
  "input_schema": {
1818
1818
  "type": "object",
@@ -1842,7 +1842,7 @@ export const TOOLS = [
1842
1842
  {
1843
1843
  "name": "mentions",
1844
1844
  "http_name": "mentions",
1845
- "description": "(0.006 USDC/call) Mentions API / X mentions search / Twitter mention monitor / public social mention search. Searches recent public X posts for a brand, handle, URL, ticker, or phrase and returns matching posts with author and metric fields. Uses X API v2 recent search. Read-only; no posting, replying, liking, following, or account mutation.",
1845
+ "description": "(0.006 USDC/call) Monitors public X mentions of a brand, handle, URL, ticker, or phrase by searching recent posts and returning matches with author and metric fields. Uses X API v2 recent search. Read-only; no posting, replying, liking, following, or account mutation. Use it as a mentions API, X mentions search, Twitter mention monitor, or public social mention search.",
1846
1846
  "method": "POST",
1847
1847
  "input_schema": {
1848
1848
  "type": "object",
@@ -1868,7 +1868,7 @@ export const TOOLS = [
1868
1868
  {
1869
1869
  "name": "mindshare",
1870
1870
  "http_name": "mindshare",
1871
- "description": "(0.008 USDC/call) Mindshare API / social mindshare / X conversation share / Twitter sentiment summary. Searches recent public X posts for a topic and returns tweet-level sentiment plus aggregate positive/neutral/negative distribution and average score. Searches recent X posts with sentiment scoring. Read-only; no posting, replying, liking, following, or account mutation.",
1871
+ "description": "(0.008 USDC/call) Measures social mindshare by searching recent public X posts for a topic and returning tweet-level sentiment plus aggregate positive/neutral/negative distribution and average score. Read-only; no posting, replying, liking, following, or account mutation. Use it as a mindshare API, X conversation share tracker, or Twitter sentiment summary.",
1872
1872
  "method": "POST",
1873
1873
  "input_schema": {
1874
1874
  "type": "object",
@@ -1894,7 +1894,7 @@ export const TOOLS = [
1894
1894
  {
1895
1895
  "name": "npm-package-stats",
1896
1896
  "http_name": "npm-package-stats",
1897
- "description": "(0.003 USDC/call) npm package stats / npm registry lookup / npm downloads / package release history / package metadata. Fetches the public npm registry record for a package and returns description, license, repository, latest version, total version count, recent versions with publish timestamps and deprecation flags, age in days, days since last release, maintainer count + list, and downloads for the last day, week, month, year. The npm registry numbers behind package-risk-npm just the metrics, without the risk write-up. Public npm registry (registry.npmjs.org + api.npmjs.org), commercial use permitted under the npm Public Registry Open Source Terms.",
1897
+ "description": "(0.003 USDC/call) Fetches the public npm registry record for a package and returns description, license, repository, latest version, total version count, recent versions with publish timestamps and deprecation flags, age in days, days since last release, maintainer count + list, and downloads for the last day, week, month, year. The npm registry numbers behind package-risk-npm, just the metrics without the risk write-up. Public npm registry (registry.npmjs.org + api.npmjs.org), commercial use permitted under the npm Public Registry Open Source Terms. Use it for npm package stats, npm registry lookup, npm downloads, package release history, or package metadata.",
1898
1898
  "method": "POST",
1899
1899
  "input_schema": {
1900
1900
  "type": "object",
@@ -1916,7 +1916,7 @@ export const TOOLS = [
1916
1916
  {
1917
1917
  "name": "password-strength",
1918
1918
  "http_name": "password-strength",
1919
- "description": "(0.02 USDC/call) Password strength / password strength meter / password checker / password entropy calculator / zxcvbn-style score / HIBP breach lookup / pwned password check / password validator. Returns 0-100 score and weak/fair/good/strong/excellent bucket, Shannon entropy bits, charset size, character-class breakdown (lower/upper/numbers/symbols), common-pattern detection (sequences, keyboard walks, repeats, dictionary words), and crack-time estimates across throttled/unthrottled/offline-slow/offline-fast attacker models. Plus optional Have-I-Been-Pwned k-anonymity breach lookup - only the first 5 chars of the SHA-1 hash leave the worker.",
1919
+ "description": "(0.02 USDC/call) Measures password strength with a zxcvbn-style score and optional HIBP breach lookup. Returns a 0-100 score and weak/fair/good/strong/excellent bucket, Shannon entropy bits, charset size, character-class breakdown (lower/upper/numbers/symbols), common-pattern detection (sequences, keyboard walks, repeats, dictionary words), and crack-time estimates across throttled/unthrottled/offline-slow/offline-fast attacker models. The optional Have-I-Been-Pwned check uses k-anonymity: only the first 5 chars of the SHA-1 hash leave the worker. Use it as a password strength meter, password checker, password entropy calculator, pwned password check, or password validator.",
1920
1920
  "method": "POST",
1921
1921
  "input_schema": {
1922
1922
  "type": "object",
@@ -1938,7 +1938,7 @@ export const TOOLS = [
1938
1938
  {
1939
1939
  "name": "people",
1940
1940
  "http_name": "people",
1941
- "description": "(0.01 USDC/call) People lookup / people API / person lookup (alias of people-enrich). Given an email, name, domain, or company, returns a normalized person record with inferred display name, free-email detection, MX records, and optional public company context. Public-data only; no private people databases or LinkedIn scraping.",
1941
+ "description": "(0.01 USDC/call) Looks up a person from an email, name, domain, or company and returns a normalized public-data record (alias of people-enrich). Includes inferred display name, free-email detection, MX records, and optional public company context. Public-data only; no private people databases or LinkedIn scraping. Use it as a people lookup, people API, or person lookup.",
1942
1942
  "method": "POST",
1943
1943
  "input_schema": {
1944
1944
  "type": "object",
@@ -1969,7 +1969,7 @@ export const TOOLS = [
1969
1969
  {
1970
1970
  "name": "people-enrich",
1971
1971
  "http_name": "people-enrich",
1972
- "description": "(0.01 USDC/call) People enrichment API / contacts enrich / contact enrichment / person enrichment / email enrichment / lead enrichment lite / Apollo alternative for agents. Given email, name, domain, or company, normalizes the person record, infers a display name from email when safe, detects free-email domains, fetches MX records via Cloudflare DNS, and optionally reads public homepage metadata for company context. Public-data only; does not use private people databases, LinkedIn scraping, or social-network scraping.",
1972
+ "description": "(0.01 USDC/call) Enriches a person record from an email, name, domain, or company using public data only. Normalizes the record, infers a display name from email when safe, detects free-email domains, fetches MX records via Cloudflare DNS, and optionally reads public homepage metadata for company context. Does not use private people databases, LinkedIn scraping, or social-network scraping. Use it as a people enrichment API, contacts enrich, contact enrichment, person enrichment, email enrichment, lead enrichment lite, or an Apollo alternative for agents.",
1973
1973
  "method": "POST",
1974
1974
  "input_schema": {
1975
1975
  "type": "object",
@@ -2000,7 +2000,7 @@ export const TOOLS = [
2000
2000
  {
2001
2001
  "name": "people-search",
2002
2002
  "http_name": "people-search",
2003
- "description": "(0.01 USDC/call) People search API / lead lookup / lightweight people enrichment. Accepts email/name/domain/company context and returns a normalized public-data person record with inferred name, domain, company, MX records, and homepage context when available. It is enrichment from caller-supplied identifiers, not a private people database.",
2003
+ "description": "(0.01 USDC/call) Searches for a person from caller-supplied identifiers and returns a normalized public-data record. Accepts email/name/domain/company context and returns inferred name, domain, company, MX records, and homepage context when available. It is enrichment from caller-supplied identifiers, not a private people database. Use it as a people search API, lead lookup, or compact people enrichment.",
2004
2004
  "method": "POST",
2005
2005
  "input_schema": {
2006
2006
  "type": "object",
@@ -2062,7 +2062,7 @@ export const TOOLS = [
2062
2062
  {
2063
2063
  "name": "person-enrich",
2064
2064
  "http_name": "person-enrich",
2065
- "description": "(0.01 USDC/call) Person enrichment API / people enrichment / email-to-person profile lite. Normalizes a person record from email/name/domain/company inputs using public DNS and homepage metadata. Designed for agents that need lightweight enrichment without private data brokers or social scraping.",
2065
+ "description": "(0.01 USDC/call) Builds a normalized person profile from email, name, domain, or company inputs using public DNS and homepage metadata. Designed for agents that need quick enrichment without private data brokers or social scraping. Use it as a person enrichment API, people enrichment, or email-to-person profile lite.",
2066
2066
  "method": "POST",
2067
2067
  "input_schema": {
2068
2068
  "type": "object",
@@ -2115,7 +2115,7 @@ export const TOOLS = [
2115
2115
  {
2116
2116
  "name": "product-name-score",
2117
2117
  "http_name": "product-name-score",
2118
- "description": "(0.005 USDC/call) Product name score API / product naming evaluator / feature name quality check. Same backend as brand-name-score, surfaced for agents naming products, features, apps, tools, newsletters, and APIs.",
2118
+ "description": "(0.005 USDC/call) Scores product name quality for agents naming products, features, apps, tools, newsletters, and APIs. Same backend as brand-name-score. Use it as a product name score API, product naming evaluator, or feature name quality check.",
2119
2119
  "method": "POST",
2120
2120
  "input_schema": {
2121
2121
  "type": "object",
@@ -2145,7 +2145,7 @@ export const TOOLS = [
2145
2145
  {
2146
2146
  "name": "pubmed-search",
2147
2147
  "http_name": "pubmed-search",
2148
- "description": "(0.01 USDC/call) PubMed search / biomedical literature search / medical journal lookup / NIH paper search / clinical-research finder / MeSH-term query / NCBI E-utilities wrapper. Searches PubMed for biomedical articles by free-text query, with optional date range and sort (relevance / pub_date / first_author). Returns total hit count plus PMID, title, authors, journal, publication date, abstract, MeSH terms, and DOI per paper. Federal public-domain data via NCBI.",
2148
+ "description": "(0.01 USDC/call) Searches PubMed for biomedical literature by free-text query, with optional date range and sort (relevance / pub_date / first_author). Returns total hit count plus PMID, title, authors, journal, publication date, abstract, MeSH terms, and DOI per paper. Federal public-domain data via NCBI. Use it as a medical journal lookup, NIH paper search, clinical-research finder, MeSH-term query, or NCBI E-utilities wrapper.",
2149
2149
  "method": "POST",
2150
2150
  "input_schema": {
2151
2151
  "type": "object",
@@ -2188,7 +2188,7 @@ export const TOOLS = [
2188
2188
  {
2189
2189
  "name": "pypi-package-stats",
2190
2190
  "http_name": "pypi-package-stats",
2191
- "description": "(0.003 USDC/call) PyPI package stats / Python package registry lookup / pip package metadata / pypistats downloads / Python ecosystem metadata. Fetches the public PyPI JSON record for a Python package and returns summary, license, homepage, repository, documentation, issues URL, author, maintainer, classifiers, latest version, total version count, recent versions with publish timestamps and yanked flags, age in days, days_since_last_release. Also pulls last-day / last-week / last-month download counts from pypistats.org (Linehaul-derived). Lightweight companion to package-risk-pypi for cases where you just need the numbers, no risk synthesis. Public PyPI + pypistats APIs, no auth.",
2191
+ "description": "(0.003 USDC/call) Fetches the public PyPI JSON record for a Python package and returns summary, license, homepage, repository, documentation, issues URL, author, maintainer, classifiers, latest version, total version count, recent versions with publish timestamps and yanked flags, age in days, and days_since_last_release. Also pulls last-day / last-week / last-month download counts from pypistats.org (Linehaul-derived). A quick companion to package-risk-pypi for cases where you just need the numbers, no risk write-up. Public PyPI + pypistats APIs, no auth. Use it for PyPI package stats, Python package registry lookup, pip package metadata, pypistats downloads, or Python ecosystem metadata.",
2192
2192
  "method": "POST",
2193
2193
  "input_schema": {
2194
2194
  "type": "object",
@@ -2210,7 +2210,7 @@ export const TOOLS = [
2210
2210
  {
2211
2211
  "name": "qr-code",
2212
2212
  "http_name": "qr-code",
2213
- "description": "(0.002 USDC/call) QR code reader / QR code decode API / scan QR from image URL. Reads one or more QR codes from a public PNG, JPG, GIF, BMP, or SVG-rendered image and returns decoded text strings.",
2213
+ "description": "(0.005 USDC/call) Reads one or more QR codes from a public PNG, JPG, GIF, BMP, or SVG-rendered image URL and returns the decoded text strings. Use it as a QR code reader, QR code decode API, or scan-QR-from-image tool.",
2214
2214
  "method": "POST",
2215
2215
  "input_schema": {
2216
2216
  "type": "object",
@@ -2228,7 +2228,7 @@ export const TOOLS = [
2228
2228
  {
2229
2229
  "name": "qr-code-api",
2230
2230
  "http_name": "qr-code-api",
2231
- "description": "(0.002 USDC/call) QR code API / QR scanner API / decode QR image endpoint. Same QR decode backend as qr-code, listed for agents reading one or more QR codes from public PNG, JPG, GIF, BMP, or SVG-rendered image URLs.",
2231
+ "description": "(0.005 USDC/call) Decodes QR codes, reading one or more codes from public PNG, JPG, GIF, BMP, or SVG-rendered image URLs. Same QR decode backend as qr-code. Use it as a QR code API, QR scanner API, or decode QR image endpoint.",
2232
2232
  "method": "POST",
2233
2233
  "input_schema": {
2234
2234
  "type": "object",
@@ -2246,7 +2246,7 @@ export const TOOLS = [
2246
2246
  {
2247
2247
  "name": "qr-code-decode",
2248
2248
  "http_name": "qr-code-decode",
2249
- "description": "(0.002 USDC/call) QR code decode / QR decoder / QR reader / scan QR from URL / QR code OCR / barcode reader / link extraction from QR. Reads QR codes out of any public image URL (PNG / JPG / GIF / BMP) and returns the decoded text strings. Multiple QR codes in a single image are returned as separate entries. Decodes a QR code from an image. Returns an empty `codes` array plus a descriptive `note` if the image can't be fetched or no QR is found.",
2249
+ "description": "(0.005 USDC/call) Reads QR codes out of any public image URL (PNG / JPG / GIF / BMP) and returns the decoded text strings. Multiple QR codes in a single image are returned as separate entries. Returns an empty 'codes' array plus a descriptive 'note' if the image can't be fetched or no QR is found. Use it as a QR decoder, QR reader, scan-QR-from-URL tool, QR code OCR, barcode reader, or link extraction from QR.",
2250
2250
  "method": "POST",
2251
2251
  "input_schema": {
2252
2252
  "type": "object",
@@ -2264,7 +2264,7 @@ export const TOOLS = [
2264
2264
  {
2265
2265
  "name": "qr-code-generate",
2266
2266
  "http_name": "qr-code-generate",
2267
- "description": "(0.001 USDC/call) QR code generator / QR maker / vCard QR / WiFi QR / URL to QR / SVG QR / PNG QR / customizable error correction. Generates a QR code from arbitrary text URL, vCard, WiFi join string, plain text and returns it as a base64-encoded PNG (default) or SVG. Configurable size (64-1024 px), error correction level (L/M/Q/H), quiet-zone margin, and foreground/background hex colors.",
2267
+ "description": "(0.005 USDC/call) Generates a QR code from arbitrary text (URL, vCard, WiFi join string, plain text) and returns it as a base64-encoded PNG (default) or SVG. Configurable size (64-1024 px), error correction level (L/M/Q/H), quiet-zone margin, and foreground/background hex colors. Use it as a QR code generator, QR maker, vCard QR, WiFi QR, or URL-to-QR tool with customizable error correction.",
2268
2268
  "method": "POST",
2269
2269
  "input_schema": {
2270
2270
  "type": "object",
@@ -2316,7 +2316,7 @@ export const TOOLS = [
2316
2316
  {
2317
2317
  "name": "qr-generator",
2318
2318
  "http_name": "qr-generator",
2319
- "description": "(0.001 USDC/call) QR generator API / create QR code / text-to-QR / link QR generator. Encodes text, URLs, vCards, WiFi strings, and plain text into PNG or SVG QR codes with configurable size, margin, colors, and error correction.",
2319
+ "description": "(0.001 USDC/call) Generates PNG or SVG QR codes from text, URLs, vCards, WiFi strings, and plain text with configurable size, margin, colors, and error correction. Use it as a QR generator API, create-QR-code endpoint, text-to-QR, or link QR generator.",
2320
2320
  "method": "POST",
2321
2321
  "input_schema": {
2322
2322
  "type": "object",
@@ -2368,7 +2368,7 @@ export const TOOLS = [
2368
2368
  {
2369
2369
  "name": "qr-maker",
2370
2370
  "http_name": "qr-maker",
2371
- "description": "(0.001 USDC/call) QR maker API / QR code maker / URL to QR / text to QR. Generates a PNG or SVG QR code from text, URL, vCard, WiFi join string, or plain text.",
2371
+ "description": "(0.001 USDC/call) Makes a QR code from text, URL, vCard, WiFi join string, or plain text and returns it as PNG or SVG. Use it as a QR maker API, QR code maker, URL-to-QR, or text-to-QR tool.",
2372
2372
  "method": "POST",
2373
2373
  "input_schema": {
2374
2374
  "type": "object",
@@ -2420,7 +2420,7 @@ export const TOOLS = [
2420
2420
  {
2421
2421
  "name": "qr-reader",
2422
2422
  "http_name": "qr-reader",
2423
- "description": "(0.002 USDC/call) QR reader API / scan QR image / decode QR code from URL. Fetches a public image and returns decoded QR text values, with multiple QR codes returned as separate entries.",
2423
+ "description": "(0.005 USDC/call) Fetches a public image and returns decoded QR text values, with multiple QR codes returned as separate entries. Use it as a QR reader API, scan-QR-image tool, or decode-QR-from-URL endpoint.",
2424
2424
  "method": "POST",
2425
2425
  "input_schema": {
2426
2426
  "type": "object",
@@ -2438,7 +2438,7 @@ export const TOOLS = [
2438
2438
  {
2439
2439
  "name": "qr-scanner",
2440
2440
  "http_name": "qr-scanner",
2441
- "description": "(0.002 USDC/call) QR scanner API / QR image decoder / scan QR code from URL. Reads QR codes from a public image URL and returns decoded text strings plus source notes.",
2441
+ "description": "(0.005 USDC/call) Scans QR codes from a public image URL and returns decoded text strings plus source notes. Use it as a QR scanner API or QR image decoder.",
2442
2442
  "method": "POST",
2443
2443
  "input_schema": {
2444
2444
  "type": "object",
@@ -2456,7 +2456,7 @@ export const TOOLS = [
2456
2456
  {
2457
2457
  "name": "registrar-lookup",
2458
2458
  "http_name": "registrar-lookup",
2459
- "description": "(0.02 USDC/call) Registrar lookup API / domain registrar finder / RDAP registrar metadata. Same backend as whois-lookup, discoverable for agents that need registrar name, IANA id, nameservers, DNSSEC, and EPP status codes.",
2459
+ "description": "(0.02 USDC/call) Finds a domain's registrar and related RDAP metadata: registrar name, IANA id, nameservers, DNSSEC, and EPP status codes. Same backend as whois-lookup. Use it as a registrar lookup API or domain registrar finder.",
2460
2460
  "method": "POST",
2461
2461
  "input_schema": {
2462
2462
  "type": "object",
@@ -2476,7 +2476,7 @@ export const TOOLS = [
2476
2476
  {
2477
2477
  "name": "research-brief",
2478
2478
  "http_name": "research-brief",
2479
- "description": "(0.10 USDC/call) Structured research brief / company brief / entity profile / topic brief / sales-prep dossier / due-diligence summary / competitive intel / agent-readable research. Given a company, person, product, or topic, builds a fixed-shape JSON brief: overview, key_facts, recent_news (with date hints), all with source-index citations. Combines Decodo Google SERP + parallel cheerio scrape (up to 8 sources) + Morpheus llama-3.3-70b with json_schema response_format.",
2479
+ "description": "(0.10 USDC/call) Builds a structured research brief on a company, person, product, or topic as fixed-shape JSON: overview, key_facts, recent_news (with date hints), all with source-index citations. Combines Decodo Google SERP + parallel cheerio scrape (up to 8 sources) + Morpheus llama-3.3-70b with json_schema response_format. Use it for company briefs, entity profiles, topic briefs, sales-prep dossiers, due-diligence summaries, competitive intel, or agent-readable research.",
2480
2480
  "method": "POST",
2481
2481
  "input_schema": {
2482
2482
  "type": "object",
@@ -2544,7 +2544,7 @@ export const TOOLS = [
2544
2544
  {
2545
2545
  "name": "sales-lead-domain-enrich",
2546
2546
  "http_name": "sales-lead-domain-enrich",
2547
- "description": "(0.02 USDC/call) Sales lead domain enrichment API / company website age / B2B account domain metadata. Same RDAP backend as whois-lookup, listed for enrichment agents that need registrar, domain age, expiry, nameservers, DNSSEC, and domain status codes before outreach.",
2547
+ "description": "(0.02 USDC/call) Enriches sales leads with company domain metadata: registrar, domain age, expiry, nameservers, DNSSEC, and domain status codes before outreach. Same RDAP backend as whois-lookup. Use it as a sales lead domain enrichment API, company website age check, or B2B account domain metadata source.",
2548
2548
  "method": "POST",
2549
2549
  "input_schema": {
2550
2550
  "type": "object",
@@ -2601,7 +2601,7 @@ export const TOOLS = [
2601
2601
  {
2602
2602
  "name": "scrape-to-json",
2603
2603
  "http_name": "scrape-to-json",
2604
- "description": "(0.02 USDC/call) URL to structured JSON / web scraper with schema enforcement / scrape and extract / website to JSON / page to structured data / scrape with JSON schema / Morpheus-powered extraction. Fetches a page server-side (cheerio, no headless), converts to clean markdown, then forces the output to a caller-supplied JSON schema via Morpheus mistral-31-24b. Pair with watch-page or research-brief for richer agent pipelines.",
2604
+ "description": "(0.02 USDC/call) Turn any webpage into structured JSON that matches your schema. Fetches the page server-side (cheerio, no headless browser), converts it to clean markdown, then extracts data conforming to a caller-supplied JSON schema via Morpheus mistral-31-24b. The web scraper to reach for when you need website-to-JSON, page-to-structured-data, or scrape-and-extract with schema enforcement. Pair with watch-page or research-brief for richer agent pipelines.",
2605
2605
  "method": "POST",
2606
2606
  "input_schema": {
2607
2607
  "type": "object",
@@ -2639,7 +2639,7 @@ export const TOOLS = [
2639
2639
  {
2640
2640
  "name": "scrape-website",
2641
2641
  "http_name": "scrape-website",
2642
- "description": "(0.04 USDC/call) Scrape website / web scrape API / scrape any webpage / webpage metadata extractor. Pulls title, description, canonical URL, OpenGraph + Twitter card metadata, headings, and outbound links from a single URL. Server-side rendering. Body content rendered as text / raw HTML / clean markdown. Optional link extraction. Cheerio-based, no headless browser - fast and cheap, ideal for static pages and SSR sites. For JS-heavy SPAs that need a real browser, see website-screenshot.",
2642
+ "description": "(0.04 USDC/call) Scrapes any webpage and pulls title, description, canonical URL, OpenGraph + Twitter card metadata, headings, and outbound links from a single URL. Server-side rendering; body content rendered as text, raw HTML, or clean markdown, with optional link extraction. Cheerio-based with no headless browser, so it is fast and cheap, ideal for static pages and SSR sites. For JS-heavy SPAs that need a real browser, see website-screenshot. Use it as a web scrape API or webpage metadata extractor.",
2643
2643
  "method": "POST",
2644
2644
  "input_schema": {
2645
2645
  "type": "object",
@@ -2718,7 +2718,7 @@ export const TOOLS = [
2718
2718
  {
2719
2719
  "name": "search",
2720
2720
  "http_name": "search",
2721
- "description": "(0.01 USDC/call) Search API / web search API / SERP search / agent search endpoint. Returns ranked Google results for a query with title, URL, snippet, domain, and optional recency filter. Uses Decodo Google Search. For fetched page text or cited synthesis, use scrape-to-json or answer-web.",
2721
+ "description": "(0.02 USDC/call) Returns ranked Google web search results for a query, with title, URL, snippet, domain, and optional recency filter. Uses Decodo Google Search. For fetched page text or cited synthesis, use scrape-to-json or answer-web. Use it as a web search API, SERP search, or agent search endpoint.",
2722
2722
  "method": "POST",
2723
2723
  "input_schema": {
2724
2724
  "type": "object",
@@ -2755,7 +2755,7 @@ export const TOOLS = [
2755
2755
  {
2756
2756
  "name": "search-web",
2757
2757
  "http_name": "search-web",
2758
- "description": "(0.01 USDC/call) Search web API / web-search endpoint / SERP results for agents. Returns ranked Google results with snippets and domains from Decodo Google Search. Use this low-cost endpoint for source discovery; use answer-web when you need a synthesized cited answer.",
2758
+ "description": "(0.02 USDC/call) Ranked Google results with snippets and domains from Decodo Google Search. A low-cost web-search endpoint for source discovery; use answer-web when you need a synthesized, cited answer.",
2759
2759
  "method": "POST",
2760
2760
  "input_schema": {
2761
2761
  "type": "object",
@@ -2792,7 +2792,7 @@ export const TOOLS = [
2792
2792
  {
2793
2793
  "name": "serp-search",
2794
2794
  "http_name": "serp-search",
2795
- "description": "(0.01 USDC/call) SERP search API / Google result search / web search endpoint for agents. Returns ranked search results with title, URL, snippet, and domain from Decodo Google Search. Intended for routers that need source discovery without LLM synthesis.",
2795
+ "description": "(0.02 USDC/call) Ranked Google search results with title, URL, snippet, and domain from Decodo Google Search. A SERP API intended for routers that need source discovery without LLM synthesis.",
2796
2796
  "method": "POST",
2797
2797
  "input_schema": {
2798
2798
  "type": "object",
@@ -2829,7 +2829,7 @@ export const TOOLS = [
2829
2829
  {
2830
2830
  "name": "sitemap-fetch",
2831
2831
  "http_name": "sitemap-fetch",
2832
- "description": "(0.005 USDC/call) Sitemap fetcher / sitemap.xml parser / sitemap index resolver / SEO sitemap reader / robots.txt sitemap discovery / website URL inventory. Accepts a site root (will discover sitemap via robots.txt or /sitemap.xml convention) OR a direct sitemap.xml URL. Recurses through sitemap-index nesting. Returns the URL list with lastmod / changefreq / priority and aggregate stats (count, oldest/newest lastmod). Useful for SEO audits, content-freshness monitoring, RAG ingestion seeding.",
2832
+ "description": "(0.005 USDC/call) Fetches and parses a site's sitemap.xml into a full website URL inventory. Accepts a site root (discovers the sitemap via robots.txt or the /sitemap.xml convention) or a direct sitemap.xml URL, and recurses through sitemap-index nesting. Returns the URL list with lastmod / changefreq / priority and aggregate stats (count, oldest/newest lastmod). Useful for SEO audits, content-freshness monitoring, RAG ingestion seeding. Use it as a sitemap parser, sitemap index resolver, SEO sitemap reader, or robots.txt sitemap discovery tool.",
2833
2833
  "method": "POST",
2834
2834
  "input_schema": {
2835
2835
  "type": "object",
@@ -2859,7 +2859,7 @@ export const TOOLS = [
2859
2859
  {
2860
2860
  "name": "social-handle-check",
2861
2861
  "http_name": "social-handle-check",
2862
- "description": "(0.005 USDC/call) Social handle check / X username availability / startup brand handle lookup. Same read-only X API backend as x-handle-availability. Checks whether a proposed X/Twitter handle is claimed and returns public account metrics when it exists.",
2862
+ "description": "(0.005 USDC/call) Checks whether a proposed X/Twitter handle is claimed and returns public account metrics when it exists. Same read-only X API backend as x-handle-availability. Use it as a social handle check, X username availability lookup, or startup brand handle lookup.",
2863
2863
  "method": "POST",
2864
2864
  "input_schema": {
2865
2865
  "type": "object",
@@ -2877,7 +2877,7 @@ export const TOOLS = [
2877
2877
  {
2878
2878
  "name": "ssl-cert",
2879
2879
  "http_name": "ssl-cert",
2880
- "description": "(0.03 USDC/call) SSL certificate inspector / TLS cert checker / certificate transparency lookup / ssl expiry. Issuer, subject, SAN list, validity dates, days-until-expiry. Sourced from Certificate Transparency logs (crt.sh).",
2880
+ "description": "(0.03 USDC/call) Checks a domain's SSL certificate: issuer, subject, SAN list, validity dates, and days-until-expiry. Sourced from Certificate Transparency logs (crt.sh). Use it as a TLS cert checker, certificate transparency lookup, or ssl expiry check.",
2881
2881
  "method": "POST",
2882
2882
  "input_schema": {
2883
2883
  "type": "object",
@@ -2897,7 +2897,7 @@ export const TOOLS = [
2897
2897
  {
2898
2898
  "name": "ssl-cert-info",
2899
2899
  "http_name": "ssl-cert-info",
2900
- "description": "(0.03 USDC/call) SSL / TLS certificate inspector / ssl cert checker. Issuer, subject, SAN list, validity dates, days-until-expiry. Sourced from Certificate Transparency logs (crt.sh).",
2900
+ "description": "(0.03 USDC/call) Inspects a domain's SSL/TLS certificate: issuer, subject, SAN list, validity dates, and days-until-expiry. Sourced from Certificate Transparency logs (crt.sh). Use it as an ssl cert checker or TLS certificate inspector.",
2901
2901
  "method": "POST",
2902
2902
  "input_schema": {
2903
2903
  "type": "object",
@@ -2937,7 +2937,7 @@ export const TOOLS = [
2937
2937
  {
2938
2938
  "name": "startup-domain-diligence",
2939
2939
  "http_name": "startup-domain-diligence",
2940
- "description": "(0.02 USDC/call) Startup domain diligence API / brand launch domain check / acquisition target domain age screen. Same RDAP backend as whois-lookup, listed for agents validating domain age, registrar, transfer history, DNSSEC, and expiry before launches or outreach.",
2940
+ "description": "(0.02 USDC/call) Checks a domain's age, registrar, transfer history, DNSSEC, and expiry before a startup launch or outreach. Same RDAP backend as whois-lookup. Use it for startup domain diligence, a brand launch domain check, or an acquisition target domain age screen.",
2941
2941
  "method": "POST",
2942
2942
  "input_schema": {
2943
2943
  "type": "object",
@@ -2959,7 +2959,7 @@ export const TOOLS = [
2959
2959
  {
2960
2960
  "name": "startup-name-generator",
2961
2961
  "http_name": "startup-name-generator",
2962
- "description": "(0.05 USDC/call) Startup name generator / product name generator / founder naming API. Same backend as domain-suggest. Generates short candidate names for a startup concept and checks matching domain availability across common startup TLDs.",
2962
+ "description": "(0.05 USDC/call) Generates candidate names for a startup concept and checks matching domain availability across common startup TLDs. Same backend as domain-suggest. Use it as a startup name generator, product name generator, or founder naming API.",
2963
2963
  "method": "POST",
2964
2964
  "input_schema": {
2965
2965
  "type": "object",
@@ -3031,7 +3031,7 @@ export const TOOLS = [
3031
3031
  {
3032
3032
  "name": "stocks-news",
3033
3033
  "http_name": "stocks-news",
3034
- "description": "(0.005 USDC/call) Stocks news API / equities news / stock market news / earnings news / Wall Street headlines for agents. GDELT-backed public news on equities, earnings, IPOs, the Fed, and macro recent headline metadata with sentiment and source domains. The equities companion to crypto-news. Data-only news synthesis; no price prediction, trading advice, or order routing.",
3034
+ "description": "(0.005 USDC/call) Fetches recent stock market news on equities, earnings, IPOs, the Fed, and macro from public GDELT data, returning headline metadata with sentiment and source domains. The equities companion to crypto-news. Data-only news digests; no price prediction, trading advice, or order routing. Use it as a stocks news API, equities news feed, earnings news source, or Wall Street headlines for agents.",
3035
3035
  "method": "POST",
3036
3036
  "input_schema": {
3037
3037
  "type": "object",
@@ -3066,7 +3066,7 @@ export const TOOLS = [
3066
3066
  {
3067
3067
  "name": "subdomain-enum",
3068
3068
  "http_name": "subdomain-enum",
3069
- "description": "(0.03 USDC/call) Subdomain enumeration / attack-surface mapping / DNS recon. Certificate Transparency log mining (crt.sh). All-public data. Each subdomain with first-seen, last-seen, cert count.",
3069
+ "description": "(0.03 USDC/call) Enumerates a domain's subdomains by mining Certificate Transparency logs (crt.sh). All-public data; each subdomain comes with first-seen, last-seen, and cert count. Use it for subdomain enumeration, attack-surface mapping, or DNS recon.",
3070
3070
  "method": "POST",
3071
3071
  "input_schema": {
3072
3072
  "type": "object",
@@ -3104,7 +3104,7 @@ export const TOOLS = [
3104
3104
  {
3105
3105
  "name": "tld-info",
3106
3106
  "http_name": "tld-info",
3107
- "description": "(0.001 USDC/call) TLD info / top-level domain registry lookup / ccTLD vs gTLD / TLD introduction year / new gTLD registry. For any top-level domain, returns the registry operator, type (gTLD / ccTLD / sTLD), country (for ccTLDs), introduction year, and notes. In-handler dictionary covers ~80 of the most common TLDs; falls back to a structural guess for unrecognized TLDs.",
3107
+ "description": "(0.005 USDC/call) Returns registry info for any top-level domain: registry operator, type (gTLD / ccTLD / sTLD), country (for ccTLDs), introduction year, and notes. In-handler dictionary covers ~80 of the most common TLDs; falls back to a structural guess for unrecognized TLDs. Use it as a TLD registry lookup, ccTLD-vs-gTLD check, TLD introduction year lookup, or new gTLD registry reference.",
3108
3108
  "method": "POST",
3109
3109
  "input_schema": {
3110
3110
  "type": "object",
@@ -3122,7 +3122,7 @@ export const TOOLS = [
3122
3122
  {
3123
3123
  "name": "tweet-lookup",
3124
3124
  "http_name": "tweet-lookup",
3125
- "description": "(0.01 USDC/call) Tweet lookup API / X tweet lookup / Twitter status lookup by ID. Same read-only X API v2 backend as tweets. Accepts tweet_ids or ids and returns public text, timestamps, metrics, language, and expanded author profiles. No account mutation.",
3125
+ "description": "(0.01 USDC/call) Looks up tweets by ID and returns public text, timestamps, metrics, language, and expanded author profiles. Same read-only X API v2 backend as tweets; accepts tweet_ids or ids. No account mutation. Use it as a tweet lookup API, X tweet lookup, or Twitter status lookup by ID.",
3126
3126
  "method": "POST",
3127
3127
  "input_schema": {
3128
3128
  "type": "object",
@@ -3156,7 +3156,7 @@ export const TOOLS = [
3156
3156
  {
3157
3157
  "name": "tweet-search",
3158
3158
  "http_name": "tweet-search",
3159
- "description": "(0.01 USDC/call) Tweet search API / Twitter recent search / X public post search. Same backend as x-search, with exact tweet-search buyer wording. Read-only X API v2 recent search with author expansion and public metrics.",
3159
+ "description": "(0.01 USDC/call) Searches recent public X posts with author expansion and public metrics. Same backend as x-search, with exact tweet-search buyer wording; read-only X API v2 recent search. Use it as a tweet search API, Twitter recent search, or X public post search.",
3160
3160
  "method": "POST",
3161
3161
  "input_schema": {
3162
3162
  "type": "object",
@@ -3182,7 +3182,7 @@ export const TOOLS = [
3182
3182
  {
3183
3183
  "name": "tweets",
3184
3184
  "http_name": "tweets",
3185
- "description": "(0.01 USDC/call) Tweets API / bulk X tweet lookup / Twitter tweet IDs lookup. Read-only X API v2 tweet lookup endpoint using the exact buyer slug seen in market demand. Pass tweet_ids or ids and get public post text, timestamps, language, public metrics, and expanded author profile fields. Requires X_BEARER_TOKEN; no posting, replying, liking, following, or account mutation.",
3185
+ "description": "(0.01 USDC/call) Looks up X posts in bulk by ID with the read-only X API v2, using the exact buyer slug seen in market demand. Pass tweet_ids or ids and get public post text, timestamps, language, public metrics, and expanded author profile fields. Requires X_BEARER_TOKEN; no posting, replying, liking, following, or account mutation. Use it as a tweets API, bulk X tweet lookup, or Twitter tweet IDs lookup.",
3186
3186
  "method": "POST",
3187
3187
  "input_schema": {
3188
3188
  "type": "object",
@@ -3217,7 +3217,7 @@ export const TOOLS = [
3217
3217
  {
3218
3218
  "name": "tweets-by-id",
3219
3219
  "http_name": "tweets-by-id",
3220
- "description": "(0.01 USDC/call) Tweets by ID API / bulk Twitter tweet lookup / X post IDs lookup. Same backend as tweets, listed for agents that already have tweet IDs and need public text, metrics, and author context.",
3220
+ "description": "(0.01 USDC/call) Fetches public text, metrics, and author context for tweet IDs you already have. Same backend as tweets. Use it as a tweets by ID API, bulk Twitter tweet lookup, or X post IDs lookup.",
3221
3221
  "method": "POST",
3222
3222
  "input_schema": {
3223
3223
  "type": "object",
@@ -3251,7 +3251,7 @@ export const TOOLS = [
3251
3251
  {
3252
3252
  "name": "tweets-search",
3253
3253
  "http_name": "tweets-search",
3254
- "description": "(0.01 USDC/call) Tweets search API / X recent post search / Twitter search endpoint. Same read-only X API v2 recent-search backend as x-search, exposed under the buyer wording used by tweet-search clients. Returns public posts, timestamps, metrics, and expanded author profile data. Requires X_BEARER_TOKEN; no posting, replying, liking, following, or account mutation.",
3254
+ "description": "(0.01 USDC/call) Searches recent public X posts and returns post text, timestamps, metrics, and expanded author profile data. Same read-only X API v2 recent-search backend as x-search, exposed under the buyer wording used by tweet-search clients. Requires X_BEARER_TOKEN; no posting, replying, liking, following, or account mutation. Use it as a tweets search API, X recent post search, or Twitter search endpoint.",
3255
3255
  "method": "POST",
3256
3256
  "input_schema": {
3257
3257
  "type": "object",
@@ -3277,7 +3277,7 @@ export const TOOLS = [
3277
3277
  {
3278
3278
  "name": "tweets-user",
3279
3279
  "http_name": "tweets-user",
3280
- "description": "(0.01 USDC/call) Tweets user API / tweets by username / Twitter user timeline. Same read-only X API v2 user_tweets backend as user-tweets, exposed under the buyer wording used by /tweets/user-style clients.",
3280
+ "description": "(0.01 USDC/call) Returns recent public tweets by username, using the same read-only X API v2 user_tweets backend as user-tweets. Exposed under the buyer wording used by /tweets/user-style clients. Use it as a tweets-by-username or Twitter user timeline API.",
3281
3281
  "method": "POST",
3282
3282
  "input_schema": {
3283
3283
  "type": "object",
@@ -3313,7 +3313,7 @@ export const TOOLS = [
3313
3313
  {
3314
3314
  "name": "twitter-search",
3315
3315
  "http_name": "twitter-search",
3316
- "description": "(0.01 USDC/call) Twitter search API / X search API / recent public post search. Same read-only X API v2 backend as x-search. Searches public recent posts, excludes retweets by default, and returns author profile fields and public metrics.",
3316
+ "description": "(0.01 USDC/call) Searches recent public posts on X, excluding retweets by default and returning author profile fields and public metrics. Same read-only X API v2 backend as x-search. Use it as a Twitter search API or X search API for recent public post search.",
3317
3317
  "method": "POST",
3318
3318
  "input_schema": {
3319
3319
  "type": "object",
@@ -3339,7 +3339,7 @@ export const TOOLS = [
3339
3339
  {
3340
3340
  "name": "twitter-user-lookup",
3341
3341
  "http_name": "twitter-user-lookup",
3342
- "description": "(0.005 USDC/call) Twitter user lookup / X username lookup / public profile resolver. Same backend as x-username, exposed under broad buyer wording. Read-only X API v2 profile lookup; no account mutation.",
3342
+ "description": "(0.005 USDC/call) Resolves a Twitter or X username to a public profile with a read-only X API v2 lookup; no account mutation. Same backend as x-username, under broad buyer wording. Use it as a Twitter user lookup or public profile resolver.",
3343
3343
  "method": "POST",
3344
3344
  "input_schema": {
3345
3345
  "type": "object",
@@ -3357,7 +3357,7 @@ export const TOOLS = [
3357
3357
  {
3358
3358
  "name": "twitter-user-tweets",
3359
3359
  "http_name": "twitter-user-tweets",
3360
- "description": "(0.01 USDC/call) Twitter user tweets API / public timeline lookup / latest posts by handle. Same backend as user-tweets; resolves a username then fetches recent public posts with metrics and pagination. Read-only, no account mutation.",
3360
+ "description": "(0.01 USDC/call) Looks up a Twitter user's recent public tweets by handle, with metrics and pagination. Same backend as user-tweets: resolves the username, then fetches recent public posts. Read-only, no account mutation. Use it as a public timeline lookup or latest-posts-by-handle API.",
3361
3361
  "method": "POST",
3362
3362
  "input_schema": {
3363
3363
  "type": "object",
@@ -3393,7 +3393,7 @@ export const TOOLS = [
3393
3393
  {
3394
3394
  "name": "twitter-users",
3395
3395
  "http_name": "twitter-users",
3396
- "description": "(0.01 USDC/call) Twitter users API / bulk user profile lookup / users by username or ID. Same backend as users, exposed under Twitter wording for routers and buyers searching for bulk profile enrichment.",
3396
+ "description": "(0.01 USDC/call) Looks up Twitter user profiles in bulk by username or ID, for routers and buyers searching for bulk profile enrichment. Same backend as users. Use it as a Twitter users API or bulk user profile lookup by username or ID.",
3397
3397
  "method": "POST",
3398
3398
  "input_schema": {
3399
3399
  "type": "object",
@@ -3428,7 +3428,7 @@ export const TOOLS = [
3428
3428
  {
3429
3429
  "name": "twitter-x-api",
3430
3430
  "http_name": "twitter-x-api",
3431
- "description": "(0.01 USDC/call) Twitter X API / X API v2 wrapper / tweet search, tweet lookup, username lookup, bulk users lookup, and user timeline fetch / social data API. Read-only endpoint with mode='search' for recent public posts, mode='tweets' for tweet IDs, mode='user' for one public profile, mode='users' for bulk profile lookup, or mode='user_tweets' for recent public posts from one username. Uses X_BEARER_TOKEN or TWITTER_BEARER_TOKEN. No posting, replying, liking, following, DM access, or account mutation.",
3431
+ "description": "(0.01 USDC/call) Read-only X API v2 wrapper for tweet search, tweet lookup, username lookup, bulk users lookup, and user timeline fetch. Set mode='search' for recent public posts, mode='tweets' for tweet IDs, mode='user' for one public profile, mode='users' for bulk profile lookup, or mode='user_tweets' for recent public posts from one username. Uses X_BEARER_TOKEN or TWITTER_BEARER_TOKEN. No posting, replying, liking, following, DM access, or account mutation. Use it as a Twitter X API or general social data API.",
3432
3432
  "method": "POST",
3433
3433
  "input_schema": {
3434
3434
  "type": "object",
@@ -3502,7 +3502,7 @@ export const TOOLS = [
3502
3502
  {
3503
3503
  "name": "url-expander",
3504
3504
  "http_name": "url-expander",
3505
- "description": "(0.02 USDC/call) URL expander API / shortlink resolver / redirect-chain tracer. Same expand-url backend, discoverable for agents expanding bit.ly, t.co, lnkd.in, goo.gl, tinyurl, and other redirects into final landing URLs with hop-by-hop status, Location, content-type, and timing details.",
3505
+ "description": "(0.02 USDC/call) Expands shortened URLs from bit.ly, t.co, lnkd.in, goo.gl, tinyurl, and other redirects into final landing URLs, with hop-by-hop status, Location, content-type, and timing details. Same expand-url backend. Use it as a URL expander API, shortlink resolver, or redirect-chain tracer.",
3506
3506
  "method": "POST",
3507
3507
  "input_schema": {
3508
3508
  "type": "object",
@@ -3528,7 +3528,7 @@ export const TOOLS = [
3528
3528
  {
3529
3529
  "name": "url-metadata-extract",
3530
3530
  "http_name": "url-metadata-extract",
3531
- "description": "(0.003 USDC/call) URL metadata extractor / OG tags / Open Graph parser / Twitter Card parser / meta tag extractor / link preview / page metadata / favicon resolver / JSON-LD reader / canonical URL extractor. Fetches a webpage and parses head-level metadata: title, description, Open Graph (og:*), Twitter Card (twitter:*), canonical link, favicon, html lang, keywords, robots, author, article:published_time, JSON-LD blocks. Returns absolute URLs for image and favicon. Useful for SEO audits, link-preview generation, content cataloging, RAG ingestion.",
3531
+ "description": "(0.003 USDC/call) Extracts page metadata from any URL: title, description, Open Graph and Twitter Card tags, canonical link, and favicon. Also parses html lang, keywords, robots, author, article:published_time, and JSON-LD blocks, returning absolute URLs for image and favicon. Useful for SEO audits, link-preview generation, content cataloging, RAG ingestion. Use it as an OG tags parser, meta tag extractor, link preview builder, favicon resolver, JSON-LD reader, or canonical URL extractor.",
3532
3532
  "method": "POST",
3533
3533
  "input_schema": {
3534
3534
  "type": "object",
@@ -3554,7 +3554,7 @@ export const TOOLS = [
3554
3554
  {
3555
3555
  "name": "user-agent-parse",
3556
3556
  "http_name": "user-agent-parse",
3557
- "description": "(0.001 USDC/call) User-Agent parser / UA classifier / browser detection / OS detection / bot detection / AI crawler identifier (GPTBot, ClaudeBot, PerplexityBot). Pure-local regex parser — detects browser (Chrome, Firefox, Safari, Edge, Opera, Vivaldi, Samsung), OS (Windows, macOS, iOS, Android, Linux, ChromeOS) with version, device type (desktop / mobile / tablet / bot), and identifies 32+ specific bots/crawlers.",
3557
+ "description": "(0.005 USDC/call) Parses a User-Agent string entirely locally with regex, no external lookups. Detects browser (Chrome, Firefox, Safari, Edge, Opera, Vivaldi, Samsung), OS (Windows, macOS, iOS, Android, Linux, ChromeOS) with version, device type (desktop / mobile / tablet / bot), and identifies 32+ specific bots/crawlers. Use it as a UA classifier, browser detection, OS detection, bot detection, or AI crawler identifier (GPTBot, ClaudeBot, PerplexityBot).",
3558
3558
  "method": "POST",
3559
3559
  "input_schema": {
3560
3560
  "type": "object",
@@ -3572,7 +3572,7 @@ export const TOOLS = [
3572
3572
  {
3573
3573
  "name": "user-tweets",
3574
3574
  "http_name": "user-tweets",
3575
- "description": "(0.01 USDC/call) User tweets API / latest tweets from username / X user timeline / Twitter user posts endpoint. Read-only X API v2 route: resolves a public username, fetches recent public posts from that user, excludes retweets by default, and returns text, timestamps, metrics, pagination token, and author profile. No posting, replying, liking, following, DM access, or account mutation.",
3575
+ "description": "(0.01 USDC/call) Fetches the latest public tweets from any X username, with text, timestamps, metrics, pagination token, and author profile. Read-only X API v2 route: resolves a public username, fetches that user's recent public posts, and excludes retweets by default. No posting, replying, liking, following, DM access, or account mutation. Use it as a user tweets API, X user timeline, or Twitter user posts endpoint.",
3576
3576
  "method": "POST",
3577
3577
  "input_schema": {
3578
3578
  "type": "object",
@@ -3609,7 +3609,7 @@ export const TOOLS = [
3609
3609
  {
3610
3610
  "name": "users",
3611
3611
  "http_name": "users",
3612
- "description": "(0.01 USDC/call) Users API / bulk X user lookup / Twitter users lookup by usernames or IDs. Read-only X API v2 users lookup route matching market demand for bulk public profiles. Pass usernames or user_ids/ids and receive id, username, display name, bio, verification fields, created_at, followers, following, tweet count, and listed count. Requires X_BEARER_TOKEN; no posting, following, DM access, or account mutation.",
3612
+ "description": "(0.01 USDC/call) Looks up X user profiles in bulk by usernames or IDs, using the read-only X API v2 users route matching market demand for bulk public profiles. Pass usernames or user_ids/ids and receive id, username, display name, bio, verification fields, created_at, followers, following, tweet count, and listed count. Requires X_BEARER_TOKEN; no posting, following, DM access, or account mutation. Use it as a users API, bulk X user lookup, or Twitter users lookup by usernames or IDs.",
3613
3613
  "method": "POST",
3614
3614
  "input_schema": {
3615
3615
  "type": "object",
@@ -3648,7 +3648,7 @@ export const TOOLS = [
3648
3648
  {
3649
3649
  "name": "users-by-username",
3650
3650
  "http_name": "users-by-username",
3651
- "description": "(0.005 USDC/call) X users by username / Twitter user profile lookup / handle to public profile API. Same read-only X API v2 user-by-username backend as x-username. Returns id, username, display name, bio, verification fields, created_at, followers, following, tweet count, and listed count.",
3651
+ "description": "(0.005 USDC/call) Resolves an X handle to a public profile: id, username, display name, bio, verification fields, created_at, followers, following, tweet count, and listed count. Same read-only X API v2 user-by-username backend as x-username. Use it as an X users by username API, Twitter user profile lookup, or handle to public profile API.",
3652
3652
  "method": "POST",
3653
3653
  "input_schema": {
3654
3654
  "type": "object",
@@ -3666,7 +3666,7 @@ export const TOOLS = [
3666
3666
  {
3667
3667
  "name": "vendor-domain-risk",
3668
3668
  "http_name": "vendor-domain-risk",
3669
- "description": "(0.02 USDC/call) Vendor domain risk API / supplier website age check / procurement domain diligence. Same RDAP backend as whois-lookup, tuned for agents screening vendor domains for age, expiration, registrar, DNSSEC, nameservers, and suspicious newly-registered risk flags.",
3669
+ "description": "(0.02 USDC/call) Screens vendor domains for age, expiration, registrar, DNSSEC, nameservers, and suspicious newly-registered risk flags. Same RDAP backend as whois-lookup. Use it as a vendor domain risk API, supplier website age check, or procurement domain diligence tool.",
3670
3670
  "method": "POST",
3671
3671
  "input_schema": {
3672
3672
  "type": "object",
@@ -3688,7 +3688,7 @@ export const TOOLS = [
3688
3688
  {
3689
3689
  "name": "watch-page",
3690
3690
  "http_name": "watch-page",
3691
- "description": "(0.01 USDC/call) Stateful webpage change monitor / page-watch with memory / URL change detector / TOS-policy diff / price-page tracker / status-page watcher / content monitor / persistent webpage diff. Caller picks a watch_id; server stores the page's hash + text in KV. On each subsequent call returns a changed flag, added/removed lines, and an LLM-summarized diff (Morpheus mistral-31-24b). Unlike webpage-diff (caller must remember prior hash), this endpoint owns the state. KV TTL: 365 days.",
3691
+ "description": "(0.01 USDC/call) Monitors a webpage for changes and remembers the state server-side: caller picks a watch_id and the server stores the page's hash + text in KV. On each subsequent call returns a changed flag, added/removed lines, and an LLM-summarized diff (Morpheus mistral-31-24b). Unlike webpage-diff (caller must remember prior hash), this endpoint owns the state. KV TTL: 365 days. Use it as a stateful page-watch with memory, URL change detector, TOS-policy diff, price-page tracker, status-page watcher, content monitor, or persistent webpage diff.",
3692
3692
  "method": "POST",
3693
3693
  "input_schema": {
3694
3694
  "type": "object",
@@ -3722,7 +3722,7 @@ export const TOOLS = [
3722
3722
  {
3723
3723
  "name": "wayback-lookup",
3724
3724
  "http_name": "wayback-lookup",
3725
- "description": "(0.02 USDC/call) Wayback lookup / archive snapshot API / historical page capture finder. Finds the closest archived URL for a public page and optional timestamp, with cleaned archived text for citation repair.",
3725
+ "description": "(0.02 USDC/call) Finds the closest archived URL for a public page and optional timestamp, with cleaned archived text for citation repair. Use it as a Wayback lookup, archive snapshot API, or historical page capture finder.",
3726
3726
  "method": "POST",
3727
3727
  "input_schema": {
3728
3728
  "type": "object",
@@ -3745,7 +3745,7 @@ export const TOOLS = [
3745
3745
  {
3746
3746
  "name": "wayback-machine",
3747
3747
  "http_name": "wayback-machine",
3748
- "description": "(0.02 USDC/call) Wayback Machine API / archive.org snapshot lookup / historical URL capture finder / archived page text fetcher. Finds archived captures by URL and timestamp and can fetch cleaned archived text.",
3748
+ "description": "(0.02 USDC/call) Finds Wayback Machine captures of a page by URL and timestamp, and can fetch cleaned archived text. Use it as an archive.org snapshot lookup, historical URL capture finder, or archived page text fetcher.",
3749
3749
  "method": "POST",
3750
3750
  "input_schema": {
3751
3751
  "type": "object",
@@ -3768,7 +3768,7 @@ export const TOOLS = [
3768
3768
  {
3769
3769
  "name": "web-archive",
3770
3770
  "http_name": "web-archive",
3771
- "description": "(0.02 USDC/call) Web archive lookup / archive snapshot API / Wayback Machine API / historical webpage snapshot. Returns closest archived snapshot URL and timestamp for a public page, with optional cleaned text fetch for reference rot repair and due-diligence citations.",
3771
+ "description": "(0.02 USDC/call) Returns the closest archived snapshot URL and timestamp for a public web page, with optional cleaned text fetch for reference rot repair and due-diligence citations. Use it as a web archive lookup, archive snapshot API, Wayback Machine API, or historical webpage snapshot.",
3772
3772
  "method": "POST",
3773
3773
  "input_schema": {
3774
3774
  "type": "object",
@@ -3791,7 +3791,7 @@ export const TOOLS = [
3791
3791
  {
3792
3792
  "name": "web-search",
3793
3793
  "http_name": "web-search",
3794
- "description": "(0.02 USDC/call) Web search API / SERP results / agent web search / source discovery. Returns ranked Google results for a query with title, URL, snippet, domain, and recency filter. Uses Decodo Google Search. For fetched page text or cited synthesis, use answer-web or scrape-to-json.",
3794
+ "description": "(0.02 USDC/call) Ranked Google results for a query title, URL, snippet, domain, and a recency filter, via Decodo Google Search. A web search / SERP API for agent source discovery; for fetched page text or cited synthesis use answer-web or scrape-to-json.",
3795
3795
  "method": "POST",
3796
3796
  "input_schema": {
3797
3797
  "type": "object",
@@ -3828,7 +3828,7 @@ export const TOOLS = [
3828
3828
  {
3829
3829
  "name": "webpage-diff",
3830
3830
  "http_name": "webpage-diff",
3831
- "description": "(0.04 USDC/call) Webpage change detector / website change monitor / content diff / page-watch / visualping-style monitor / price-page monitor / status-page watcher / TOS-policy diff. Fetches a URL, strips HTML to plain text, computes a SHA-256 hash, and (when given a previous hash or text) returns a changed flag plus added/removed line lists. Optional CSS selector scopes the diff to one region. No login required; follows redirects.",
3831
+ "description": "(0.04 USDC/call) Detects changes on a webpage: fetches a URL, strips HTML to plain text, computes a SHA-256 hash, and (when given a previous hash or text) returns a changed flag plus added/removed line lists. Optional CSS selector scopes the diff to one region. No login required; follows redirects. Use it as a website change monitor, content diff, page-watch, visualping-style monitor, price-page monitor, status-page watcher, or TOS-policy diff.",
3832
3832
  "method": "POST",
3833
3833
  "input_schema": {
3834
3834
  "type": "object",
@@ -3858,7 +3858,7 @@ export const TOOLS = [
3858
3858
  {
3859
3859
  "name": "website-screenshot",
3860
3860
  "http_name": "website-screenshot",
3861
- "description": "(0.04 USDC/call) URL to PNG / JPG / website screenshot tool. Configurable viewport, retina, crop/fit, transparent BG, JPG quality, JS wait conditions. CloudConvert capture.",
3861
+ "description": "(0.04 USDC/call) Captures a website screenshot from a URL as PNG or JPG. CloudConvert capture. Configurable viewport, retina, crop/fit, transparent BG, JPG quality, and JS wait conditions.",
3862
3862
  "method": "POST",
3863
3863
  "input_schema": {
3864
3864
  "type": "object",
@@ -3906,7 +3906,7 @@ export const TOOLS = [
3906
3906
  {
3907
3907
  "name": "whois",
3908
3908
  "http_name": "whois",
3909
- "description": "(0.02 USDC/call) WHOIS / RDAP / domain age / domain expiry / registrar finder / nameserver lookup / DNSSEC check / TLD registration record / brand-protection triage. Short alias of whois-lookup. Queries the IANA-mandated RDAP endpoint and returns registered_date, age_days, expiration_date, days_until_expiry, last_changed, registrar (name + IANA id), contacts, nameservers, dnssec_signed, EPP statuses, and risk flags. Optionally appends a crt.sh certificate-transparency summary.",
3909
+ "description": "(0.02 USDC/call) Looks up a domain's WHOIS/RDAP registration record: age, expiry, registrar, and nameservers. Short alias of whois-lookup; queries the IANA-mandated RDAP endpoint and returns registered_date, age_days, expiration_date, days_until_expiry, last_changed, registrar (name + IANA id), contacts, nameservers, dnssec_signed, EPP statuses, and risk flags, optionally appending a crt.sh certificate-transparency summary. Use it for domain age and domain expiry checks, as a registrar finder, nameserver lookup, DNSSEC check, TLD registration record, or brand-protection triage.",
3910
3910
  "method": "POST",
3911
3911
  "input_schema": {
3912
3912
  "type": "object",
@@ -3928,7 +3928,7 @@ export const TOOLS = [
3928
3928
  {
3929
3929
  "name": "whois-lookup",
3930
3930
  "http_name": "whois-lookup",
3931
- "description": "(0.02 USDC/call) WHOIS lookup / whois API / RDAP domain lookup / domain age check / registrar finder / expiration checker / nameserver inspector / DNSSEC verifier / domain transfer history / brand-protection + phishing triage / TLD registration record. Queries the IANA-mandated RDAP endpoint for the domain's TLD and returns registration date, age in days, expiration date, days-until-expiry, last-changed and transfer dates, registrar (name + IANA id), registrant/admin/tech contacts, nameservers, DNSSEC-signed flag, EPP status codes, and risk flags (newly-registered, expiring-soon, locked). Optionally appends a crt.sh certificate-transparency summary.",
3931
+ "description": "(0.02 USDC/call) Looks up WHOIS registration data for a domain via the IANA-mandated RDAP endpoint for its TLD. Returns registration date, age in days, expiration date, days-until-expiry, last-changed and transfer dates, registrar (name + IANA id), registrant/admin/tech contacts, nameservers, DNSSEC-signed flag, EPP status codes, and risk flags (newly-registered, expiring-soon, locked). Optionally appends a crt.sh certificate-transparency summary. Use it as a whois API, RDAP domain lookup, domain age check, registrar finder, expiration checker, nameserver inspector, DNSSEC verifier, domain transfer history source, TLD registration record, or brand-protection + phishing triage tool.",
3932
3932
  "method": "POST",
3933
3933
  "input_schema": {
3934
3934
  "type": "object",
@@ -3950,7 +3950,7 @@ export const TOOLS = [
3950
3950
  {
3951
3951
  "name": "wikipedia",
3952
3952
  "http_name": "wikipedia",
3953
- "description": "(0.005 USDC/call) Wikipedia API / encyclopedia lookup / wiki article fetch / Wikidata-linked entity / disambiguation-aware search / multi-language wiki / RAG context source / fact-grounding fetch. Short alias of wikipedia-lookup. Resolves a query (title or near-title) to the canonical article and returns title, canonical URL, page id, Wikidata Q-id, language, plain-text intro summary, short description, page type, thumbnail + lead-image URLs, geo coordinates, full table-of-contents, and optional ~25k-char body extract. 300+ language editions.",
3953
+ "description": "(0.005 USDC/call) Fetches Wikipedia articles with disambiguation-aware search across 300+ language editions. Short alias of wikipedia-lookup; resolves a query (title or near-title) to the canonical article and returns title, canonical URL, page id, Wikidata Q-id, language, plain-text intro summary, short description, page type, thumbnail + lead-image URLs, geo coordinates, full table-of-contents, and an optional ~25k-char body extract. Use it as an encyclopedia lookup, wiki article fetch, Wikidata-linked entity resolver, multi-language wiki source, RAG context source, or fact-grounding fetch.",
3954
3954
  "method": "POST",
3955
3955
  "input_schema": {
3956
3956
  "type": "object",
@@ -3976,7 +3976,7 @@ export const TOOLS = [
3976
3976
  {
3977
3977
  "name": "wikipedia-lookup",
3978
3978
  "http_name": "wikipedia-lookup",
3979
- "description": "(0.005 USDC/call) Wikipedia article fetcher / encyclopedia lookup / structured wiki extract / Wikidata-linked entity resolver / disambiguation-aware search / multi-language wiki API / RAG context source. Resolves a query (page title or near-title) to the canonical Wikipedia article and returns title, canonical URL, page id, Wikidata Q-id, language, plain-text intro summary, short description, page type, thumbnail and lead-image URLs, geo coordinates, full table-of-contents (sections with level and anchor), and an optional ~25k-char extract of the article body. Covers 300+ language editions.",
3979
+ "description": "(0.005 USDC/call) Fetches the canonical Wikipedia article for a query (page title or near-title) and returns title, canonical URL, page id, Wikidata Q-id, language, plain-text intro summary, short description, page type, thumbnail and lead-image URLs, geo coordinates, full table-of-contents (sections with level and anchor), and an optional ~25k-char extract of the article body. Covers 300+ language editions. Use it as an encyclopedia lookup, structured wiki extract, Wikidata-linked entity resolver, disambiguation-aware search, multi-language wiki API, or RAG context source.",
3980
3980
  "method": "POST",
3981
3981
  "input_schema": {
3982
3982
  "type": "object",
@@ -4002,7 +4002,7 @@ export const TOOLS = [
4002
4002
  {
4003
4003
  "name": "x-handle-availability",
4004
4004
  "http_name": "x-handle-availability",
4005
- "description": "(0.005 USDC/call) X handle availability checker / Twitter username availability / social handle lookup for brand launch workflows. Read-only X API v2 user-by-username check. Returns available=true when the handle is not found and available=false with public profile metrics when claimed. Requires X_BEARER_TOKEN; no posting, replying, liking, following, scraping, or account mutation.",
4005
+ "description": "(0.005 USDC/call) Checks whether an X handle is available, using a read-only X API v2 user-by-username check. Returns available=true when the handle is not found and available=false with public profile metrics when claimed. Requires X_BEARER_TOKEN; no posting, replying, liking, following, scraping, or account mutation. Use it as a Twitter username availability checker or social handle lookup for brand launch workflows.",
4006
4006
  "method": "POST",
4007
4007
  "input_schema": {
4008
4008
  "type": "object",
@@ -4020,7 +4020,7 @@ export const TOOLS = [
4020
4020
  {
4021
4021
  "name": "x-search",
4022
4022
  "http_name": "x-search",
4023
- "description": "(0.01 USDC/call) X search API / Twitter search API / recent tweet search / public posts search / social search. Read-only X API v2 recent-search wrapper. Takes a query, excludes retweets by default, optional language filter, expands author profile data, and returns public post text, timestamps, metrics, and author username/profile fields. Requires X_BEARER_TOKEN; no posting, replying, liking, following, or account mutation.",
4023
+ "description": "(0.01 USDC/call) Searches recent public X posts, wrapping the read-only X API v2 recent-search route. Takes a query, excludes retweets by default, offers an optional language filter, expands author profile data, and returns public post text, timestamps, metrics, and author username/profile fields. Requires X_BEARER_TOKEN; no posting, replying, liking, following, or account mutation. Use it as an X search API, Twitter search API, recent tweet search, public posts search, or social search.",
4024
4024
  "method": "POST",
4025
4025
  "input_schema": {
4026
4026
  "type": "object",
@@ -4046,7 +4046,7 @@ export const TOOLS = [
4046
4046
  {
4047
4047
  "name": "x-user-timeline",
4048
4048
  "http_name": "x-user-timeline",
4049
- "description": "(0.01 USDC/call) X user timeline API / latest public posts by X handle / social account feed. Same backend as user-tweets, listed for agents that need recent public posts from a known username. Read-only X API v2; excludes retweets unless include_retweets=true.",
4049
+ "description": "(0.01 USDC/call) Returns the recent public post timeline for a known X handle. Same backend as user-tweets, listed for agents that need an X user timeline from a username; read-only X API v2, excludes retweets unless include_retweets=true. Use it as a social account feed or latest-public-posts-by-handle API.",
4050
4050
  "method": "POST",
4051
4051
  "input_schema": {
4052
4052
  "type": "object",
@@ -4082,7 +4082,7 @@ export const TOOLS = [
4082
4082
  {
4083
4083
  "name": "x-username",
4084
4084
  "http_name": "x-username",
4085
- "description": "(0.005 USDC/call) X username lookup / Twitter username lookup / handle resolver / public profile lookup / follower count API. Read-only X API v2 user-by-username wrapper. Accepts a handle with or without @ and returns id, username, display name, bio, verification fields, created_at, followers, following, tweet count, and listed count. Requires X_BEARER_TOKEN; no posting, replying, liking, following, or account mutation.",
4085
+ "description": "(0.005 USDC/call) Looks up a public X profile by username, wrapping the read-only X API v2 user-by-username route. Accepts a handle with or without @ and returns id, username, display name, bio, verification fields, created_at, followers, following, tweet count, and listed count. Requires X_BEARER_TOKEN; no posting, replying, liking, following, or account mutation. Use it as a Twitter username lookup, handle resolver, public profile lookup, or follower count API.",
4086
4086
  "method": "POST",
4087
4087
  "input_schema": {
4088
4088
  "type": "object",
@@ -4100,7 +4100,7 @@ export const TOOLS = [
4100
4100
  {
4101
4101
  "name": "x-users",
4102
4102
  "http_name": "x-users",
4103
- "description": "(0.01 USDC/call) X users API / bulk Twitter profile lookup / public social profile lookup. Same read-only X API v2 backend as users. Accepts usernames or numeric user IDs and returns public profile and metric fields.",
4103
+ "description": "(0.01 USDC/call) Fetches public X profiles and metric fields in bulk from usernames or numeric user IDs. Same read-only X API v2 backend as users. Use it as an X users API, bulk Twitter profile lookup, or public social profile lookup.",
4104
4104
  "method": "POST",
4105
4105
  "input_schema": {
4106
4106
  "type": "object",