@agentutility/mcp-web-probe 0.28.1 → 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.28.1";
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",
@@ -1213,10 +1213,45 @@ export const TOOLS = [
1213
1213
  ]
1214
1214
  }
1215
1215
  },
1216
+ {
1217
+ "name": "equities-news",
1218
+ "http_name": "equities-news",
1219
+ "description": "(0.005 USDC/call) Equities news API (alias of stocks-news). Recent GDELT-backed headlines on equities, earnings, IPOs, the Fed, and macro with sentiment and source domains. Data-only; no trading advice or price prediction.",
1220
+ "method": "POST",
1221
+ "input_schema": {
1222
+ "type": "object",
1223
+ "properties": {
1224
+ "topic": {
1225
+ "type": "string",
1226
+ "enum": [
1227
+ "stocks",
1228
+ "earnings",
1229
+ "ipos",
1230
+ "fed",
1231
+ "macro",
1232
+ "tech"
1233
+ ],
1234
+ "description": "Preset topic. Default stocks."
1235
+ },
1236
+ "query": {
1237
+ "type": "string",
1238
+ "description": "Optional GDELT query override, max 240 chars."
1239
+ },
1240
+ "limit": {
1241
+ "type": "number",
1242
+ "description": "Headlines to return, 1-30. Default 10."
1243
+ },
1244
+ "hours": {
1245
+ "type": "number",
1246
+ "description": "Lookback window in hours, 1-168. Default 48."
1247
+ }
1248
+ }
1249
+ }
1250
+ },
1216
1251
  {
1217
1252
  "name": "expand-url",
1218
1253
  "http_name": "expand-url",
1219
- "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.",
1220
1255
  "method": "POST",
1221
1256
  "input_schema": {
1222
1257
  "type": "object",
@@ -1242,7 +1277,7 @@ export const TOOLS = [
1242
1277
  {
1243
1278
  "name": "github-readme",
1244
1279
  "http_name": "github-readme",
1245
- "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.",
1246
1281
  "method": "POST",
1247
1282
  "input_schema": {
1248
1283
  "type": "object",
@@ -1260,7 +1295,7 @@ export const TOOLS = [
1260
1295
  {
1261
1296
  "name": "github-stars-history",
1262
1297
  "http_name": "github-stars-history",
1263
- "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.",
1264
1299
  "method": "POST",
1265
1300
  "input_schema": {
1266
1301
  "type": "object",
@@ -1282,7 +1317,7 @@ export const TOOLS = [
1282
1317
  {
1283
1318
  "name": "google-search",
1284
1319
  "http_name": "google-search",
1285
- "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.",
1286
1321
  "method": "POST",
1287
1322
  "input_schema": {
1288
1323
  "type": "object",
@@ -1319,7 +1354,7 @@ export const TOOLS = [
1319
1354
  {
1320
1355
  "name": "hacker-news-search",
1321
1356
  "http_name": "hacker-news-search",
1322
- "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.",
1323
1358
  "method": "POST",
1324
1359
  "input_schema": {
1325
1360
  "type": "object",
@@ -1374,7 +1409,7 @@ export const TOOLS = [
1374
1409
  {
1375
1410
  "name": "handle-availability",
1376
1411
  "http_name": "handle-availability",
1377
- "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.",
1378
1413
  "method": "POST",
1379
1414
  "input_schema": {
1380
1415
  "type": "object",
@@ -1392,7 +1427,7 @@ export const TOOLS = [
1392
1427
  {
1393
1428
  "name": "headless-browser",
1394
1429
  "http_name": "headless-browser",
1395
- "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.",
1396
1431
  "method": "POST",
1397
1432
  "input_schema": {
1398
1433
  "type": "object",
@@ -1426,7 +1461,7 @@ export const TOOLS = [
1426
1461
  {
1427
1462
  "name": "hn-search",
1428
1463
  "http_name": "hn-search",
1429
- "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.",
1430
1465
  "method": "POST",
1431
1466
  "input_schema": {
1432
1467
  "type": "object",
@@ -1481,7 +1516,7 @@ export const TOOLS = [
1481
1516
  {
1482
1517
  "name": "homoglyph-check",
1483
1518
  "http_name": "homoglyph-check",
1484
- "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.",
1485
1520
  "method": "POST",
1486
1521
  "input_schema": {
1487
1522
  "type": "object",
@@ -1499,7 +1534,7 @@ export const TOOLS = [
1499
1534
  {
1500
1535
  "name": "inbox-readiness-check",
1501
1536
  "http_name": "inbox-readiness-check",
1502
- "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.",
1503
1538
  "method": "POST",
1504
1539
  "input_schema": {
1505
1540
  "type": "object",
@@ -1524,7 +1559,7 @@ export const TOOLS = [
1524
1559
  {
1525
1560
  "name": "ip-asn",
1526
1561
  "http_name": "ip-asn",
1527
- "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.",
1528
1563
  "method": "POST",
1529
1564
  "input_schema": {
1530
1565
  "type": "object",
@@ -1542,7 +1577,7 @@ export const TOOLS = [
1542
1577
  {
1543
1578
  "name": "javascript-render",
1544
1579
  "http_name": "javascript-render",
1545
- "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.",
1546
1581
  "method": "POST",
1547
1582
  "input_schema": {
1548
1583
  "type": "object",
@@ -1576,7 +1611,7 @@ export const TOOLS = [
1576
1611
  {
1577
1612
  "name": "jwt-decode",
1578
1613
  "http_name": "jwt-decode",
1579
- "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.",
1580
1615
  "method": "POST",
1581
1616
  "input_schema": {
1582
1617
  "type": "object",
@@ -1594,7 +1629,7 @@ export const TOOLS = [
1594
1629
  {
1595
1630
  "name": "keyword-suggest",
1596
1631
  "http_name": "keyword-suggest",
1597
- "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.",
1598
1633
  "method": "POST",
1599
1634
  "input_schema": {
1600
1635
  "type": "object",
@@ -1629,7 +1664,7 @@ export const TOOLS = [
1629
1664
  {
1630
1665
  "name": "lead-enrich",
1631
1666
  "http_name": "lead-enrich",
1632
- "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.",
1633
1668
  "method": "POST",
1634
1669
  "input_schema": {
1635
1670
  "type": "object",
@@ -1660,7 +1695,7 @@ export const TOOLS = [
1660
1695
  {
1661
1696
  "name": "link-extract",
1662
1697
  "http_name": "link-extract",
1663
- "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.",
1664
1699
  "method": "POST",
1665
1700
  "input_schema": {
1666
1701
  "type": "object",
@@ -1694,7 +1729,7 @@ export const TOOLS = [
1694
1729
  {
1695
1730
  "name": "link-unshortener",
1696
1731
  "http_name": "link-unshortener",
1697
- "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.",
1698
1733
  "method": "POST",
1699
1734
  "input_schema": {
1700
1735
  "type": "object",
@@ -1720,7 +1755,7 @@ export const TOOLS = [
1720
1755
  {
1721
1756
  "name": "ma-domain-diligence",
1722
1757
  "http_name": "ma-domain-diligence",
1723
- "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.",
1724
1759
  "method": "POST",
1725
1760
  "input_schema": {
1726
1761
  "type": "object",
@@ -1742,7 +1777,7 @@ export const TOOLS = [
1742
1777
  {
1743
1778
  "name": "market-recap",
1744
1779
  "http_name": "market-recap",
1745
- "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.",
1746
1781
  "method": "POST",
1747
1782
  "input_schema": {
1748
1783
  "type": "object",
@@ -1777,7 +1812,7 @@ export const TOOLS = [
1777
1812
  {
1778
1813
  "name": "mcp-tools-list",
1779
1814
  "http_name": "mcp-tools-list",
1780
- "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.",
1781
1816
  "method": "POST",
1782
1817
  "input_schema": {
1783
1818
  "type": "object",
@@ -1807,7 +1842,7 @@ export const TOOLS = [
1807
1842
  {
1808
1843
  "name": "mentions",
1809
1844
  "http_name": "mentions",
1810
- "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.",
1811
1846
  "method": "POST",
1812
1847
  "input_schema": {
1813
1848
  "type": "object",
@@ -1833,7 +1868,7 @@ export const TOOLS = [
1833
1868
  {
1834
1869
  "name": "mindshare",
1835
1870
  "http_name": "mindshare",
1836
- "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.",
1837
1872
  "method": "POST",
1838
1873
  "input_schema": {
1839
1874
  "type": "object",
@@ -1859,7 +1894,7 @@ export const TOOLS = [
1859
1894
  {
1860
1895
  "name": "npm-package-stats",
1861
1896
  "http_name": "npm-package-stats",
1862
- "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.",
1863
1898
  "method": "POST",
1864
1899
  "input_schema": {
1865
1900
  "type": "object",
@@ -1881,7 +1916,7 @@ export const TOOLS = [
1881
1916
  {
1882
1917
  "name": "password-strength",
1883
1918
  "http_name": "password-strength",
1884
- "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.",
1885
1920
  "method": "POST",
1886
1921
  "input_schema": {
1887
1922
  "type": "object",
@@ -1900,10 +1935,41 @@ export const TOOLS = [
1900
1935
  ]
1901
1936
  }
1902
1937
  },
1938
+ {
1939
+ "name": "people",
1940
+ "http_name": "people",
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
+ "method": "POST",
1943
+ "input_schema": {
1944
+ "type": "object",
1945
+ "properties": {
1946
+ "email": {
1947
+ "type": "string",
1948
+ "description": "Person email address, e.g. jane.doe@example.com."
1949
+ },
1950
+ "name": {
1951
+ "type": "string",
1952
+ "description": "Optional known person name."
1953
+ },
1954
+ "domain": {
1955
+ "type": "string",
1956
+ "description": "Optional company domain."
1957
+ },
1958
+ "company": {
1959
+ "type": "string",
1960
+ "description": "Optional known company name."
1961
+ },
1962
+ "include_homepage": {
1963
+ "type": "boolean",
1964
+ "description": "Fetch public homepage metadata when available. Default true."
1965
+ }
1966
+ }
1967
+ }
1968
+ },
1903
1969
  {
1904
1970
  "name": "people-enrich",
1905
1971
  "http_name": "people-enrich",
1906
- "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.",
1907
1973
  "method": "POST",
1908
1974
  "input_schema": {
1909
1975
  "type": "object",
@@ -1934,7 +2000,7 @@ export const TOOLS = [
1934
2000
  {
1935
2001
  "name": "people-search",
1936
2002
  "http_name": "people-search",
1937
- "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.",
1938
2004
  "method": "POST",
1939
2005
  "input_schema": {
1940
2006
  "type": "object",
@@ -1962,10 +2028,41 @@ export const TOOLS = [
1962
2028
  }
1963
2029
  }
1964
2030
  },
2031
+ {
2032
+ "name": "person",
2033
+ "http_name": "person",
2034
+ "description": "(0.01 USDC/call) Person lookup / person enrichment API (alias of people-enrich). Resolve an email, name, domain, or company into a normalized person record with inferred name, free-email detection, MX records, and optional public company context. Public-data only; no private people databases or social scraping.",
2035
+ "method": "POST",
2036
+ "input_schema": {
2037
+ "type": "object",
2038
+ "properties": {
2039
+ "email": {
2040
+ "type": "string",
2041
+ "description": "Person email address, e.g. jane.doe@example.com."
2042
+ },
2043
+ "name": {
2044
+ "type": "string",
2045
+ "description": "Optional known person name."
2046
+ },
2047
+ "domain": {
2048
+ "type": "string",
2049
+ "description": "Optional company domain."
2050
+ },
2051
+ "company": {
2052
+ "type": "string",
2053
+ "description": "Optional known company name."
2054
+ },
2055
+ "include_homepage": {
2056
+ "type": "boolean",
2057
+ "description": "Fetch public homepage metadata when available. Default true."
2058
+ }
2059
+ }
2060
+ }
2061
+ },
1965
2062
  {
1966
2063
  "name": "person-enrich",
1967
2064
  "http_name": "person-enrich",
1968
- "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.",
1969
2066
  "method": "POST",
1970
2067
  "input_schema": {
1971
2068
  "type": "object",
@@ -2018,7 +2115,7 @@ export const TOOLS = [
2018
2115
  {
2019
2116
  "name": "product-name-score",
2020
2117
  "http_name": "product-name-score",
2021
- "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.",
2022
2119
  "method": "POST",
2023
2120
  "input_schema": {
2024
2121
  "type": "object",
@@ -2048,7 +2145,7 @@ export const TOOLS = [
2048
2145
  {
2049
2146
  "name": "pubmed-search",
2050
2147
  "http_name": "pubmed-search",
2051
- "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.",
2052
2149
  "method": "POST",
2053
2150
  "input_schema": {
2054
2151
  "type": "object",
@@ -2091,7 +2188,7 @@ export const TOOLS = [
2091
2188
  {
2092
2189
  "name": "pypi-package-stats",
2093
2190
  "http_name": "pypi-package-stats",
2094
- "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.",
2095
2192
  "method": "POST",
2096
2193
  "input_schema": {
2097
2194
  "type": "object",
@@ -2113,7 +2210,7 @@ export const TOOLS = [
2113
2210
  {
2114
2211
  "name": "qr-code",
2115
2212
  "http_name": "qr-code",
2116
- "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.",
2117
2214
  "method": "POST",
2118
2215
  "input_schema": {
2119
2216
  "type": "object",
@@ -2131,7 +2228,7 @@ export const TOOLS = [
2131
2228
  {
2132
2229
  "name": "qr-code-api",
2133
2230
  "http_name": "qr-code-api",
2134
- "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.",
2135
2232
  "method": "POST",
2136
2233
  "input_schema": {
2137
2234
  "type": "object",
@@ -2149,7 +2246,7 @@ export const TOOLS = [
2149
2246
  {
2150
2247
  "name": "qr-code-decode",
2151
2248
  "http_name": "qr-code-decode",
2152
- "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.",
2153
2250
  "method": "POST",
2154
2251
  "input_schema": {
2155
2252
  "type": "object",
@@ -2167,7 +2264,7 @@ export const TOOLS = [
2167
2264
  {
2168
2265
  "name": "qr-code-generate",
2169
2266
  "http_name": "qr-code-generate",
2170
- "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.",
2171
2268
  "method": "POST",
2172
2269
  "input_schema": {
2173
2270
  "type": "object",
@@ -2219,7 +2316,7 @@ export const TOOLS = [
2219
2316
  {
2220
2317
  "name": "qr-generator",
2221
2318
  "http_name": "qr-generator",
2222
- "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.",
2223
2320
  "method": "POST",
2224
2321
  "input_schema": {
2225
2322
  "type": "object",
@@ -2271,7 +2368,7 @@ export const TOOLS = [
2271
2368
  {
2272
2369
  "name": "qr-maker",
2273
2370
  "http_name": "qr-maker",
2274
- "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.",
2275
2372
  "method": "POST",
2276
2373
  "input_schema": {
2277
2374
  "type": "object",
@@ -2323,7 +2420,7 @@ export const TOOLS = [
2323
2420
  {
2324
2421
  "name": "qr-reader",
2325
2422
  "http_name": "qr-reader",
2326
- "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.",
2327
2424
  "method": "POST",
2328
2425
  "input_schema": {
2329
2426
  "type": "object",
@@ -2341,7 +2438,7 @@ export const TOOLS = [
2341
2438
  {
2342
2439
  "name": "qr-scanner",
2343
2440
  "http_name": "qr-scanner",
2344
- "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.",
2345
2442
  "method": "POST",
2346
2443
  "input_schema": {
2347
2444
  "type": "object",
@@ -2359,7 +2456,7 @@ export const TOOLS = [
2359
2456
  {
2360
2457
  "name": "registrar-lookup",
2361
2458
  "http_name": "registrar-lookup",
2362
- "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.",
2363
2460
  "method": "POST",
2364
2461
  "input_schema": {
2365
2462
  "type": "object",
@@ -2379,7 +2476,7 @@ export const TOOLS = [
2379
2476
  {
2380
2477
  "name": "research-brief",
2381
2478
  "http_name": "research-brief",
2382
- "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.",
2383
2480
  "method": "POST",
2384
2481
  "input_schema": {
2385
2482
  "type": "object",
@@ -2447,7 +2544,7 @@ export const TOOLS = [
2447
2544
  {
2448
2545
  "name": "sales-lead-domain-enrich",
2449
2546
  "http_name": "sales-lead-domain-enrich",
2450
- "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.",
2451
2548
  "method": "POST",
2452
2549
  "input_schema": {
2453
2550
  "type": "object",
@@ -2504,7 +2601,7 @@ export const TOOLS = [
2504
2601
  {
2505
2602
  "name": "scrape-to-json",
2506
2603
  "http_name": "scrape-to-json",
2507
- "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.",
2508
2605
  "method": "POST",
2509
2606
  "input_schema": {
2510
2607
  "type": "object",
@@ -2542,7 +2639,7 @@ export const TOOLS = [
2542
2639
  {
2543
2640
  "name": "scrape-website",
2544
2641
  "http_name": "scrape-website",
2545
- "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.",
2546
2643
  "method": "POST",
2547
2644
  "input_schema": {
2548
2645
  "type": "object",
@@ -2621,7 +2718,7 @@ export const TOOLS = [
2621
2718
  {
2622
2719
  "name": "search",
2623
2720
  "http_name": "search",
2624
- "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.",
2625
2722
  "method": "POST",
2626
2723
  "input_schema": {
2627
2724
  "type": "object",
@@ -2658,7 +2755,7 @@ export const TOOLS = [
2658
2755
  {
2659
2756
  "name": "search-web",
2660
2757
  "http_name": "search-web",
2661
- "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.",
2662
2759
  "method": "POST",
2663
2760
  "input_schema": {
2664
2761
  "type": "object",
@@ -2695,7 +2792,7 @@ export const TOOLS = [
2695
2792
  {
2696
2793
  "name": "serp-search",
2697
2794
  "http_name": "serp-search",
2698
- "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.",
2699
2796
  "method": "POST",
2700
2797
  "input_schema": {
2701
2798
  "type": "object",
@@ -2732,7 +2829,7 @@ export const TOOLS = [
2732
2829
  {
2733
2830
  "name": "sitemap-fetch",
2734
2831
  "http_name": "sitemap-fetch",
2735
- "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.",
2736
2833
  "method": "POST",
2737
2834
  "input_schema": {
2738
2835
  "type": "object",
@@ -2762,7 +2859,7 @@ export const TOOLS = [
2762
2859
  {
2763
2860
  "name": "social-handle-check",
2764
2861
  "http_name": "social-handle-check",
2765
- "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.",
2766
2863
  "method": "POST",
2767
2864
  "input_schema": {
2768
2865
  "type": "object",
@@ -2780,7 +2877,7 @@ export const TOOLS = [
2780
2877
  {
2781
2878
  "name": "ssl-cert",
2782
2879
  "http_name": "ssl-cert",
2783
- "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.",
2784
2881
  "method": "POST",
2785
2882
  "input_schema": {
2786
2883
  "type": "object",
@@ -2800,7 +2897,7 @@ export const TOOLS = [
2800
2897
  {
2801
2898
  "name": "ssl-cert-info",
2802
2899
  "http_name": "ssl-cert-info",
2803
- "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.",
2804
2901
  "method": "POST",
2805
2902
  "input_schema": {
2806
2903
  "type": "object",
@@ -2840,7 +2937,7 @@ export const TOOLS = [
2840
2937
  {
2841
2938
  "name": "startup-domain-diligence",
2842
2939
  "http_name": "startup-domain-diligence",
2843
- "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.",
2844
2941
  "method": "POST",
2845
2942
  "input_schema": {
2846
2943
  "type": "object",
@@ -2862,7 +2959,7 @@ export const TOOLS = [
2862
2959
  {
2863
2960
  "name": "startup-name-generator",
2864
2961
  "http_name": "startup-name-generator",
2865
- "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.",
2866
2963
  "method": "POST",
2867
2964
  "input_schema": {
2868
2965
  "type": "object",
@@ -2896,10 +2993,80 @@ export const TOOLS = [
2896
2993
  ]
2897
2994
  }
2898
2995
  },
2996
+ {
2997
+ "name": "stock-news",
2998
+ "http_name": "stock-news",
2999
+ "description": "(0.005 USDC/call) Stock news / equities headlines (alias of stocks-news). GDELT-backed public news on stocks, earnings, IPOs, the Fed, and macro with sentiment. Buyer-wording variant of stocks-news. Data-only; no trading advice.",
3000
+ "method": "POST",
3001
+ "input_schema": {
3002
+ "type": "object",
3003
+ "properties": {
3004
+ "topic": {
3005
+ "type": "string",
3006
+ "enum": [
3007
+ "stocks",
3008
+ "earnings",
3009
+ "ipos",
3010
+ "fed",
3011
+ "macro",
3012
+ "tech"
3013
+ ],
3014
+ "description": "Preset topic. Default stocks."
3015
+ },
3016
+ "query": {
3017
+ "type": "string",
3018
+ "description": "Optional GDELT query override, max 240 chars."
3019
+ },
3020
+ "limit": {
3021
+ "type": "number",
3022
+ "description": "Headlines to return, 1-30. Default 10."
3023
+ },
3024
+ "hours": {
3025
+ "type": "number",
3026
+ "description": "Lookback window in hours, 1-168. Default 48."
3027
+ }
3028
+ }
3029
+ }
3030
+ },
3031
+ {
3032
+ "name": "stocks-news",
3033
+ "http_name": "stocks-news",
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
+ "method": "POST",
3036
+ "input_schema": {
3037
+ "type": "object",
3038
+ "properties": {
3039
+ "topic": {
3040
+ "type": "string",
3041
+ "enum": [
3042
+ "stocks",
3043
+ "earnings",
3044
+ "ipos",
3045
+ "fed",
3046
+ "macro",
3047
+ "tech"
3048
+ ],
3049
+ "description": "Preset topic. Default stocks."
3050
+ },
3051
+ "query": {
3052
+ "type": "string",
3053
+ "description": "Optional GDELT query override (e.g. a ticker or company), max 240 chars."
3054
+ },
3055
+ "limit": {
3056
+ "type": "number",
3057
+ "description": "Headlines to return, 1-30. Default 10."
3058
+ },
3059
+ "hours": {
3060
+ "type": "number",
3061
+ "description": "Lookback window in hours, 1-168. Default 48."
3062
+ }
3063
+ }
3064
+ }
3065
+ },
2899
3066
  {
2900
3067
  "name": "subdomain-enum",
2901
3068
  "http_name": "subdomain-enum",
2902
- "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.",
2903
3070
  "method": "POST",
2904
3071
  "input_schema": {
2905
3072
  "type": "object",
@@ -2937,7 +3104,7 @@ export const TOOLS = [
2937
3104
  {
2938
3105
  "name": "tld-info",
2939
3106
  "http_name": "tld-info",
2940
- "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.",
2941
3108
  "method": "POST",
2942
3109
  "input_schema": {
2943
3110
  "type": "object",
@@ -2955,7 +3122,7 @@ export const TOOLS = [
2955
3122
  {
2956
3123
  "name": "tweet-lookup",
2957
3124
  "http_name": "tweet-lookup",
2958
- "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.",
2959
3126
  "method": "POST",
2960
3127
  "input_schema": {
2961
3128
  "type": "object",
@@ -2989,7 +3156,7 @@ export const TOOLS = [
2989
3156
  {
2990
3157
  "name": "tweet-search",
2991
3158
  "http_name": "tweet-search",
2992
- "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.",
2993
3160
  "method": "POST",
2994
3161
  "input_schema": {
2995
3162
  "type": "object",
@@ -3015,7 +3182,7 @@ export const TOOLS = [
3015
3182
  {
3016
3183
  "name": "tweets",
3017
3184
  "http_name": "tweets",
3018
- "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.",
3019
3186
  "method": "POST",
3020
3187
  "input_schema": {
3021
3188
  "type": "object",
@@ -3050,7 +3217,7 @@ export const TOOLS = [
3050
3217
  {
3051
3218
  "name": "tweets-by-id",
3052
3219
  "http_name": "tweets-by-id",
3053
- "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.",
3054
3221
  "method": "POST",
3055
3222
  "input_schema": {
3056
3223
  "type": "object",
@@ -3084,7 +3251,7 @@ export const TOOLS = [
3084
3251
  {
3085
3252
  "name": "tweets-search",
3086
3253
  "http_name": "tweets-search",
3087
- "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.",
3088
3255
  "method": "POST",
3089
3256
  "input_schema": {
3090
3257
  "type": "object",
@@ -3110,7 +3277,7 @@ export const TOOLS = [
3110
3277
  {
3111
3278
  "name": "tweets-user",
3112
3279
  "http_name": "tweets-user",
3113
- "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.",
3114
3281
  "method": "POST",
3115
3282
  "input_schema": {
3116
3283
  "type": "object",
@@ -3146,7 +3313,7 @@ export const TOOLS = [
3146
3313
  {
3147
3314
  "name": "twitter-search",
3148
3315
  "http_name": "twitter-search",
3149
- "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.",
3150
3317
  "method": "POST",
3151
3318
  "input_schema": {
3152
3319
  "type": "object",
@@ -3172,7 +3339,7 @@ export const TOOLS = [
3172
3339
  {
3173
3340
  "name": "twitter-user-lookup",
3174
3341
  "http_name": "twitter-user-lookup",
3175
- "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.",
3176
3343
  "method": "POST",
3177
3344
  "input_schema": {
3178
3345
  "type": "object",
@@ -3190,7 +3357,7 @@ export const TOOLS = [
3190
3357
  {
3191
3358
  "name": "twitter-user-tweets",
3192
3359
  "http_name": "twitter-user-tweets",
3193
- "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.",
3194
3361
  "method": "POST",
3195
3362
  "input_schema": {
3196
3363
  "type": "object",
@@ -3226,7 +3393,7 @@ export const TOOLS = [
3226
3393
  {
3227
3394
  "name": "twitter-users",
3228
3395
  "http_name": "twitter-users",
3229
- "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.",
3230
3397
  "method": "POST",
3231
3398
  "input_schema": {
3232
3399
  "type": "object",
@@ -3261,7 +3428,7 @@ export const TOOLS = [
3261
3428
  {
3262
3429
  "name": "twitter-x-api",
3263
3430
  "http_name": "twitter-x-api",
3264
- "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.",
3265
3432
  "method": "POST",
3266
3433
  "input_schema": {
3267
3434
  "type": "object",
@@ -3335,7 +3502,7 @@ export const TOOLS = [
3335
3502
  {
3336
3503
  "name": "url-expander",
3337
3504
  "http_name": "url-expander",
3338
- "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.",
3339
3506
  "method": "POST",
3340
3507
  "input_schema": {
3341
3508
  "type": "object",
@@ -3361,7 +3528,7 @@ export const TOOLS = [
3361
3528
  {
3362
3529
  "name": "url-metadata-extract",
3363
3530
  "http_name": "url-metadata-extract",
3364
- "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.",
3365
3532
  "method": "POST",
3366
3533
  "input_schema": {
3367
3534
  "type": "object",
@@ -3387,7 +3554,7 @@ export const TOOLS = [
3387
3554
  {
3388
3555
  "name": "user-agent-parse",
3389
3556
  "http_name": "user-agent-parse",
3390
- "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).",
3391
3558
  "method": "POST",
3392
3559
  "input_schema": {
3393
3560
  "type": "object",
@@ -3405,7 +3572,7 @@ export const TOOLS = [
3405
3572
  {
3406
3573
  "name": "user-tweets",
3407
3574
  "http_name": "user-tweets",
3408
- "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.",
3409
3576
  "method": "POST",
3410
3577
  "input_schema": {
3411
3578
  "type": "object",
@@ -3442,7 +3609,7 @@ export const TOOLS = [
3442
3609
  {
3443
3610
  "name": "users",
3444
3611
  "http_name": "users",
3445
- "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.",
3446
3613
  "method": "POST",
3447
3614
  "input_schema": {
3448
3615
  "type": "object",
@@ -3481,7 +3648,7 @@ export const TOOLS = [
3481
3648
  {
3482
3649
  "name": "users-by-username",
3483
3650
  "http_name": "users-by-username",
3484
- "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.",
3485
3652
  "method": "POST",
3486
3653
  "input_schema": {
3487
3654
  "type": "object",
@@ -3499,7 +3666,7 @@ export const TOOLS = [
3499
3666
  {
3500
3667
  "name": "vendor-domain-risk",
3501
3668
  "http_name": "vendor-domain-risk",
3502
- "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.",
3503
3670
  "method": "POST",
3504
3671
  "input_schema": {
3505
3672
  "type": "object",
@@ -3521,7 +3688,7 @@ export const TOOLS = [
3521
3688
  {
3522
3689
  "name": "watch-page",
3523
3690
  "http_name": "watch-page",
3524
- "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.",
3525
3692
  "method": "POST",
3526
3693
  "input_schema": {
3527
3694
  "type": "object",
@@ -3555,7 +3722,7 @@ export const TOOLS = [
3555
3722
  {
3556
3723
  "name": "wayback-lookup",
3557
3724
  "http_name": "wayback-lookup",
3558
- "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.",
3559
3726
  "method": "POST",
3560
3727
  "input_schema": {
3561
3728
  "type": "object",
@@ -3578,7 +3745,7 @@ export const TOOLS = [
3578
3745
  {
3579
3746
  "name": "wayback-machine",
3580
3747
  "http_name": "wayback-machine",
3581
- "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.",
3582
3749
  "method": "POST",
3583
3750
  "input_schema": {
3584
3751
  "type": "object",
@@ -3601,7 +3768,7 @@ export const TOOLS = [
3601
3768
  {
3602
3769
  "name": "web-archive",
3603
3770
  "http_name": "web-archive",
3604
- "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.",
3605
3772
  "method": "POST",
3606
3773
  "input_schema": {
3607
3774
  "type": "object",
@@ -3624,7 +3791,7 @@ export const TOOLS = [
3624
3791
  {
3625
3792
  "name": "web-search",
3626
3793
  "http_name": "web-search",
3627
- "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.",
3628
3795
  "method": "POST",
3629
3796
  "input_schema": {
3630
3797
  "type": "object",
@@ -3661,7 +3828,7 @@ export const TOOLS = [
3661
3828
  {
3662
3829
  "name": "webpage-diff",
3663
3830
  "http_name": "webpage-diff",
3664
- "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.",
3665
3832
  "method": "POST",
3666
3833
  "input_schema": {
3667
3834
  "type": "object",
@@ -3691,7 +3858,7 @@ export const TOOLS = [
3691
3858
  {
3692
3859
  "name": "website-screenshot",
3693
3860
  "http_name": "website-screenshot",
3694
- "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.",
3695
3862
  "method": "POST",
3696
3863
  "input_schema": {
3697
3864
  "type": "object",
@@ -3739,7 +3906,7 @@ export const TOOLS = [
3739
3906
  {
3740
3907
  "name": "whois",
3741
3908
  "http_name": "whois",
3742
- "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.",
3743
3910
  "method": "POST",
3744
3911
  "input_schema": {
3745
3912
  "type": "object",
@@ -3761,7 +3928,7 @@ export const TOOLS = [
3761
3928
  {
3762
3929
  "name": "whois-lookup",
3763
3930
  "http_name": "whois-lookup",
3764
- "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.",
3765
3932
  "method": "POST",
3766
3933
  "input_schema": {
3767
3934
  "type": "object",
@@ -3783,7 +3950,7 @@ export const TOOLS = [
3783
3950
  {
3784
3951
  "name": "wikipedia",
3785
3952
  "http_name": "wikipedia",
3786
- "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.",
3787
3954
  "method": "POST",
3788
3955
  "input_schema": {
3789
3956
  "type": "object",
@@ -3809,7 +3976,7 @@ export const TOOLS = [
3809
3976
  {
3810
3977
  "name": "wikipedia-lookup",
3811
3978
  "http_name": "wikipedia-lookup",
3812
- "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.",
3813
3980
  "method": "POST",
3814
3981
  "input_schema": {
3815
3982
  "type": "object",
@@ -3835,7 +4002,7 @@ export const TOOLS = [
3835
4002
  {
3836
4003
  "name": "x-handle-availability",
3837
4004
  "http_name": "x-handle-availability",
3838
- "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.",
3839
4006
  "method": "POST",
3840
4007
  "input_schema": {
3841
4008
  "type": "object",
@@ -3853,7 +4020,7 @@ export const TOOLS = [
3853
4020
  {
3854
4021
  "name": "x-search",
3855
4022
  "http_name": "x-search",
3856
- "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.",
3857
4024
  "method": "POST",
3858
4025
  "input_schema": {
3859
4026
  "type": "object",
@@ -3879,7 +4046,7 @@ export const TOOLS = [
3879
4046
  {
3880
4047
  "name": "x-user-timeline",
3881
4048
  "http_name": "x-user-timeline",
3882
- "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.",
3883
4050
  "method": "POST",
3884
4051
  "input_schema": {
3885
4052
  "type": "object",
@@ -3915,7 +4082,7 @@ export const TOOLS = [
3915
4082
  {
3916
4083
  "name": "x-username",
3917
4084
  "http_name": "x-username",
3918
- "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.",
3919
4086
  "method": "POST",
3920
4087
  "input_schema": {
3921
4088
  "type": "object",
@@ -3933,7 +4100,7 @@ export const TOOLS = [
3933
4100
  {
3934
4101
  "name": "x-users",
3935
4102
  "http_name": "x-users",
3936
- "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.",
3937
4104
  "method": "POST",
3938
4105
  "input_schema": {
3939
4106
  "type": "object",