{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_jup5yh74g7s6","handle":"tanod-web","url":"https://wellknown.network/agents/tanod-web","links":{"self":"https://wellknown.network/agents/tanod-web/record.json","html":"https://wellknown.network/agents/tanod-web","markdown":"https://wellknown.network/agents/tanod-web/record.md","api":"https://wellknown.network/api/v1/agents/tanod-web","status":"https://wellknown.network/api/v1/agents/tanod-web/status","claim":"https://wellknown.network/agents/tanod-web/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/tanod-web/claim.json","badge":"https://wellknown.network/agents/tanod-web/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/tanod-web/history","tools":"https://wellknown.network/api/v1/agents/tanod-web/tools"},"ard":{"identifier":"urn:air:tanod.dev:server:tanod-web","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Web Reader & Search (Tanod)","summary":"Web search for agents: page to Markdown, screenshots, news search, metadata, sitemaps and RDAP.","description":"Web search for agents: page to Markdown, screenshots, news search, metadata, sitemaps and RDAP.","publisher":{"name":"dev.tanod","url":null},"homepage":"https://tanod.dev","repository":null,"version":"0.1.3","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://tanod.dev/mcp/web","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-16T14:55:00.600951Z","publishedAt":"2026-10-16T14:55:00.600951Z","registryName":"dev.tanod/web"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"documents.contracts","name":"Contracts & Legal","confidence":1,"provenance":"derived"},{"slug":"data.web-search","name":"Web Search","confidence":1,"provenance":"derived"},{"slug":"data.news","name":"News & Feeds","confidence":1,"provenance":"derived"},{"slug":"infra.browser-automation","name":"Browser Automation","confidence":1,"provenance":"derived"},{"slug":"finance.markets","name":"Markets & Trading","confidence":1,"provenance":"derived"},{"slug":"research.academic","name":"Academic Research","confidence":1,"provenance":"derived"},{"slug":"data.web-scraping","name":"Web Scraping","confidence":0.992,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":0.583,"provenance":"derived"}],"categories":["data","documents","finance","infra","research","security"],"language":"en"},"observed":{"status":"recently_observed","statusReason":"Responded 21h ago; 1 recent check failed (latest 15h ago).","lastOkAt":"2026-10-20T19:26:39.071Z","lastProbedAt":"2026-10-21T01:27:58.917Z","statusComputedAt":"2026-10-21T01:30:33.168Z","reliability30d":{"probes":43,"successRate":0.9767,"p50Ms":430,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":43,"ok":42,"authBoundaryOk":0,"serviceOk":42,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-21T01:27:58.917Z","kind":"mcp_initialize","ok":false,"httpStatus":521,"latencyMs":265,"error":"http 521","detail":null},{"at":"2026-10-20T19:26:39.071Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":262,"error":null,"detail":{"tools":[{"name":"web_search","description":"findpeek: search the web for a query and get back ranked results (title, url, snippet) from an independent index (Mojeek). For the pages' text in the same call "},{"name":"search_with_contents","description":"findpeek: Search the web and get the Markdown of the top results in one call. For links only use web_search. Returns search results (title, url, snippet) with t"},{"name":"search_social_posts","description":"findpeek: Search social posts on Bluesky and Hacker News: recent public posts about a topic. For news articles use news_search. Returns recent public Bluesky an"},{"name":"render_page","description":"sitepeek: fetch a public http(s) URL and return clean Markdown (static, or with `js:true` executed in a sandboxed headless browser) or a PNG screenshot; private"},{"name":"render_pages_batch","description":"sitepeek: Fetch up to 5 web page URLs to Markdown in one batch call. For 10 URLs in the contents API shape use fetch_page_contents; for JavaScript use render_pa"},{"name":"fetch_page_contents","description":"sitepeek: Get the contents of 1-10 URLs: web page to text for a list of URLs. For one page with JavaScript use render_page. Returns the text of 1-10 web pages a"},{"name":"get_page_meta","description":"sitepeek: read a public web page's metadata from its static HTML (no browser). For the readable text use render_page; for every link use extract_links. Returns "},{"name":"extract_links","description":"sitepeek: list a public page's links. For a site's URL list use parse_sitemap. `check: true` probes each returned http(s) link (HEAD, then a small GET; 20 s in "},{"name":"parse_sitemap","description":"sitepeek: parse a sitemap into its URLs. For crawl permission use check_robots_txt. An index is followed one level: its first 5 child sitemaps are fetched, the "},{"name":"check_robots_txt","description":"sitepeek: test whether robots.txt lets a crawler fetch a URL. For the URLs a site lists use parse_sitemap. Fetches <origin>/robots.txt (first 512 KiB) and match"},{"name":"check_security_headers","description":"sitepeek: grade a public page's HTTP security headers. For a phishing-list check use check_url_phishing; for DNS and TLS use inspect_domain. Grades the final re"},{"name":"inspect_domain","description":"dnspeek: inspect a domain's DNS, email authentication and TLS cert in one call. For registration data use rdap_lookup; for availability use check_domain_availab"},{"name":"rdap_lookup","description":"dnspeek: RDAP (the successor of whois) registration lookup. For DNS and TLS use inspect_domain; for an IP's ASN and reverse DNS use ip_lookup. Input: `query`, a"},{"name":"verify_email","description":"dnspeek: verify an email address before you send to it or accept it at sign-up. For the domain's SPF, DMARC and DKIM use inspect_domain. Checks syntax (practica"},{"name":"ip_lookup","description":"dnspeek: look up an IP address. For the raw registry record use rdap_lookup. Returns version, is_public and, for a private or reserved address, `reserved_kind` "},{"name":"check_url_phishing","description":"chainpeek: Check if a URL or domain is phishing or a scam. For up to 1,000 URLs use check_urls_phishing_batch; for headers use check_security_headers. Returns w"},{"name":"html_to_text","description":"utilpeek: Convert HTML to Markdown or plain text. To fetch a URL use render_page; for the reverse use markdown_to_html. Returns the readable content of an HTML "},{"name":"extract_pdf","description":"sitepeek: extract the text of a public PDF. For tables use extract_pdf_tables; for scans use pdf_ocr; for other formats use convert_document_to_markdown. Passwo"},{"name":"html_to_pdf","description":"pdfpeek: Convert a web page URL to PDF. For images use images_to_pdf; for an image capture use take_website_screenshot. Returns a public web page printed to PDF"},{"name":"take_website_screenshot","description":"sitepeek: Take a website screenshot of a public URL. For the page's text use render_page; for a PDF use html_to_pdf; for a signed record of what a page showed u"},{"name":"parse_url","description":"utilpeek: parse a URL. To fetch the page use render_page. The URL is parsed, never fetched. Public-suffix split from the Public Suffix List snapshot bundled wit"},{"name":"parse_rss_feed","description":"utilpeek: Parse an RSS or Atom feed URL into clean JSON: feed data, items, dates, audio enclosures. To find a podcast's feed use search_podcasts. Returns a publ"},{"name":"search_podcasts","description":"utilpeek: Search podcasts by name or Apple Podcasts link: RSS feed URL, show data and latest episodes. To read any other feed use parse_rss_feed. Returns the RS"},{"name":"company_profile","description":"utilpeek: Get a company profile from a domain: site metadata, socials, tools, registration. For open jobs use company_jobs; for SEC filings use sec_company_look"},{"name":"company_jobs","description":"utilpeek: List a company's open jobs from its Greenhouse, Lever or Ashby job board. For the company's profile use company_profile. Returns a company's open jobs"},{"name":"lookup_lei","description":"utilpeek: Look up a company by its LEI in the GLEIF register. To find an LEI by name use search_lei. Returns the GLEIF record of a LEI: legal name, status, juri"},{"name":"search_lei","description":"utilpeek: Search the GLEIF register for a company's LEI by name. For one LEI's full record and parents use lookup_lei. Returns up to 20 GLEIF records matching a"},{"name":"search_papers","description":"utilpeek: Search academic papers by keyword. For top papers ranked with summaries use paper_digest. Returns academic papers for a query from OpenAlex (or arXiv)"},{"name":"paper_digest","description":"utilpeek: Digest the top academic papers on a topic: ranked, with a short summary of each. For a plain search use search_papers. Returns the top papers on a top"},{"name":"news_search","description":"utilpeek: Search recent news articles by keyword. For the web at large use web_search; for crypto stories use get_crypto_news_headlines. Returns recent news art"},{"name":"get_crypto_news_headlines","description":"utilpeek: Use when an agent must decide which crypto stories to react to: top headlines ranked by outlet coverage, new ones only. For any topic use news_search."},{"name":"get_topic_trends_attention","description":"utilpeek: Use when an agent must tell if interest in a topic is rising or fading: Wikipedia, Hacker News and news over time. For the articles use news_search. R"},{"name":"search_prediction_markets","description":"utilpeek: Use when an agent needs to see what odds traders put on an event: Polymarket probabilities, volume and liquidity for a topic. For regulated US event c"},{"name":"get_event_contract_odds","description":"utilpeek: Search regulated US event contracts by topic. For Polymarket use search_prediction_markets. Returns open regulated US event-contract markets (predicti"},{"name":"decode_vin","description":"utilpeek: Decode a vehicle identification number with NHTSA vPIC. For its recalls use vehicle_recalls. Returns the NHTSA vPIC decode of a VIN (US-market data). "},{"name":"vehicle_recalls","description":"utilpeek: List the NHTSA safety recalls of a vehicle by make, model and year or by VIN. For the VIN decode use decode_vin. Returns the NHTSA safety recalls of a"},{"name":"check_domain_availability","description":"dnspeek: Check if domain names are available to register. For a registered domain's record use rdap_lookup. Returns 1-50 domain names checked for availability f"},{"name":"check_status_page","description":"utilpeek: Check an API status page: is a service up? Degraded components and open incidents. For whether an MCP server answers use check_mcp_server. Returns the"},{"name":"check_text_sources","description":"findpeek: Check a text for copied sentences: web pages that contain them word for word. For a general query use web_search. Returns for up to 10 of a text's mos"},{"name":"capture_web_evidence","description":"sitepeek: Capture a web page as evidence: screenshot, PDF, text, SHA-256 hashes, signed manifest. For one image alone use take_website_screenshot; for the text "}],"toolCount":40,"toolsHash":"e03b81757869d74ce6f05ef4610d75549f5819c8888e2c46c3c43a6a444d0015","serverName":"tanod-web","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T13:28:39.758Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":816,"error":null,"detail":{"tools":[{"name":"web_search","description":"findpeek: search the web for a query and get back ranked results (title, url, snippet) from an independent index (Mojeek). For the pages' text in the same call "},{"name":"search_with_contents","description":"findpeek: Search the web and get the Markdown of the top results in one call. For links only use web_search. Returns search results (title, url, snippet) with t"},{"name":"search_social_posts","description":"findpeek: Search social posts on Bluesky and Hacker News: recent public posts about a topic. For news articles use news_search. Returns recent public Bluesky an"},{"name":"render_page","description":"sitepeek: fetch a public http(s) URL and return clean Markdown (static, or with `js:true` executed in a sandboxed headless browser) or a PNG screenshot; private"},{"name":"render_pages_batch","description":"sitepeek: Fetch up to 5 web page URLs to Markdown in one batch call. For 10 URLs in the contents API shape use fetch_page_contents; for JavaScript use render_pa"},{"name":"fetch_page_contents","description":"sitepeek: Get the contents of 1-10 URLs: web page to text for a list of URLs. For one page with JavaScript use render_page. Returns the text of 1-10 web pages a"},{"name":"get_page_meta","description":"sitepeek: read a public web page's metadata from its static HTML (no browser). For the readable text use render_page; for every link use extract_links. Returns "},{"name":"extract_links","description":"sitepeek: list a public page's links. For a site's URL list use parse_sitemap. `check: true` probes each returned http(s) link (HEAD, then a small GET; 20 s in "},{"name":"parse_sitemap","description":"sitepeek: parse a sitemap into its URLs. For crawl permission use check_robots_txt. An index is followed one level: its first 5 child sitemaps are fetched, the "},{"name":"check_robots_txt","description":"sitepeek: test whether robots.txt lets a crawler fetch a URL. For the URLs a site lists use parse_sitemap. Fetches <origin>/robots.txt (first 512 KiB) and match"},{"name":"check_security_headers","description":"sitepeek: grade a public page's HTTP security headers. For a phishing-list check use check_url_phishing; for DNS and TLS use inspect_domain. Grades the final re"},{"name":"inspect_domain","description":"dnspeek: inspect a domain's DNS, email authentication and TLS cert in one call. For registration data use rdap_lookup; for availability use check_domain_availab"},{"name":"rdap_lookup","description":"dnspeek: RDAP (the successor of whois) registration lookup. For DNS and TLS use inspect_domain; for an IP's ASN and reverse DNS use ip_lookup. Input: `query`, a"},{"name":"verify_email","description":"dnspeek: verify an email address before you send to it or accept it at sign-up. For the domain's SPF, DMARC and DKIM use inspect_domain. Checks syntax (practica"},{"name":"ip_lookup","description":"dnspeek: look up an IP address. For the raw registry record use rdap_lookup. Returns version, is_public and, for a private or reserved address, `reserved_kind` "},{"name":"check_url_phishing","description":"chainpeek: Check if a URL or domain is phishing or a scam. For up to 1,000 URLs use check_urls_phishing_batch; for headers use check_security_headers. Returns w"},{"name":"html_to_text","description":"utilpeek: Convert HTML to Markdown or plain text. To fetch a URL use render_page; for the reverse use markdown_to_html. Returns the readable content of an HTML "},{"name":"extract_pdf","description":"sitepeek: extract the text of a public PDF. For tables use extract_pdf_tables; for scans use pdf_ocr; for other formats use convert_document_to_markdown. Passwo"},{"name":"html_to_pdf","description":"pdfpeek: Convert a web page URL to PDF. For images use images_to_pdf; for an image capture use take_website_screenshot. Returns a public web page printed to PDF"},{"name":"take_website_screenshot","description":"sitepeek: Take a website screenshot of a public URL. For the page's text use render_page; for a PDF use html_to_pdf; for a signed record of what a page showed u"},{"name":"parse_url","description":"utilpeek: parse a URL. To fetch the page use render_page. The URL is parsed, never fetched. Public-suffix split from the Public Suffix List snapshot bundled wit"},{"name":"parse_rss_feed","description":"utilpeek: Parse an RSS or Atom feed URL into clean JSON: feed data, items, dates, audio enclosures. To find a podcast's feed use search_podcasts. Returns a publ"},{"name":"search_podcasts","description":"utilpeek: Search podcasts by name or Apple Podcasts link: RSS feed URL, show data and latest episodes. To read any other feed use parse_rss_feed. Returns the RS"},{"name":"company_profile","description":"utilpeek: Get a company profile from a domain: site metadata, socials, tools, registration. For open jobs use company_jobs; for SEC filings use sec_company_look"},{"name":"company_jobs","description":"utilpeek: List a company's open jobs from its Greenhouse, Lever or Ashby job board. For the company's profile use company_profile. Returns a company's open jobs"},{"name":"lookup_lei","description":"utilpeek: Look up a company by its LEI in the GLEIF register. To find an LEI by name use search_lei. Returns the GLEIF record of a LEI: legal name, status, juri"},{"name":"search_lei","description":"utilpeek: Search the GLEIF register for a company's LEI by name. For one LEI's full record and parents use lookup_lei. Returns up to 20 GLEIF records matching a"},{"name":"search_papers","description":"utilpeek: Search academic papers by keyword. For top papers ranked with summaries use paper_digest. Returns academic papers for a query from OpenAlex (or arXiv)"},{"name":"paper_digest","description":"utilpeek: Digest the top academic papers on a topic: ranked, with a short summary of each. For a plain search use search_papers. Returns the top papers on a top"},{"name":"news_search","description":"utilpeek: Search recent news articles by keyword. For the web at large use web_search; for crypto stories use get_crypto_news_headlines. Returns recent news art"},{"name":"get_crypto_news_headlines","description":"utilpeek: Use when an agent must decide which crypto stories to react to: top headlines ranked by outlet coverage, new ones only. For any topic use news_search."},{"name":"get_topic_trends_attention","description":"utilpeek: Use when an agent must tell if interest in a topic is rising or fading: Wikipedia, Hacker News and news over time. For the articles use news_search. R"},{"name":"search_prediction_markets","description":"utilpeek: Use when an agent needs to see what odds traders put on an event: Polymarket probabilities, volume and liquidity for a topic. For regulated US event c"},{"name":"get_event_contract_odds","description":"utilpeek: Search regulated US event contracts by topic. For Polymarket use search_prediction_markets. Returns open regulated US event-contract markets (predicti"},{"name":"decode_vin","description":"utilpeek: Decode a vehicle identification number with NHTSA vPIC. For its recalls use vehicle_recalls. Returns the NHTSA vPIC decode of a VIN (US-market data). "},{"name":"vehicle_recalls","description":"utilpeek: List the NHTSA safety recalls of a vehicle by make, model and year or by VIN. For the VIN decode use decode_vin. Returns the NHTSA safety recalls of a"},{"name":"check_domain_availability","description":"dnspeek: Check if domain names are available to register. For a registered domain's record use rdap_lookup. Returns 1-50 domain names checked for availability f"},{"name":"check_status_page","description":"utilpeek: Check an API status page: is a service up? Degraded components and open incidents. For whether an MCP server answers use check_mcp_server. Returns the"},{"name":"check_text_sources","description":"findpeek: Check a text for copied sentences: web pages that contain them word for word. For a general query use web_search. Returns for up to 10 of a text's mos"},{"name":"capture_web_evidence","description":"sitepeek: Capture a web page as evidence: screenshot, PDF, text, SHA-256 hashes, signed manifest. For one image alone use take_website_screenshot; for the text "}],"toolCount":40,"toolsHash":"e03b81757869d74ce6f05ef4610d75549f5819c8888e2c46c3c43a6a444d0015","serverName":"tanod-web","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T06:26:42.656Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":729,"error":null,"detail":{"tools":[{"name":"web_search","description":"findpeek: search the web for a query and get back ranked results (title, url, snippet) from an independent index (Mojeek). For the pages' text in the same call "},{"name":"search_with_contents","description":"findpeek: Search the web and get the Markdown of the top results in one call. For links only use web_search. Returns search results (title, url, snippet) with t"},{"name":"search_social_posts","description":"findpeek: Search social posts on Bluesky and Hacker News: recent public posts about a topic. For news articles use news_search. Returns recent public Bluesky an"},{"name":"render_page","description":"sitepeek: fetch a public http(s) URL and return clean Markdown (static, or with `js:true` executed in a sandboxed headless browser) or a PNG screenshot; private"},{"name":"render_pages_batch","description":"sitepeek: Fetch up to 5 web page URLs to Markdown in one batch call. For 10 URLs in the contents API shape use fetch_page_contents; for JavaScript use render_pa"},{"name":"fetch_page_contents","description":"sitepeek: Get the contents of 1-10 URLs: web page to text for a list of URLs. For one page with JavaScript use render_page. Returns the text of 1-10 web pages a"},{"name":"get_page_meta","description":"sitepeek: read a public web page's metadata from its static HTML (no browser). For the readable text use render_page; for every link use extract_links. Returns "},{"name":"extract_links","description":"sitepeek: list a public page's links. For a site's URL list use parse_sitemap. `check: true` probes each returned http(s) link (HEAD, then a small GET; 20 s in "},{"name":"parse_sitemap","description":"sitepeek: parse a sitemap into its URLs. For crawl permission use check_robots_txt. An index is followed one level: its first 5 child sitemaps are fetched, the "},{"name":"check_robots_txt","description":"sitepeek: test whether robots.txt lets a crawler fetch a URL. For the URLs a site lists use parse_sitemap. Fetches <origin>/robots.txt (first 512 KiB) and match"},{"name":"check_security_headers","description":"sitepeek: grade a public page's HTTP security headers. For a phishing-list check use check_url_phishing; for DNS and TLS use inspect_domain. Grades the final re"},{"name":"inspect_domain","description":"dnspeek: inspect a domain's DNS, email authentication and TLS cert in one call. For registration data use rdap_lookup; for availability use check_domain_availab"},{"name":"rdap_lookup","description":"dnspeek: RDAP (the successor of whois) registration lookup. For DNS and TLS use inspect_domain; for an IP's ASN and reverse DNS use ip_lookup. Input: `query`, a"},{"name":"verify_email","description":"dnspeek: verify an email address before you send to it or accept it at sign-up. For the domain's SPF, DMARC and DKIM use inspect_domain. Checks syntax (practica"},{"name":"ip_lookup","description":"dnspeek: look up an IP address. For the raw registry record use rdap_lookup. Returns version, is_public and, for a private or reserved address, `reserved_kind` "},{"name":"check_url_phishing","description":"chainpeek: Check if a URL or domain is phishing or a scam. For up to 1,000 URLs use check_urls_phishing_batch; for headers use check_security_headers. Returns w"},{"name":"html_to_text","description":"utilpeek: Convert HTML to Markdown or plain text. To fetch a URL use render_page; for the reverse use markdown_to_html. Returns the readable content of an HTML "},{"name":"extract_pdf","description":"sitepeek: extract the text of a public PDF. For tables use extract_pdf_tables; for scans use pdf_ocr; for other formats use convert_document_to_markdown. Passwo"},{"name":"html_to_pdf","description":"pdfpeek: Convert a web page URL to PDF. For images use images_to_pdf; for an image capture use take_website_screenshot. Returns a public web page printed to PDF"},{"name":"take_website_screenshot","description":"sitepeek: Take a website screenshot of a public URL. For the page's text use render_page; for a PDF use html_to_pdf; for a signed record of what a page showed u"},{"name":"parse_url","description":"utilpeek: parse a URL. To fetch the page use render_page. The URL is parsed, never fetched. Public-suffix split from the Public Suffix List snapshot bundled wit"},{"name":"parse_rss_feed","description":"utilpeek: Parse an RSS or Atom feed URL into clean JSON: feed data, items, dates, audio enclosures. To find a podcast's feed use search_podcasts. Returns a publ"},{"name":"search_podcasts","description":"utilpeek: Search podcasts by name or Apple Podcasts link: RSS feed URL, show data and latest episodes. To read any other feed use parse_rss_feed. Returns the RS"},{"name":"company_profile","description":"utilpeek: Get a company profile from a domain: site metadata, socials, tools, registration. For open jobs use company_jobs; for SEC filings use sec_company_look"},{"name":"company_jobs","description":"utilpeek: List a company's open jobs from its Greenhouse, Lever or Ashby job board. For the company's profile use company_profile. Returns a company's open jobs"},{"name":"lookup_lei","description":"utilpeek: Look up a company by its LEI in the GLEIF register. To find an LEI by name use search_lei. Returns the GLEIF record of a LEI: legal name, status, juri"},{"name":"search_lei","description":"utilpeek: Search the GLEIF register for a company's LEI by name. For one LEI's full record and parents use lookup_lei. Returns up to 20 GLEIF records matching a"},{"name":"search_papers","description":"utilpeek: Search academic papers by keyword. For top papers ranked with summaries use paper_digest. Returns academic papers for a query from OpenAlex (or arXiv)"},{"name":"paper_digest","description":"utilpeek: Digest the top academic papers on a topic: ranked, with a short summary of each. For a plain search use search_papers. Returns the top papers on a top"},{"name":"news_search","description":"utilpeek: Search recent news articles by keyword. For the web at large use web_search; for crypto stories use get_crypto_news_headlines. Returns recent news art"},{"name":"get_crypto_news_headlines","description":"utilpeek: Use when an agent must decide which crypto stories to react to: top headlines ranked by outlet coverage, new ones only. For any topic use news_search."},{"name":"get_topic_trends_attention","description":"utilpeek: Use when an agent must tell if interest in a topic is rising or fading: Wikipedia, Hacker News and news over time. For the articles use news_search. R"},{"name":"search_prediction_markets","description":"utilpeek: Use when an agent needs to see what odds traders put on an event: Polymarket probabilities, volume and liquidity for a topic. For regulated US event c"},{"name":"get_event_contract_odds","description":"utilpeek: Search regulated US event contracts by topic. For Polymarket use search_prediction_markets. Returns open regulated US event-contract markets (predicti"},{"name":"decode_vin","description":"utilpeek: Decode a vehicle identification number with NHTSA vPIC. For its recalls use vehicle_recalls. Returns the NHTSA vPIC decode of a VIN (US-market data). "},{"name":"vehicle_recalls","description":"utilpeek: List the NHTSA safety recalls of a vehicle by make, model and year or by VIN. For the VIN decode use decode_vin. Returns the NHTSA safety recalls of a"},{"name":"check_domain_availability","description":"dnspeek: Check if domain names are available to register. For a registered domain's record use rdap_lookup. Returns 1-50 domain names checked for availability f"},{"name":"check_status_page","description":"utilpeek: Check an API status page: is a service up? Degraded components and open incidents. For whether an MCP server answers use check_mcp_server. Returns the"},{"name":"check_text_sources","description":"findpeek: Check a text for copied sentences: web pages that contain them word for word. For a general query use web_search. Returns for up to 10 of a text's mos"},{"name":"capture_web_evidence","description":"sitepeek: Capture a web page as evidence: screenshot, PDF, text, SHA-256 hashes, signed manifest. For one image alone use take_website_screenshot; for the text "}],"toolCount":40,"toolsHash":"e03b81757869d74ce6f05ef4610d75549f5819c8888e2c46c3c43a6a444d0015","serverName":"tanod-web","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T00:32:34.526Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":272,"error":null,"detail":{"tools":[{"name":"web_search","description":"findpeek: search the web for a query and get back ranked results (title, url, snippet) from an independent index (Mojeek). For the pages' text in the same call "},{"name":"search_with_contents","description":"findpeek: Search the web and get the Markdown of the top results in one call. For links only use web_search. Returns search results (title, url, snippet) with t"},{"name":"search_social_posts","description":"findpeek: Search social posts on Bluesky and Hacker News: recent public posts about a topic. For news articles use news_search. Returns recent public Bluesky an"},{"name":"render_page","description":"sitepeek: fetch a public http(s) URL and return clean Markdown (static, or with `js:true` executed in a sandboxed headless browser) or a PNG screenshot; private"},{"name":"render_pages_batch","description":"sitepeek: Fetch up to 5 web page URLs to Markdown in one batch call. For 10 URLs in the contents API shape use fetch_page_contents; for JavaScript use render_pa"},{"name":"fetch_page_contents","description":"sitepeek: Get the contents of 1-10 URLs: web page to text for a list of URLs. For one page with JavaScript use render_page. Returns the text of 1-10 web pages a"},{"name":"get_page_meta","description":"sitepeek: read a public web page's metadata from its static HTML (no browser). For the readable text use render_page; for every link use extract_links. Returns "},{"name":"extract_links","description":"sitepeek: list a public page's links. For a site's URL list use parse_sitemap. `check: true` probes each returned http(s) link (HEAD, then a small GET; 20 s in "},{"name":"parse_sitemap","description":"sitepeek: parse a sitemap into its URLs. For crawl permission use check_robots_txt. An index is followed one level: its first 5 child sitemaps are fetched, the "},{"name":"check_robots_txt","description":"sitepeek: test whether robots.txt lets a crawler fetch a URL. For the URLs a site lists use parse_sitemap. Fetches <origin>/robots.txt (first 512 KiB) and match"},{"name":"check_security_headers","description":"sitepeek: grade a public page's HTTP security headers. For a phishing-list check use check_url_phishing; for DNS and TLS use inspect_domain. Grades the final re"},{"name":"inspect_domain","description":"dnspeek: inspect a domain's DNS, email authentication and TLS cert in one call. For registration data use rdap_lookup; for availability use check_domain_availab"},{"name":"rdap_lookup","description":"dnspeek: RDAP (the successor of whois) registration lookup. For DNS and TLS use inspect_domain; for an IP's ASN and reverse DNS use ip_lookup. Input: `query`, a"},{"name":"verify_email","description":"dnspeek: verify an email address before you send to it or accept it at sign-up. For the domain's SPF, DMARC and DKIM use inspect_domain. Checks syntax (practica"},{"name":"ip_lookup","description":"dnspeek: look up an IP address. For the raw registry record use rdap_lookup. Returns version, is_public and, for a private or reserved address, `reserved_kind` "},{"name":"check_url_phishing","description":"chainpeek: Check if a URL or domain is phishing or a scam. For up to 1,000 URLs use check_urls_phishing_batch; for headers use check_security_headers. Returns w"},{"name":"html_to_text","description":"utilpeek: Convert HTML to Markdown or plain text. To fetch a URL use render_page; for the reverse use markdown_to_html. Returns the readable content of an HTML "},{"name":"extract_pdf","description":"sitepeek: extract the text of a public PDF. For tables use extract_pdf_tables; for scans use pdf_ocr; for other formats use convert_document_to_markdown. Passwo"},{"name":"html_to_pdf","description":"pdfpeek: Convert a web page URL to PDF. For images use images_to_pdf; for an image capture use take_website_screenshot. Returns a public web page printed to PDF"},{"name":"take_website_screenshot","description":"sitepeek: Take a website screenshot of a public URL. For the page's text use render_page; for a PDF use html_to_pdf; for a signed record of what a page showed u"},{"name":"parse_url","description":"utilpeek: parse a URL. To fetch the page use render_page. The URL is parsed, never fetched. Public-suffix split from the Public Suffix List snapshot bundled wit"},{"name":"parse_rss_feed","description":"utilpeek: Parse an RSS or Atom feed URL into clean JSON: feed data, items, dates, audio enclosures. To find a podcast's feed use search_podcasts. Returns a publ"},{"name":"search_podcasts","description":"utilpeek: Search podcasts by name or Apple Podcasts link: RSS feed URL, show data and latest episodes. To read any other feed use parse_rss_feed. Returns the RS"},{"name":"company_profile","description":"utilpeek: Get a company profile from a domain: site metadata, socials, tools, registration. For open jobs use company_jobs; for SEC filings use sec_company_look"},{"name":"company_jobs","description":"utilpeek: List a company's open jobs from its Greenhouse, Lever or Ashby job board. For the company's profile use company_profile. Returns a company's open jobs"},{"name":"lookup_lei","description":"utilpeek: Look up a company by its LEI in the GLEIF register. To find an LEI by name use search_lei. Returns the GLEIF record of a LEI: legal name, status, juri"},{"name":"search_lei","description":"utilpeek: Search the GLEIF register for a company's LEI by name. For one LEI's full record and parents use lookup_lei. Returns up to 20 GLEIF records matching a"},{"name":"search_papers","description":"utilpeek: Search academic papers by keyword. For top papers ranked with summaries use paper_digest. Returns academic papers for a query from OpenAlex (or arXiv)"},{"name":"paper_digest","description":"utilpeek: Digest the top academic papers on a topic: ranked, with a short summary of each. For a plain search use search_papers. Returns the top papers on a top"},{"name":"news_search","description":"utilpeek: Search recent news articles by keyword. For the web at large use web_search; for crypto stories use get_crypto_news_headlines. Returns recent news art"},{"name":"get_crypto_news_headlines","description":"utilpeek: Use when an agent must decide which crypto stories to react to: top headlines ranked by outlet coverage, new ones only. For any topic use news_search."},{"name":"get_topic_trends_attention","description":"utilpeek: Use when an agent must tell if interest in a topic is rising or fading: Wikipedia, Hacker News and news over time. For the articles use news_search. R"},{"name":"search_prediction_markets","description":"utilpeek: Use when an agent needs to see what odds traders put on an event: Polymarket probabilities, volume and liquidity for a topic. For regulated US event c"},{"name":"get_event_contract_odds","description":"utilpeek: Search regulated US event contracts by topic. For Polymarket use search_prediction_markets. Returns open regulated US event-contract markets (predicti"},{"name":"decode_vin","description":"utilpeek: Decode a vehicle identification number with NHTSA vPIC. For its recalls use vehicle_recalls. Returns the NHTSA vPIC decode of a VIN (US-market data). "},{"name":"vehicle_recalls","description":"utilpeek: List the NHTSA safety recalls of a vehicle by make, model and year or by VIN. For the VIN decode use decode_vin. Returns the NHTSA safety recalls of a"},{"name":"check_domain_availability","description":"dnspeek: Check if domain names are available to register. For a registered domain's record use rdap_lookup. Returns 1-50 domain names checked for availability f"},{"name":"check_status_page","description":"utilpeek: Check an API status page: is a service up? Degraded components and open incidents. For whether an MCP server answers use check_mcp_server. Returns the"},{"name":"check_text_sources","description":"findpeek: Check a text for copied sentences: web pages that contain them word for word. For a general query use web_search. Returns for up to 10 of a text's mos"},{"name":"capture_web_evidence","description":"sitepeek: Capture a web page as evidence: screenshot, PDF, text, SHA-256 hashes, signed manifest. For one image alone use take_website_screenshot; for the text "}],"toolCount":40,"toolsHash":"e03b81757869d74ce6f05ef4610d75549f5819c8888e2c46c3c43a6a444d0015","serverName":"tanod-web","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-19T17:45:57.340Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":737,"error":null,"detail":{"tools":[{"name":"web_search","description":"findpeek: search the web for a query and get back ranked results (title, url, snippet) from an independent index (Mojeek). For the pages' text in the same call "},{"name":"search_with_contents","description":"findpeek: Search the web and get the Markdown of the top results in one call. For links only use web_search. Returns search results (title, url, snippet) with t"},{"name":"search_social_posts","description":"findpeek: Search social posts on Bluesky and Hacker News: recent public posts about a topic. For news articles use news_search. Returns recent public Bluesky an"},{"name":"render_page","description":"sitepeek: fetch a public http(s) URL and return clean Markdown (static, or with `js:true` executed in a sandboxed headless browser) or a PNG screenshot; private"},{"name":"render_pages_batch","description":"sitepeek: Fetch up to 5 web page URLs to Markdown in one batch call. For 10 URLs in the contents API shape use fetch_page_contents; for JavaScript use render_pa"},{"name":"fetch_page_contents","description":"sitepeek: Get the contents of 1-10 URLs: web page to text for a list of URLs. For one page with JavaScript use render_page. Returns the text of 1-10 web pages a"},{"name":"get_page_meta","description":"sitepeek: read a public web page's metadata from its static HTML (no browser). For the readable text use render_page; for every link use extract_links. Returns "},{"name":"extract_links","description":"sitepeek: list a public page's links. For a site's URL list use parse_sitemap. `check: true` probes each returned http(s) link (HEAD, then a small GET; 20 s in "},{"name":"parse_sitemap","description":"sitepeek: parse a sitemap into its URLs. For crawl permission use check_robots_txt. An index is followed one level: its first 5 child sitemaps are fetched, the "},{"name":"check_robots_txt","description":"sitepeek: test whether robots.txt lets a crawler fetch a URL. For the URLs a site lists use parse_sitemap. Fetches <origin>/robots.txt (first 512 KiB) and match"},{"name":"check_security_headers","description":"sitepeek: grade a public page's HTTP security headers. For a phishing-list check use check_url_phishing; for DNS and TLS use inspect_domain. Grades the final re"},{"name":"inspect_domain","description":"dnspeek: inspect a domain's DNS, email authentication and TLS cert in one call. For registration data use rdap_lookup; for availability use check_domain_availab"},{"name":"rdap_lookup","description":"dnspeek: RDAP (the successor of whois) registration lookup. For DNS and TLS use inspect_domain; for an IP's ASN and reverse DNS use ip_lookup. Input: `query`, a"},{"name":"verify_email","description":"dnspeek: verify an email address before you send to it or accept it at sign-up. For the domain's SPF, DMARC and DKIM use inspect_domain. Checks syntax (practica"},{"name":"ip_lookup","description":"dnspeek: look up an IP address. For the raw registry record use rdap_lookup. Returns version, is_public and, for a private or reserved address, `reserved_kind` "},{"name":"check_url_phishing","description":"chainpeek: Check if a URL or domain is phishing or a scam. For up to 1,000 URLs use check_urls_phishing_batch; for headers use check_security_headers. Returns w"},{"name":"html_to_text","description":"utilpeek: Convert HTML to Markdown or plain text. To fetch a URL use render_page; for the reverse use markdown_to_html. Returns the readable content of an HTML "},{"name":"extract_pdf","description":"sitepeek: extract the text of a public PDF. For tables use extract_pdf_tables; for scans use pdf_ocr; for other formats use convert_document_to_markdown. Passwo"},{"name":"html_to_pdf","description":"pdfpeek: Convert a web page URL to PDF. For images use images_to_pdf; for an image capture use take_website_screenshot. Returns a public web page printed to PDF"},{"name":"take_website_screenshot","description":"sitepeek: Take a website screenshot of a public URL. For the page's text use render_page; for a PDF use html_to_pdf; for a signed record of what a page showed u"},{"name":"parse_url","description":"utilpeek: parse a URL. To fetch the page use render_page. The URL is parsed, never fetched. Public-suffix split from the Public Suffix List snapshot bundled wit"},{"name":"parse_rss_feed","description":"utilpeek: Parse an RSS or Atom feed URL into clean JSON: feed data, items, dates, audio enclosures. To find a podcast's feed use search_podcasts. Returns a publ"},{"name":"search_podcasts","description":"utilpeek: Search podcasts by name or Apple Podcasts link: RSS feed URL, show data and latest episodes. To read any other feed use parse_rss_feed. Returns the RS"},{"name":"company_profile","description":"utilpeek: Get a company profile from a domain: site metadata, socials, tools, registration. For open jobs use company_jobs; for SEC filings use sec_company_look"},{"name":"company_jobs","description":"utilpeek: List a company's open jobs from its Greenhouse, Lever or Ashby job board. For the company's profile use company_profile. Returns a company's open jobs"},{"name":"lookup_lei","description":"utilpeek: Look up a company by its LEI in the GLEIF register. To find an LEI by name use search_lei. Returns the GLEIF record of a LEI: legal name, status, juri"},{"name":"search_lei","description":"utilpeek: Search the GLEIF register for a company's LEI by name. For one LEI's full record and parents use lookup_lei. Returns up to 20 GLEIF records matching a"},{"name":"search_papers","description":"utilpeek: Search academic papers by keyword. For top papers ranked with summaries use paper_digest. Returns academic papers for a query from OpenAlex (or arXiv)"},{"name":"paper_digest","description":"utilpeek: Digest the top academic papers on a topic: ranked, with a short summary of each. For a plain search use search_papers. Returns the top papers on a top"},{"name":"news_search","description":"utilpeek: Search recent news articles by keyword. For the web at large use web_search; for crypto stories use get_crypto_news_headlines. Returns recent news art"},{"name":"get_crypto_news_headlines","description":"utilpeek: Use when an agent must decide which crypto stories to react to: top headlines ranked by outlet coverage, new ones only. For any topic use news_search."},{"name":"get_topic_trends_attention","description":"utilpeek: Use when an agent must tell if interest in a topic is rising or fading: Wikipedia, Hacker News and news over time. For the articles use news_search. R"},{"name":"search_prediction_markets","description":"utilpeek: Use when an agent needs to see what odds traders put on an event: Polymarket probabilities, volume and liquidity for a topic. For regulated US event c"},{"name":"get_event_contract_odds","description":"utilpeek: Search regulated US event contracts by topic. For Polymarket use search_prediction_markets. Returns open regulated US event-contract markets (predicti"},{"name":"decode_vin","description":"utilpeek: Decode a vehicle identification number with NHTSA vPIC. For its recalls use vehicle_recalls. Returns the NHTSA vPIC decode of a VIN (US-market data). "},{"name":"vehicle_recalls","description":"utilpeek: List the NHTSA safety recalls of a vehicle by make, model and year or by VIN. For the VIN decode use decode_vin. Returns the NHTSA safety recalls of a"},{"name":"check_domain_availability","description":"dnspeek: Check if domain names are available to register. For a registered domain's record use rdap_lookup. Returns 1-50 domain names checked for availability f"},{"name":"check_status_page","description":"utilpeek: Check an API status page: is a service up? Degraded components and open incidents. For whether an MCP server answers use check_mcp_server. Returns the"},{"name":"check_text_sources","description":"findpeek: Check a text for copied sentences: web pages that contain them word for word. For a general query use web_search. Returns for up to 10 of a text's mos"},{"name":"capture_web_evidence","description":"sitepeek: Capture a web page as evidence: screenshot, PDF, text, SHA-256 hashes, signed manifest. For one image alone use take_website_screenshot; for the text "}],"toolCount":40,"toolsHash":"e03b81757869d74ce6f05ef4610d75549f5819c8888e2c46c3c43a6a444d0015","serverName":"tanod-web","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-19T10:44:22.489Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":297,"error":null,"detail":{"tools":[{"name":"web_search","description":"findpeek: search the web for a query and get back ranked results (title, url, snippet) from an independent index (Mojeek). For the pages' text in the same call "},{"name":"search_with_contents","description":"findpeek: Search the web and get the Markdown of the top results in one call. For links only use web_search. Returns search results (title, url, snippet) with t"},{"name":"search_social_posts","description":"findpeek: Search social posts on Bluesky and Hacker News: recent public posts about a topic. For news articles use news_search. Returns recent public Bluesky an"},{"name":"render_page","description":"sitepeek: fetch a public http(s) URL and return clean Markdown (static, or with `js:true` executed in a sandboxed headless browser) or a PNG screenshot; private"},{"name":"render_pages_batch","description":"sitepeek: Fetch up to 5 web page URLs to Markdown in one batch call. For 10 URLs in the contents API shape use fetch_page_contents; for JavaScript use render_pa"},{"name":"fetch_page_contents","description":"sitepeek: Get the contents of 1-10 URLs: web page to text for a list of URLs. For one page with JavaScript use render_page. Returns the text of 1-10 web pages a"},{"name":"get_page_meta","description":"sitepeek: read a public web page's metadata from its static HTML (no browser). For the readable text use render_page; for every link use extract_links. Returns "},{"name":"extract_links","description":"sitepeek: list a public page's links. For a site's URL list use parse_sitemap. `check: true` probes each returned http(s) link (HEAD, then a small GET; 20 s in "},{"name":"parse_sitemap","description":"sitepeek: parse a sitemap into its URLs. For crawl permission use check_robots_txt. An index is followed one level: its first 5 child sitemaps are fetched, the "},{"name":"check_robots_txt","description":"sitepeek: test whether robots.txt lets a crawler fetch a URL. For the URLs a site lists use parse_sitemap. Fetches <origin>/robots.txt (first 512 KiB) and match"},{"name":"check_security_headers","description":"sitepeek: grade a public page's HTTP security headers. For a phishing-list check use check_url_phishing; for DNS and TLS use inspect_domain. Grades the final re"},{"name":"inspect_domain","description":"dnspeek: inspect a domain's DNS, email authentication and TLS cert in one call. For registration data use rdap_lookup; for availability use check_domain_availab"},{"name":"rdap_lookup","description":"dnspeek: RDAP (the successor of whois) registration lookup. For DNS and TLS use inspect_domain; for an IP's ASN and reverse DNS use ip_lookup. Input: `query`, a"},{"name":"verify_email","description":"dnspeek: verify an email address before you send to it or accept it at sign-up. For the domain's SPF, DMARC and DKIM use inspect_domain. Checks syntax (practica"},{"name":"ip_lookup","description":"dnspeek: look up an IP address. For the raw registry record use rdap_lookup. Returns version, is_public and, for a private or reserved address, `reserved_kind` "},{"name":"check_url_phishing","description":"chainpeek: Check if a URL or domain is phishing or a scam. For up to 1,000 URLs use check_urls_phishing_batch; for headers use check_security_headers. Returns w"},{"name":"html_to_text","description":"utilpeek: Convert HTML to Markdown or plain text. To fetch a URL use render_page; for the reverse use markdown_to_html. Returns the readable content of an HTML "},{"name":"extract_pdf","description":"sitepeek: extract the text of a public PDF. For tables use extract_pdf_tables; for scans use pdf_ocr; for other formats use convert_document_to_markdown. Passwo"},{"name":"html_to_pdf","description":"pdfpeek: Convert a web page URL to PDF. For images use images_to_pdf; for an image capture use take_website_screenshot. Returns a public web page printed to PDF"},{"name":"take_website_screenshot","description":"sitepeek: Take a website screenshot of a public URL. For the page's text use render_page; for a PDF use html_to_pdf; for a signed record of what a page showed u"},{"name":"parse_url","description":"utilpeek: parse a URL. To fetch the page use render_page. The URL is parsed, never fetched. Public-suffix split from the Public Suffix List snapshot bundled wit"},{"name":"parse_rss_feed","description":"utilpeek: Parse an RSS or Atom feed URL into clean JSON: feed data, items, dates, audio enclosures. To find a podcast's feed use search_podcasts. Returns a publ"},{"name":"search_podcasts","description":"utilpeek: Search podcasts by name or Apple Podcasts link: RSS feed URL, show data and latest episodes. To read any other feed use parse_rss_feed. Returns the RS"},{"name":"company_profile","description":"utilpeek: Get a company profile from a domain: site metadata, socials, tools, registration. For open jobs use company_jobs; for SEC filings use sec_company_look"},{"name":"company_jobs","description":"utilpeek: List a company's open jobs from its Greenhouse, Lever or Ashby job board. For the company's profile use company_profile. Returns a company's open jobs"},{"name":"lookup_lei","description":"utilpeek: Look up a company by its LEI in the GLEIF register. To find an LEI by name use search_lei. Returns the GLEIF record of a LEI: legal name, status, juri"},{"name":"search_lei","description":"utilpeek: Search the GLEIF register for a company's LEI by name. For one LEI's full record and parents use lookup_lei. Returns up to 20 GLEIF records matching a"},{"name":"search_papers","description":"utilpeek: Search academic papers by keyword. For top papers ranked with summaries use paper_digest. Returns academic papers for a query from OpenAlex (or arXiv)"},{"name":"paper_digest","description":"utilpeek: Digest the top academic papers on a topic: ranked, with a short summary of each. For a plain search use search_papers. Returns the top papers on a top"},{"name":"news_search","description":"utilpeek: Search recent news articles by keyword. For the web at large use web_search; for crypto stories use get_crypto_news_headlines. Returns recent news art"},{"name":"get_crypto_news_headlines","description":"utilpeek: Use when an agent must decide which crypto stories to react to: top headlines ranked by outlet coverage, new ones only. For any topic use news_search."},{"name":"get_topic_trends_attention","description":"utilpeek: Use when an agent must tell if interest in a topic is rising or fading: Wikipedia, Hacker News and news over time. For the articles use news_search. R"},{"name":"search_prediction_markets","description":"utilpeek: Use when an agent needs to see what odds traders put on an event: Polymarket probabilities, volume and liquidity for a topic. For regulated US event c"},{"name":"get_event_contract_odds","description":"utilpeek: Search regulated US event contracts by topic. For Polymarket use search_prediction_markets. Returns open regulated US event-contract markets (predicti"},{"name":"decode_vin","description":"utilpeek: Decode a vehicle identification number with NHTSA vPIC. For its recalls use vehicle_recalls. Returns the NHTSA vPIC decode of a VIN (US-market data). "},{"name":"vehicle_recalls","description":"utilpeek: List the NHTSA safety recalls of a vehicle by make, model and year or by VIN. For the VIN decode use decode_vin. Returns the NHTSA safety recalls of a"},{"name":"check_domain_availability","description":"dnspeek: Check if domain names are available to register. For a registered domain's record use rdap_lookup. Returns 1-50 domain names checked for availability f"},{"name":"check_status_page","description":"utilpeek: Check an API status page: is a service up? Degraded components and open incidents. For whether an MCP server answers use check_mcp_server. Returns the"},{"name":"check_text_sources","description":"findpeek: Check a text for copied sentences: web pages that contain them word for word. For a general query use web_search. Returns for up to 10 of a text's mos"},{"name":"capture_web_evidence","description":"sitepeek: Capture a web page as evidence: screenshot, PDF, text, SHA-256 hashes, signed manifest. For one image alone use take_website_screenshot; for the text "}],"toolCount":40,"toolsHash":"e03b81757869d74ce6f05ef4610d75549f5819c8888e2c46c3c43a6a444d0015","serverName":"tanod-web","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-19T04:32:47.229Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":254,"error":null,"detail":{"tools":[{"name":"web_search","description":"findpeek: search the web for a query and get back ranked results (title, url, snippet) from an independent index (Mojeek). For the pages' text in the same call "},{"name":"search_with_contents","description":"findpeek: Search the web and get the Markdown of the top results in one call. For links only use web_search. Returns search results (title, url, snippet) with t"},{"name":"search_social_posts","description":"findpeek: Search social posts on Bluesky and Hacker News: recent public posts about a topic. For news articles use news_search. Returns recent public Bluesky an"},{"name":"render_page","description":"sitepeek: fetch a public http(s) URL and return clean Markdown (static, or with `js:true` executed in a sandboxed headless browser) or a PNG screenshot; private"},{"name":"render_pages_batch","description":"sitepeek: Fetch up to 5 web page URLs to Markdown in one batch call. For 10 URLs in the contents API shape use fetch_page_contents; for JavaScript use render_pa"},{"name":"fetch_page_contents","description":"sitepeek: Get the contents of 1-10 URLs: web page to text for a list of URLs. For one page with JavaScript use render_page. Returns the text of 1-10 web pages a"},{"name":"get_page_meta","description":"sitepeek: read a public web page's metadata from its static HTML (no browser). For the readable text use render_page; for every link use extract_links. Returns "},{"name":"extract_links","description":"sitepeek: list a public page's links. For a site's URL list use parse_sitemap. `check: true` probes each returned http(s) link (HEAD, then a small GET; 20 s in "},{"name":"parse_sitemap","description":"sitepeek: parse a sitemap into its URLs. For crawl permission use check_robots_txt. An index is followed one level: its first 5 child sitemaps are fetched, the "},{"name":"check_robots_txt","description":"sitepeek: test whether robots.txt lets a crawler fetch a URL. For the URLs a site lists use parse_sitemap. Fetches <origin>/robots.txt (first 512 KiB) and match"},{"name":"check_security_headers","description":"sitepeek: grade a public page's HTTP security headers. For a phishing-list check use check_url_phishing; for DNS and TLS use inspect_domain. Grades the final re"},{"name":"inspect_domain","description":"dnspeek: inspect a domain's DNS, email authentication and TLS cert in one call. For registration data use rdap_lookup; for availability use check_domain_availab"},{"name":"rdap_lookup","description":"dnspeek: RDAP (the successor of whois) registration lookup. For DNS and TLS use inspect_domain; for an IP's ASN and reverse DNS use ip_lookup. Input: `query`, a"},{"name":"verify_email","description":"dnspeek: verify an email address before you send to it or accept it at sign-up. For the domain's SPF, DMARC and DKIM use inspect_domain. Checks syntax (practica"},{"name":"ip_lookup","description":"dnspeek: look up an IP address. For the raw registry record use rdap_lookup. Returns version, is_public and, for a private or reserved address, `reserved_kind` "},{"name":"check_url_phishing","description":"chainpeek: Check if a URL or domain is phishing or a scam. For up to 1,000 URLs use check_urls_phishing_batch; for headers use check_security_headers. Returns w"},{"name":"html_to_text","description":"utilpeek: Convert HTML to Markdown or plain text. To fetch a URL use render_page; for the reverse use markdown_to_html. Returns the readable content of an HTML "},{"name":"extract_pdf","description":"sitepeek: extract the text of a public PDF. For tables use extract_pdf_tables; for scans use pdf_ocr; for other formats use convert_document_to_markdown. Passwo"},{"name":"html_to_pdf","description":"pdfpeek: Convert a web page URL to PDF. For images use images_to_pdf; for an image capture use take_website_screenshot. Returns a public web page printed to PDF"},{"name":"take_website_screenshot","description":"sitepeek: Take a website screenshot of a public URL. For the page's text use render_page; for a PDF use html_to_pdf; for a signed record of what a page showed u"},{"name":"parse_url","description":"utilpeek: parse a URL. To fetch the page use render_page. The URL is parsed, never fetched. Public-suffix split from the Public Suffix List snapshot bundled wit"},{"name":"parse_rss_feed","description":"utilpeek: Parse an RSS or Atom feed URL into clean JSON: feed data, items, dates, audio enclosures. To find a podcast's feed use search_podcasts. Returns a publ"},{"name":"search_podcasts","description":"utilpeek: Search podcasts by name or Apple Podcasts link: RSS feed URL, show data and latest episodes. To read any other feed use parse_rss_feed. Returns the RS"},{"name":"company_profile","description":"utilpeek: Get a company profile from a domain: site metadata, socials, tools, registration. For open jobs use company_jobs; for SEC filings use sec_company_look"},{"name":"company_jobs","description":"utilpeek: List a company's open jobs from its Greenhouse, Lever or Ashby job board. For the company's profile use company_profile. Returns a company's open jobs"},{"name":"lookup_lei","description":"utilpeek: Look up a company by its LEI in the GLEIF register. To find an LEI by name use search_lei. Returns the GLEIF record of a LEI: legal name, status, juri"},{"name":"search_lei","description":"utilpeek: Search the GLEIF register for a company's LEI by name. For one LEI's full record and parents use lookup_lei. Returns up to 20 GLEIF records matching a"},{"name":"search_papers","description":"utilpeek: Search academic papers by keyword. For top papers ranked with summaries use paper_digest. Returns academic papers for a query from OpenAlex (or arXiv)"},{"name":"paper_digest","description":"utilpeek: Digest the top academic papers on a topic: ranked, with a short summary of each. For a plain search use search_papers. Returns the top papers on a top"},{"name":"news_search","description":"utilpeek: Search recent news articles by keyword. For the web at large use web_search; for crypto stories use get_crypto_news_headlines. Returns recent news art"},{"name":"get_crypto_news_headlines","description":"utilpeek: Use when an agent must decide which crypto stories to react to: top headlines ranked by outlet coverage, new ones only. For any topic use news_search."},{"name":"get_topic_trends_attention","description":"utilpeek: Use when an agent must tell if interest in a topic is rising or fading: Wikipedia, Hacker News and news over time. For the articles use news_search. R"},{"name":"search_prediction_markets","description":"utilpeek: Use when an agent needs to see what odds traders put on an event: Polymarket probabilities, volume and liquidity for a topic. For regulated US event c"},{"name":"get_event_contract_odds","description":"utilpeek: Search regulated US event contracts by topic. For Polymarket use search_prediction_markets. Returns open regulated US event-contract markets (predicti"},{"name":"decode_vin","description":"utilpeek: Decode a vehicle identification number with NHTSA vPIC. For its recalls use vehicle_recalls. Returns the NHTSA vPIC decode of a VIN (US-market data). "},{"name":"vehicle_recalls","description":"utilpeek: List the NHTSA safety recalls of a vehicle by make, model and year or by VIN. For the VIN decode use decode_vin. Returns the NHTSA safety recalls of a"},{"name":"check_domain_availability","description":"dnspeek: Check if domain names are available to register. For a registered domain's record use rdap_lookup. Returns 1-50 domain names checked for availability f"},{"name":"check_status_page","description":"utilpeek: Check an API status page: is a service up? Degraded components and open incidents. For whether an MCP server answers use check_mcp_server. Returns the"},{"name":"check_text_sources","description":"findpeek: Check a text for copied sentences: web pages that contain them word for word. For a general query use web_search. Returns for up to 10 of a text's mos"},{"name":"capture_web_evidence","description":"sitepeek: Capture a web page as evidence: screenshot, PDF, text, SHA-256 hashes, signed manifest. For one image alone use take_website_screenshot; for the text "}],"toolCount":40,"toolsHash":"e03b81757869d74ce6f05ef4610d75549f5819c8888e2c46c3c43a6a444d0015","serverName":"tanod-web","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-18T21:28:47.989Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":743,"error":null,"detail":{"tools":[{"name":"web_search","description":"findpeek: search the web for a query and get back ranked results (title, url, snippet) from an independent index (Mojeek). For the pages' text in the same call "},{"name":"search_with_contents","description":"findpeek: Search the web and get the Markdown of the top results in one call. For links only use web_search. Returns search results (title, url, snippet) with t"},{"name":"search_social_posts","description":"findpeek: Search social posts on Bluesky and Hacker News: recent public posts about a topic. For news articles use news_search. Returns recent public Bluesky an"},{"name":"render_page","description":"sitepeek: fetch a public http(s) URL and return clean Markdown (static, or with `js:true` executed in a sandboxed headless browser) or a PNG screenshot; private"},{"name":"render_pages_batch","description":"sitepeek: Fetch up to 5 web page URLs to Markdown in one batch call. For 10 URLs in the contents API shape use fetch_page_contents; for JavaScript use render_pa"},{"name":"fetch_page_contents","description":"sitepeek: Get the contents of 1-10 URLs: web page to text for a list of URLs. For one page with JavaScript use render_page. Returns the text of 1-10 web pages a"},{"name":"get_page_meta","description":"sitepeek: read a public web page's metadata from its static HTML (no browser). For the readable text use render_page; for every link use extract_links. Returns "},{"name":"extract_links","description":"sitepeek: list a public page's links. For a site's URL list use parse_sitemap. `check: true` probes each returned http(s) link (HEAD, then a small GET; 20 s in "},{"name":"parse_sitemap","description":"sitepeek: parse a sitemap into its URLs. For crawl permission use check_robots_txt. An index is followed one level: its first 5 child sitemaps are fetched, the "},{"name":"check_robots_txt","description":"sitepeek: test whether robots.txt lets a crawler fetch a URL. For the URLs a site lists use parse_sitemap. Fetches <origin>/robots.txt (first 512 KiB) and match"},{"name":"check_security_headers","description":"sitepeek: grade a public page's HTTP security headers. For a phishing-list check use check_url_phishing; for DNS and TLS use inspect_domain. Grades the final re"},{"name":"inspect_domain","description":"dnspeek: inspect a domain's DNS, email authentication and TLS cert in one call. For registration data use rdap_lookup; for availability use check_domain_availab"},{"name":"rdap_lookup","description":"dnspeek: RDAP (the successor of whois) registration lookup. For DNS and TLS use inspect_domain; for an IP's ASN and reverse DNS use ip_lookup. Input: `query`, a"},{"name":"verify_email","description":"dnspeek: verify an email address before you send to it or accept it at sign-up. For the domain's SPF, DMARC and DKIM use inspect_domain. Checks syntax (practica"},{"name":"ip_lookup","description":"dnspeek: look up an IP address. For the raw registry record use rdap_lookup. Returns version, is_public and, for a private or reserved address, `reserved_kind` "},{"name":"check_url_phishing","description":"chainpeek: Check if a URL or domain is phishing or a scam. For up to 1,000 URLs use check_urls_phishing_batch; for headers use check_security_headers. Returns w"},{"name":"html_to_text","description":"utilpeek: Convert HTML to Markdown or plain text. To fetch a URL use render_page; for the reverse use markdown_to_html. Returns the readable content of an HTML "},{"name":"extract_pdf","description":"sitepeek: extract the text of a public PDF. For tables use extract_pdf_tables; for scans use pdf_ocr; for other formats use convert_document_to_markdown. Passwo"},{"name":"html_to_pdf","description":"pdfpeek: Convert a web page URL to PDF. For images use images_to_pdf; for an image capture use take_website_screenshot. Returns a public web page printed to PDF"},{"name":"take_website_screenshot","description":"sitepeek: Take a website screenshot of a public URL. For the page's text use render_page; for a PDF use html_to_pdf; for a signed record of what a page showed u"},{"name":"parse_url","description":"utilpeek: parse a URL. To fetch the page use render_page. The URL is parsed, never fetched. Public-suffix split from the Public Suffix List snapshot bundled wit"},{"name":"parse_rss_feed","description":"utilpeek: Parse an RSS or Atom feed URL into clean JSON: feed data, items, dates, audio enclosures. To find a podcast's feed use search_podcasts. Returns a publ"},{"name":"search_podcasts","description":"utilpeek: Search podcasts by name or Apple Podcasts link: RSS feed URL, show data and latest episodes. To read any other feed use parse_rss_feed. Returns the RS"},{"name":"company_profile","description":"utilpeek: Get a company profile from a domain: site metadata, socials, tools, registration. For open jobs use company_jobs; for SEC filings use sec_company_look"},{"name":"company_jobs","description":"utilpeek: List a company's open jobs from its Greenhouse, Lever or Ashby job board. For the company's profile use company_profile. Returns a company's open jobs"},{"name":"lookup_lei","description":"utilpeek: Look up a company by its LEI in the GLEIF register. To find an LEI by name use search_lei. Returns the GLEIF record of a LEI: legal name, status, juri"},{"name":"search_lei","description":"utilpeek: Search the GLEIF register for a company's LEI by name. For one LEI's full record and parents use lookup_lei. Returns up to 20 GLEIF records matching a"},{"name":"search_papers","description":"utilpeek: Search academic papers by keyword. For top papers ranked with summaries use paper_digest. Returns academic papers for a query from OpenAlex (or arXiv)"},{"name":"paper_digest","description":"utilpeek: Digest the top academic papers on a topic: ranked, with a short summary of each. For a plain search use search_papers. Returns the top papers on a top"},{"name":"news_search","description":"utilpeek: Search recent news articles by keyword. For the web at large use web_search; for crypto stories use get_crypto_news_headlines. Returns recent news art"},{"name":"get_crypto_news_headlines","description":"utilpeek: Use when an agent must decide which crypto stories to react to: top headlines ranked by outlet coverage, new ones only. For any topic use news_search."},{"name":"get_topic_trends_attention","description":"utilpeek: Use when an agent must tell if interest in a topic is rising or fading: Wikipedia, Hacker News and news over time. For the articles use news_search. R"},{"name":"search_prediction_markets","description":"utilpeek: Use when an agent needs to see what odds traders put on an event: Polymarket probabilities, volume and liquidity for a topic. For regulated US event c"},{"name":"get_event_contract_odds","description":"utilpeek: Search regulated US event contracts by topic. For Polymarket use search_prediction_markets. Returns open regulated US event-contract markets (predicti"},{"name":"decode_vin","description":"utilpeek: Decode a vehicle identification number with NHTSA vPIC. For its recalls use vehicle_recalls. Returns the NHTSA vPIC decode of a VIN (US-market data). "},{"name":"vehicle_recalls","description":"utilpeek: List the NHTSA safety recalls of a vehicle by make, model and year or by VIN. For the VIN decode use decode_vin. Returns the NHTSA safety recalls of a"},{"name":"check_domain_availability","description":"dnspeek: Check if domain names are available to register. For a registered domain's record use rdap_lookup. Returns 1-50 domain names checked for availability f"},{"name":"check_status_page","description":"utilpeek: Check an API status page: is a service up? Degraded components and open incidents. For whether an MCP server answers use check_mcp_server. Returns the"},{"name":"check_text_sources","description":"findpeek: Check a text for copied sentences: web pages that contain them word for word. For a general query use web_search. Returns for up to 10 of a text's mos"},{"name":"capture_web_evidence","description":"sitepeek: Capture a web page as evidence: screenshot, PDF, text, SHA-256 hashes, signed manifest. For one image alone use take_website_screenshot; for the text "}],"toolCount":40,"toolsHash":"e03b81757869d74ce6f05ef4610d75549f5819c8888e2c46c3c43a6a444d0015","serverName":"tanod-web","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-18T14:27:12.148Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":662,"error":null,"detail":{"tools":[{"name":"web_search","description":"findpeek: search the web for a query and get back ranked results (title, url, snippet) from an independent index (Mojeek). For the pages' text in the same call "},{"name":"search_with_contents","description":"findpeek: Search the web and get the Markdown of the top results in one call. For links only use web_search. Returns search results (title, url, snippet) with t"},{"name":"search_social_posts","description":"findpeek: Search social posts on Bluesky and Hacker News: recent public posts about a topic. For news articles use news_search. Returns recent public Bluesky an"},{"name":"render_page","description":"sitepeek: fetch a public http(s) URL and return clean Markdown (static, or with `js:true` executed in a sandboxed headless browser) or a PNG screenshot; private"},{"name":"render_pages_batch","description":"sitepeek: Fetch up to 5 web page URLs to Markdown in one batch call. For 10 URLs in the contents API shape use fetch_page_contents; for JavaScript use render_pa"},{"name":"fetch_page_contents","description":"sitepeek: Get the contents of 1-10 URLs: web page to text for a list of URLs. For one page with JavaScript use render_page. Returns the text of 1-10 web pages a"},{"name":"get_page_meta","description":"sitepeek: read a public web page's metadata from its static HTML (no browser). For the readable text use render_page; for every link use extract_links. Returns "},{"name":"extract_links","description":"sitepeek: list a public page's links. For a site's URL list use parse_sitemap. `check: true` probes each returned http(s) link (HEAD, then a small GET; 20 s in "},{"name":"parse_sitemap","description":"sitepeek: parse a sitemap into its URLs. For crawl permission use check_robots_txt. An index is followed one level: its first 5 child sitemaps are fetched, the "},{"name":"check_robots_txt","description":"sitepeek: test whether robots.txt lets a crawler fetch a URL. For the URLs a site lists use parse_sitemap. Fetches <origin>/robots.txt (first 512 KiB) and match"},{"name":"check_security_headers","description":"sitepeek: grade a public page's HTTP security headers. For a phishing-list check use check_url_phishing; for DNS and TLS use inspect_domain. Grades the final re"},{"name":"inspect_domain","description":"dnspeek: inspect a domain's DNS, email authentication and TLS cert in one call. For registration data use rdap_lookup; for availability use check_domain_availab"},{"name":"rdap_lookup","description":"dnspeek: RDAP (the successor of whois) registration lookup. For DNS and TLS use inspect_domain; for an IP's ASN and reverse DNS use ip_lookup. Input: `query`, a"},{"name":"verify_email","description":"dnspeek: verify an email address before you send to it or accept it at sign-up. For the domain's SPF, DMARC and DKIM use inspect_domain. Checks syntax (practica"},{"name":"ip_lookup","description":"dnspeek: look up an IP address. For the raw registry record use rdap_lookup. Returns version, is_public and, for a private or reserved address, `reserved_kind` "},{"name":"check_url_phishing","description":"chainpeek: Check if a URL or domain is phishing or a scam. For up to 1,000 URLs use check_urls_phishing_batch; for headers use check_security_headers. Returns w"},{"name":"html_to_text","description":"utilpeek: Convert HTML to Markdown or plain text. To fetch a URL use render_page; for the reverse use markdown_to_html. Returns the readable content of an HTML "},{"name":"extract_pdf","description":"sitepeek: extract the text of a public PDF. For tables use extract_pdf_tables; for scans use pdf_ocr; for other formats use convert_document_to_markdown. Passwo"},{"name":"html_to_pdf","description":"pdfpeek: Convert a web page URL to PDF. For images use images_to_pdf; for an image capture use take_website_screenshot. Returns a public web page printed to PDF"},{"name":"take_website_screenshot","description":"sitepeek: Take a website screenshot of a public URL. For the page's text use render_page; for a PDF use html_to_pdf; for a signed record of what a page showed u"},{"name":"parse_url","description":"utilpeek: parse a URL. To fetch the page use render_page. The URL is parsed, never fetched. Public-suffix split from the Public Suffix List snapshot bundled wit"},{"name":"parse_rss_feed","description":"utilpeek: Parse an RSS or Atom feed URL into clean JSON: feed data, items, dates, audio enclosures. To find a podcast's feed use search_podcasts. Returns a publ"},{"name":"search_podcasts","description":"utilpeek: Search podcasts by name or Apple Podcasts link: RSS feed URL, show data and latest episodes. To read any other feed use parse_rss_feed. Returns the RS"},{"name":"company_profile","description":"utilpeek: Get a company profile from a domain: site metadata, socials, tools, registration. For open jobs use company_jobs; for SEC filings use sec_company_look"},{"name":"company_jobs","description":"utilpeek: List a company's open jobs from its Greenhouse, Lever or Ashby job board. For the company's profile use company_profile. Returns a company's open jobs"},{"name":"lookup_lei","description":"utilpeek: Look up a company by its LEI in the GLEIF register. To find an LEI by name use search_lei. Returns the GLEIF record of a LEI: legal name, status, juri"},{"name":"search_lei","description":"utilpeek: Search the GLEIF register for a company's LEI by name. For one LEI's full record and parents use lookup_lei. Returns up to 20 GLEIF records matching a"},{"name":"search_papers","description":"utilpeek: Search academic papers by keyword. For top papers ranked with summaries use paper_digest. Returns academic papers for a query from OpenAlex (or arXiv)"},{"name":"paper_digest","description":"utilpeek: Digest the top academic papers on a topic: ranked, with a short summary of each. For a plain search use search_papers. Returns the top papers on a top"},{"name":"news_search","description":"utilpeek: Search recent news articles by keyword. For the web at large use web_search; for crypto stories use get_crypto_news_headlines. Returns recent news art"},{"name":"get_crypto_news_headlines","description":"utilpeek: Use when an agent must decide which crypto stories to react to: top headlines ranked by outlet coverage, new ones only. For any topic use news_search."},{"name":"get_topic_trends_attention","description":"utilpeek: Use when an agent must tell if interest in a topic is rising or fading: Wikipedia, Hacker News and news over time. For the articles use news_search. R"},{"name":"search_prediction_markets","description":"utilpeek: Use when an agent needs to see what odds traders put on an event: Polymarket probabilities, volume and liquidity for a topic. For regulated US event c"},{"name":"get_event_contract_odds","description":"utilpeek: Search regulated US event contracts by topic. For Polymarket use search_prediction_markets. Returns open regulated US event-contract markets (predicti"},{"name":"decode_vin","description":"utilpeek: Decode a vehicle identification number with NHTSA vPIC. For its recalls use vehicle_recalls. Returns the NHTSA vPIC decode of a VIN (US-market data). "},{"name":"vehicle_recalls","description":"utilpeek: List the NHTSA safety recalls of a vehicle by make, model and year or by VIN. For the VIN decode use decode_vin. Returns the NHTSA safety recalls of a"},{"name":"check_domain_availability","description":"dnspeek: Check if domain names are available to register. For a registered domain's record use rdap_lookup. Returns 1-50 domain names checked for availability f"},{"name":"check_status_page","description":"utilpeek: Check an API status page: is a service up? Degraded components and open incidents. For whether an MCP server answers use check_mcp_server. Returns the"},{"name":"check_text_sources","description":"findpeek: Check a text for copied sentences: web pages that contain them word for word. For a general query use web_search. Returns for up to 10 of a text's mos"},{"name":"capture_web_evidence","description":"sitepeek: Capture a web page as evidence: screenshot, PDF, text, SHA-256 hashes, signed manifest. For one image alone use take_website_screenshot; for the text "}],"toolCount":40,"toolsHash":"e03b81757869d74ce6f05ef4610d75549f5819c8888e2c46c3c43a6a444d0015","serverName":"tanod-web","capabilities":["prompts","resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"web_search","description":"findpeek: search the web for a query and get back ranked results (title, url, snippet) from an independent index (Mojeek). For the pages' text in the same call "},{"name":"search_with_contents","description":"findpeek: Search the web and get the Markdown of the top results in one call. For links only use web_search. Returns search results (title, url, snippet) with t"},{"name":"search_social_posts","description":"findpeek: Search social posts on Bluesky and Hacker News: recent public posts about a topic. For news articles use news_search. Returns recent public Bluesky an"},{"name":"render_page","description":"sitepeek: fetch a public http(s) URL and return clean Markdown (static, or with `js:true` executed in a sandboxed headless browser) or a PNG screenshot; private"},{"name":"render_pages_batch","description":"sitepeek: Fetch up to 5 web page URLs to Markdown in one batch call. For 10 URLs in the contents API shape use fetch_page_contents; for JavaScript use render_pa"},{"name":"fetch_page_contents","description":"sitepeek: Get the contents of 1-10 URLs: web page to text for a list of URLs. For one page with JavaScript use render_page. Returns the text of 1-10 web pages a"},{"name":"get_page_meta","description":"sitepeek: read a public web page's metadata from its static HTML (no browser). For the readable text use render_page; for every link use extract_links. Returns "},{"name":"extract_links","description":"sitepeek: list a public page's links. For a site's URL list use parse_sitemap. `check: true` probes each returned http(s) link (HEAD, then a small GET; 20 s in "},{"name":"parse_sitemap","description":"sitepeek: parse a sitemap into its URLs. For crawl permission use check_robots_txt. An index is followed one level: its first 5 child sitemaps are fetched, the "},{"name":"check_robots_txt","description":"sitepeek: test whether robots.txt lets a crawler fetch a URL. For the URLs a site lists use parse_sitemap. Fetches <origin>/robots.txt (first 512 KiB) and match"},{"name":"check_security_headers","description":"sitepeek: grade a public page's HTTP security headers. For a phishing-list check use check_url_phishing; for DNS and TLS use inspect_domain. Grades the final re"},{"name":"inspect_domain","description":"dnspeek: inspect a domain's DNS, email authentication and TLS cert in one call. For registration data use rdap_lookup; for availability use check_domain_availab"},{"name":"rdap_lookup","description":"dnspeek: RDAP (the successor of whois) registration lookup. For DNS and TLS use inspect_domain; for an IP's ASN and reverse DNS use ip_lookup. Input: `query`, a"},{"name":"verify_email","description":"dnspeek: verify an email address before you send to it or accept it at sign-up. For the domain's SPF, DMARC and DKIM use inspect_domain. Checks syntax (practica"},{"name":"ip_lookup","description":"dnspeek: look up an IP address. For the raw registry record use rdap_lookup. Returns version, is_public and, for a private or reserved address, `reserved_kind` "},{"name":"check_url_phishing","description":"chainpeek: Check if a URL or domain is phishing or a scam. For up to 1,000 URLs use check_urls_phishing_batch; for headers use check_security_headers. Returns w"},{"name":"html_to_text","description":"utilpeek: Convert HTML to Markdown or plain text. To fetch a URL use render_page; for the reverse use markdown_to_html. Returns the readable content of an HTML "},{"name":"extract_pdf","description":"sitepeek: extract the text of a public PDF. For tables use extract_pdf_tables; for scans use pdf_ocr; for other formats use convert_document_to_markdown. Passwo"},{"name":"html_to_pdf","description":"pdfpeek: Convert a web page URL to PDF. For images use images_to_pdf; for an image capture use take_website_screenshot. Returns a public web page printed to PDF"},{"name":"take_website_screenshot","description":"sitepeek: Take a website screenshot of a public URL. For the page's text use render_page; for a PDF use html_to_pdf; for a signed record of what a page showed u"},{"name":"parse_url","description":"utilpeek: parse a URL. To fetch the page use render_page. The URL is parsed, never fetched. Public-suffix split from the Public Suffix List snapshot bundled wit"},{"name":"parse_rss_feed","description":"utilpeek: Parse an RSS or Atom feed URL into clean JSON: feed data, items, dates, audio enclosures. To find a podcast's feed use search_podcasts. Returns a publ"},{"name":"search_podcasts","description":"utilpeek: Search podcasts by name or Apple Podcasts link: RSS feed URL, show data and latest episodes. To read any other feed use parse_rss_feed. Returns the RS"},{"name":"company_profile","description":"utilpeek: Get a company profile from a domain: site metadata, socials, tools, registration. For open jobs use company_jobs; for SEC filings use sec_company_look"},{"name":"company_jobs","description":"utilpeek: List a company's open jobs from its Greenhouse, Lever or Ashby job board. For the company's profile use company_profile. Returns a company's open jobs"},{"name":"lookup_lei","description":"utilpeek: Look up a company by its LEI in the GLEIF register. To find an LEI by name use search_lei. Returns the GLEIF record of a LEI: legal name, status, juri"},{"name":"search_lei","description":"utilpeek: Search the GLEIF register for a company's LEI by name. For one LEI's full record and parents use lookup_lei. Returns up to 20 GLEIF records matching a"},{"name":"search_papers","description":"utilpeek: Search academic papers by keyword. For top papers ranked with summaries use paper_digest. Returns academic papers for a query from OpenAlex (or arXiv)"},{"name":"paper_digest","description":"utilpeek: Digest the top academic papers on a topic: ranked, with a short summary of each. For a plain search use search_papers. Returns the top papers on a top"},{"name":"news_search","description":"utilpeek: Search recent news articles by keyword. For the web at large use web_search; for crypto stories use get_crypto_news_headlines. Returns recent news art"},{"name":"get_crypto_news_headlines","description":"utilpeek: Use when an agent must decide which crypto stories to react to: top headlines ranked by outlet coverage, new ones only. For any topic use news_search."},{"name":"get_topic_trends_attention","description":"utilpeek: Use when an agent must tell if interest in a topic is rising or fading: Wikipedia, Hacker News and news over time. For the articles use news_search. R"},{"name":"search_prediction_markets","description":"utilpeek: Use when an agent needs to see what odds traders put on an event: Polymarket probabilities, volume and liquidity for a topic. For regulated US event c"},{"name":"get_event_contract_odds","description":"utilpeek: Search regulated US event contracts by topic. For Polymarket use search_prediction_markets. Returns open regulated US event-contract markets (predicti"},{"name":"decode_vin","description":"utilpeek: Decode a vehicle identification number with NHTSA vPIC. For its recalls use vehicle_recalls. Returns the NHTSA vPIC decode of a VIN (US-market data). "},{"name":"vehicle_recalls","description":"utilpeek: List the NHTSA safety recalls of a vehicle by make, model and year or by VIN. For the VIN decode use decode_vin. Returns the NHTSA safety recalls of a"},{"name":"check_domain_availability","description":"dnspeek: Check if domain names are available to register. For a registered domain's record use rdap_lookup. Returns 1-50 domain names checked for availability f"},{"name":"check_status_page","description":"utilpeek: Check an API status page: is a service up? Degraded components and open incidents. For whether an MCP server answers use check_mcp_server. Returns the"},{"name":"check_text_sources","description":"findpeek: Check a text for copied sentences: web pages that contain them word for word. For a general query use web_search. Returns for up to 10 of a text's mos"},{"name":"capture_web_evidence","description":"sitepeek: Capture a web page as evidence: screenshot, PDF, text, SHA-256 hashes, signed manifest. For one image alone use take_website_screenshot; for the text "}],"package":null,"toolSurface":{"id":"ts_e9nkh4ue4ubr","endpointId":"ep_wutc4xdrd47n","hash":"e03b81757869d74ce6f05ef4610d75549f5819c8888e2c46c3c43a6a444d0015","toolCount":40,"serverName":"tanod-web","serverVersion":"0.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-17T11:20:58.687Z","lastSeenAt":"2026-10-20T19:26:39.074Z","observations":13,"toolNames":["web_search","search_with_contents","search_social_posts","render_page","render_pages_batch","fetch_page_contents","get_page_meta","extract_links","parse_sitemap","check_robots_txt","check_security_headers","inspect_domain","rdap_lookup","verify_email","ip_lookup","check_url_phishing","html_to_text","extract_pdf","html_to_pdf","take_website_screenshot","parse_url","parse_rss_feed","search_podcasts","company_profile","company_jobs","lookup_lei","search_lei","search_papers","paper_digest","news_search","get_crypto_news_headlines","get_topic_trends_attention","search_prediction_markets","get_event_contract_odds","decode_vin","vehicle_recalls","check_domain_availability","check_status_page","check_text_sources","capture_web_evidence"],"distinctSurfaces":16},"endpointFacts":[{"id":"ep_wutc4xdrd47n","url":"https://tanod.dev/mcp/web","type":"mcp_streamable_http","factsCheckedAt":"2026-10-18T14:27:12.163Z","auth":{"observedAt":"2026-10-18T14:27:12.399Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-18T14:27:12.421Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"tanod.dev","issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validFrom":"2026-10-06T15:23:54.000Z","validTo":"2027-01-04T15:23:53.000Z","daysToExpiry":74,"sanCount":2,"fingerprint256":"42:4E:C3:21:85:BF:3C:16:A2:A4:8A:B6:42:6C:B6:FD:E6:C5:58:F5:8B:E1:73:93:8B:FF:10:6E:25:A4:98:76"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"dev.tanod/web","url":"https://registry.modelcontextprotocol.io/v0/servers/dev.tanod%2Fweb","firstSeenAt":"2026-10-09T14:21:22.203Z","fetchedAt":"2026-10-18T15:23:01.611Z","normalizedAt":"2026-10-18T15:23:01.611Z"}]},"firstSeenAt":"2026-10-09T14:21:22.203Z","updatedAt":"2026-10-20T19:30:37.229Z"}