{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_2c7y6hdqektb","handle":"presend-mcp-server","url":"https://wellknown.network/agents/presend-mcp-server","links":{"self":"https://wellknown.network/agents/presend-mcp-server/record.json","html":"https://wellknown.network/agents/presend-mcp-server","markdown":"https://wellknown.network/agents/presend-mcp-server/record.md","api":"https://wellknown.network/api/v1/agents/presend-mcp-server","status":"https://wellknown.network/api/v1/agents/presend-mcp-server/status","claim":"https://wellknown.network/agents/presend-mcp-server/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/presend-mcp-server/claim.json","badge":"https://wellknown.network/agents/presend-mcp-server/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/presend-mcp-server/history","tools":"https://wellknown.network/api/v1/agents/presend-mcp-server/tools"},"ard":{"identifier":"urn:air:presend.pages.dev:server:presend-mcp-server","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Presend MCP Server","summary":"Before an AI agent installs an npm/PyPI package: typosquat, vulnerability and existence checks.","description":"Before an AI agent installs an npm/PyPI package: typosquat, vulnerability and existence checks.","publisher":{"name":"presendapp","url":null},"homepage":null,"repository":"https://github.com/presendapp/presend-source","version":"3.1.2","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://presend.pages.dev/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-02T13:10:53.508989Z","publishedAt":"2026-10-02T13:10:53.508989Z","registryName":"io.github.presendapp/presend-mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"code.security-review","name":"Security Review","confidence":1,"provenance":"derived"},{"slug":"dev.version-control","name":"Version Control","confidence":1,"provenance":"derived"},{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":1,"provenance":"derived"},{"slug":"finance.markets","name":"Markets & Trading","confidence":1,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":0.569,"provenance":"derived"},{"slug":"infra.cloud","name":"Cloud Platforms","confidence":0.554,"provenance":"derived"},{"slug":"dev.docs-lookup","name":"Documentation Lookup","confidence":0.54,"provenance":"derived"},{"slug":"data.database","name":"Databases","confidence":0.525,"provenance":"derived"}],"categories":["code","data","dev","finance","infra","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 6h ago.","lastOkAt":"2026-10-09T19:25:55.684Z","lastProbedAt":"2026-10-09T19:25:55.684Z","statusComputedAt":"2026-10-09T19:28:11.202Z","reliability30d":{"probes":99,"successRate":1,"p50Ms":147,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":99,"ok":99,"authBoundaryOk":0,"serviceOk":99,"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-09T19:25:55.684Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":127,"error":null,"detail":{"tools":[{"name":"address_risk","description":"Screens a crypto address against every OFAC SDN digital currency address list. EVM (0x...) and Bitcoin (bc1..., 1..., 3...) addresses are fully covered (sanctio"},{"name":"ai_crawler_check","description":"Fetches a domain's robots.txt and reports which known AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot and others) are allowed or blocked, "},{"name":"base64","description":"Encodes text to Base64 or decodes a Base64 string back to text (action = encode or decode)."},{"name":"color","description":"Converts a color between hex, RGB and HSL. Provide exactly one of hex, rgb or hsl."},{"name":"csv_json","description":"Converts CSV text to JSON or JSON to CSV (direction: csv-to-json or json-to-csv), for data passed inline. CSV must be comma-separated, with a header row and at "},{"name":"cve_lookup","description":"Looks up a vulnerability by identifier (CVE, GHSA or other OSV ID) on OSV.dev: summary, CVSS severity, affected packages and versions, references. Use when you "},{"name":"dns_lookup","description":"Returns DNS records for a domain via Cloudflare DNS-over-HTTPS: A, AAAA, CNAME, MX, TXT and NS in one call, or a single record type with 'type'. For registratio"},{"name":"email_disposable","description":"Checks only whether an email address uses a known disposable/temporary email domain. For syntax, MX, disposable and role-account checks in one call, use email_v"},{"name":"email_security","description":"Audits a domain's email anti-spoofing setup: SPF strength, DMARC policy and a best-effort DKIM lookup on common selectors. A missing DKIM match does not prove D"},{"name":"email_validate","description":"Lightweight email check: syntax plus confirmation that the domain has an MX record. Does not detect disposable or role addresses; use email_verify for the combi"},{"name":"email_verify","description":"Most complete email check in one call: syntax, MX record, disposable-domain detection and role/generic account detection (e.g. info@, admin@). Prefer it over em"},{"name":"favicon","description":"Returns the favicon URL a website declares: fetches the homepage and takes the first <link rel='icon'> (or 'shortcut icon') href, resolved to an absolute URL, w"},{"name":"iban_validate","description":"Validates an IBAN offline: ISO 7064 mod-97 checksum and country-specific length. Confirms the number is well-formed, not that the account exists."},{"name":"ip_reputation","description":"Checks an IPv4 or IPv6 address against a curated list of netblocks known to be hijacked or run by spam/cyber-crime operations (IPv4-mapped IPv6 uses the IPv4 li"},{"name":"jwt_decode","description":"Decodes a JWT's header and payload WITHOUT verifying its signature, so its claims must not be trusted on this basis alone. To check authenticity, use jwt_verify"},{"name":"jwt_verify","description":"Cryptographically verifies a JWT signature (HS256/384/512, RS/PS256/384/512, ES256/384/512) and checks exp/nbf claims. Provide a secret for HS*, or a JWK or JWK"},{"name":"link_metadata","description":"Fetches a web page and extracts its title, description, canonical URL, Open Graph and Twitter Card tags and favicon (the data behind link previews). Follows red"},{"name":"maintainer_change_check","description":"Publisher-change analysis is npm only. Also reports whether the package exists (found) and its age (first_published, package_age_days, new_package if first publ"},{"name":"password","description":"Generates a random password, with options for length, symbols, uppercase, numbers and excluding ambiguous characters. To evaluate an existing password, use pass"},{"name":"password_breach","description":"Checks whether a password appears in known data breaches (Have I Been Pwned) and how many times, using k-anonymity towards HIBP. Breach check only; password_che"},{"name":"password_check","description":"Scores a password's strength (length, character variety, entropy as an upper bound, repeated patterns; passphrases are estimated per word) and, with check_breac"},{"name":"phone_verify","description":"Validates and formats a phone number: validity, country, line type, E.164, international and national formats. Numbers without a leading + require 'country', si"},{"name":"redirect_trace","description":"Follows a URL's full redirect chain (up to 15 hops) and returns every hop with its status code, plus whether the chain crossed domains. Use it to see where a sh"},{"name":"repo_health_check","description":"Maintenance signals for a GitHub repository given as owner/name: stars, forks, open issues, license, archived and fork flags, creation date and age, days since "},{"name":"rpc_check","description":"Read-only audit of a public CometBFT (Cosmos SDK) RPC endpoint: node status, health, peers, and whether unsafe admin methods (dial_seeds, dial_peers, unsafe_flu"},{"name":"security_headers","description":"Audits the HTTP security headers of one URL (CSP, HSTS, X-Frame-Options, Permissions-Policy, cross-origin policies and others) and returns per-header findings w"},{"name":"security_scan","description":"Combined website check in one call: security headers, URL reputation and passive subdomain discovery, run in parallel, with an overall score and verdict. Use th"},{"name":"subdomains","description":"Passive subdomain discovery from Certificate Transparency logs (crt.sh): finds hostnames that appeared in public TLS certificates, not every DNS record. crt.sh "},{"name":"supply_chain_check","description":"Call this before installing or adding a package (npm install, pip install, a new entry in a manifest), especially one whose name you recalled or that a model su"},{"name":"text_similarity","description":"Near-duplicate detection with a 64-bit SimHash over word shingles: send 1 text to get its hash, or 2 texts to compare them. Detects paraphrased or lightly edite"},{"name":"timestamp","description":"Returns the current time, or converts between a Unix timestamp (seconds) and an ISO date. Provide unix or date, or neither for the current time."},{"name":"tx_decode","description":"Decodes a raw signed Cosmos SDK transaction (base64 TxRaw bytes, as found in a CometBFT block's data.txs) into JSON: messages, fee, gas, signers and signatures."},{"name":"typosquat_check","description":"Call before installing a package whose name you typed or recalled. Checks whether an npm or PyPI package name is a near-miss of a well-known package (typosquatt"},{"name":"url_clean","description":"Removes 60+ known tracking parameters (utm_*, fbclid, gclid and similar) from a URL and returns the clean URL. Does not follow redirects; for that, use redirect"},{"name":"url_reputation","description":"Checks a URL against URLhaus (abuse.ch), a public database of known malware distribution URLs. A clean result only means the URL is not listed, not that it is s"},{"name":"user_agent","description":"Parses a User-Agent string into browser and version, operating system and version, device type, and whether it looks like a bot."},{"name":"uuid","description":"Generates 1 to 100 random UUID v4 values."},{"name":"vat_validate","description":"Checks an EU VAT number in real time against the European Commission's VIES service and, when valid, returns the registered company name and address. VIES is oc"},{"name":"vulnerability_check","description":"Checks a package (optionally a specific version) against OSV.dev for known vulnerabilities: npm, PyPI, Go, crates.io, Maven, RubyGems, Packagist and NuGet. For "},{"name":"whois_lookup","description":"Domain registration data via RDAP (the modern WHOIS): registrar, creation and expiration dates, domain age in days, nameservers. For DNS records, use dns_lookup"}],"toolCount":40,"toolsHash":"cf4aefda4fd6f6bf3f2588759e60565ff1759b78ef623b78adbc334840f30272","serverName":"presend-mcp","capabilities":["tools"],"serverVersion":"3.1.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T12:28:37.110Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":157,"error":null,"detail":{"tools":[{"name":"address_risk","description":"Screens a crypto address against every OFAC SDN digital currency address list. EVM (0x...) and Bitcoin (bc1..., 1..., 3...) addresses are fully covered (sanctio"},{"name":"ai_crawler_check","description":"Fetches a domain's robots.txt and reports which known AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot and others) are allowed or blocked, "},{"name":"base64","description":"Encodes text to Base64 or decodes a Base64 string back to text (action = encode or decode)."},{"name":"color","description":"Converts a color between hex, RGB and HSL. Provide exactly one of hex, rgb or hsl."},{"name":"csv_json","description":"Converts CSV text to JSON or JSON to CSV (direction: csv-to-json or json-to-csv), for data passed inline. CSV must be comma-separated, with a header row and at "},{"name":"cve_lookup","description":"Looks up a vulnerability by identifier (CVE, GHSA or other OSV ID) on OSV.dev: summary, CVSS severity, affected packages and versions, references. Use when you "},{"name":"dns_lookup","description":"Returns DNS records for a domain via Cloudflare DNS-over-HTTPS: A, AAAA, CNAME, MX, TXT and NS in one call, or a single record type with 'type'. For registratio"},{"name":"email_disposable","description":"Checks only whether an email address uses a known disposable/temporary email domain. For syntax, MX, disposable and role-account checks in one call, use email_v"},{"name":"email_security","description":"Audits a domain's email anti-spoofing setup: SPF strength, DMARC policy and a best-effort DKIM lookup on common selectors. A missing DKIM match does not prove D"},{"name":"email_validate","description":"Lightweight email check: syntax plus confirmation that the domain has an MX record. Does not detect disposable or role addresses; use email_verify for the combi"},{"name":"email_verify","description":"Most complete email check in one call: syntax, MX record, disposable-domain detection and role/generic account detection (e.g. info@, admin@). Prefer it over em"},{"name":"favicon","description":"Returns the favicon URL a website declares: fetches the homepage and takes the first <link rel='icon'> (or 'shortcut icon') href, resolved to an absolute URL, w"},{"name":"iban_validate","description":"Validates an IBAN offline: ISO 7064 mod-97 checksum and country-specific length. Confirms the number is well-formed, not that the account exists."},{"name":"ip_reputation","description":"Checks an IPv4 or IPv6 address against a curated list of netblocks known to be hijacked or run by spam/cyber-crime operations (IPv4-mapped IPv6 uses the IPv4 li"},{"name":"jwt_decode","description":"Decodes a JWT's header and payload WITHOUT verifying its signature, so its claims must not be trusted on this basis alone. To check authenticity, use jwt_verify"},{"name":"jwt_verify","description":"Cryptographically verifies a JWT signature (HS256/384/512, RS/PS256/384/512, ES256/384/512) and checks exp/nbf claims. Provide a secret for HS*, or a JWK or JWK"},{"name":"link_metadata","description":"Fetches a web page and extracts its title, description, canonical URL, Open Graph and Twitter Card tags and favicon (the data behind link previews). Follows red"},{"name":"maintainer_change_check","description":"Publisher-change analysis is npm only. Also reports whether the package exists (found) and its age (first_published, package_age_days, new_package if first publ"},{"name":"password","description":"Generates a random password, with options for length, symbols, uppercase, numbers and excluding ambiguous characters. To evaluate an existing password, use pass"},{"name":"password_breach","description":"Checks whether a password appears in known data breaches (Have I Been Pwned) and how many times, using k-anonymity towards HIBP. Breach check only; password_che"},{"name":"password_check","description":"Scores a password's strength (length, character variety, entropy as an upper bound, repeated patterns; passphrases are estimated per word) and, with check_breac"},{"name":"phone_verify","description":"Validates and formats a phone number: validity, country, line type, E.164, international and national formats. Numbers without a leading + require 'country', si"},{"name":"redirect_trace","description":"Follows a URL's full redirect chain (up to 15 hops) and returns every hop with its status code, plus whether the chain crossed domains. Use it to see where a sh"},{"name":"repo_health_check","description":"Maintenance signals for a GitHub repository given as owner/name: stars, forks, open issues, license, archived and fork flags, creation date and age, days since "},{"name":"rpc_check","description":"Read-only audit of a public CometBFT (Cosmos SDK) RPC endpoint: node status, health, peers, and whether unsafe admin methods (dial_seeds, dial_peers, unsafe_flu"},{"name":"security_headers","description":"Audits the HTTP security headers of one URL (CSP, HSTS, X-Frame-Options, Permissions-Policy, cross-origin policies and others) and returns per-header findings w"},{"name":"security_scan","description":"Combined website check in one call: security headers, URL reputation and passive subdomain discovery, run in parallel, with an overall score and verdict. Use th"},{"name":"subdomains","description":"Passive subdomain discovery from Certificate Transparency logs (crt.sh): finds hostnames that appeared in public TLS certificates, not every DNS record. crt.sh "},{"name":"supply_chain_check","description":"Call this before installing or adding a package (npm install, pip install, a new entry in a manifest), especially one whose name you recalled or that a model su"},{"name":"text_similarity","description":"Near-duplicate detection with a 64-bit SimHash over word shingles: send 1 text to get its hash, or 2 texts to compare them. Detects paraphrased or lightly edite"},{"name":"timestamp","description":"Returns the current time, or converts between a Unix timestamp (seconds) and an ISO date. Provide unix or date, or neither for the current time."},{"name":"tx_decode","description":"Decodes a raw signed Cosmos SDK transaction (base64 TxRaw bytes, as found in a CometBFT block's data.txs) into JSON: messages, fee, gas, signers and signatures."},{"name":"typosquat_check","description":"Call before installing a package whose name you typed or recalled. Checks whether an npm or PyPI package name is a near-miss of a well-known package (typosquatt"},{"name":"url_clean","description":"Removes 60+ known tracking parameters (utm_*, fbclid, gclid and similar) from a URL and returns the clean URL. Does not follow redirects; for that, use redirect"},{"name":"url_reputation","description":"Checks a URL against URLhaus (abuse.ch), a public database of known malware distribution URLs. A clean result only means the URL is not listed, not that it is s"},{"name":"user_agent","description":"Parses a User-Agent string into browser and version, operating system and version, device type, and whether it looks like a bot."},{"name":"uuid","description":"Generates 1 to 100 random UUID v4 values."},{"name":"vat_validate","description":"Checks an EU VAT number in real time against the European Commission's VIES service and, when valid, returns the registered company name and address. VIES is oc"},{"name":"vulnerability_check","description":"Checks a package (optionally a specific version) against OSV.dev for known vulnerabilities: npm, PyPI, Go, crates.io, Maven, RubyGems, Packagist and NuGet. For "},{"name":"whois_lookup","description":"Domain registration data via RDAP (the modern WHOIS): registrar, creation and expiration dates, domain age in days, nameservers. For DNS records, use dns_lookup"}],"toolCount":40,"toolsHash":"7e2326fc3f7ee9d8d6a0cb3c5cb12386cac4d7c599e79e1b24ab0561320fbc16","serverName":"presend-mcp","capabilities":["tools"],"serverVersion":"3.1.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T06:21:34.953Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":174,"error":null,"detail":{"tools":[{"name":"address_risk","description":"Screens a crypto address against every OFAC SDN digital currency address list. EVM (0x...) and Bitcoin (bc1..., 1..., 3...) addresses are fully covered (sanctio"},{"name":"ai_crawler_check","description":"Fetches a domain's robots.txt and reports which known AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot and others) are allowed or blocked, "},{"name":"base64","description":"Encodes text to Base64 or decodes a Base64 string back to text (action = encode or decode)."},{"name":"color","description":"Converts a color between hex, RGB and HSL. Provide exactly one of hex, rgb or hsl."},{"name":"csv_json","description":"Converts CSV text to JSON or JSON to CSV (direction: csv-to-json or json-to-csv), for data passed inline. CSV must be comma-separated, with a header row and at "},{"name":"cve_lookup","description":"Looks up a vulnerability by identifier (CVE, GHSA or other OSV ID) on OSV.dev: summary, CVSS severity, affected packages and versions, references. Use when you "},{"name":"dns_lookup","description":"Returns DNS records for a domain via Cloudflare DNS-over-HTTPS: A, AAAA, CNAME, MX, TXT and NS in one call, or a single record type with 'type'. For registratio"},{"name":"email_disposable","description":"Checks only whether an email address uses a known disposable/temporary email domain. For syntax, MX, disposable and role-account checks in one call, use email_v"},{"name":"email_security","description":"Audits a domain's email anti-spoofing setup: SPF strength, DMARC policy and a best-effort DKIM lookup on common selectors. A missing DKIM match does not prove D"},{"name":"email_validate","description":"Lightweight email check: syntax plus confirmation that the domain has an MX record. Does not detect disposable or role addresses; use email_verify for the combi"},{"name":"email_verify","description":"Most complete email check in one call: syntax, MX record, disposable-domain detection and role/generic account detection (e.g. info@, admin@). Prefer it over em"},{"name":"favicon","description":"Returns the favicon URL a website declares: fetches the homepage and takes the first <link rel='icon'> (or 'shortcut icon') href, resolved to an absolute URL, w"},{"name":"iban_validate","description":"Validates an IBAN offline: ISO 7064 mod-97 checksum and country-specific length. Confirms the number is well-formed, not that the account exists."},{"name":"ip_reputation","description":"Checks an IPv4 or IPv6 address against a curated list of netblocks known to be hijacked or run by spam/cyber-crime operations (IPv4-mapped IPv6 uses the IPv4 li"},{"name":"jwt_decode","description":"Decodes a JWT's header and payload WITHOUT verifying its signature, so its claims must not be trusted on this basis alone. To check authenticity, use jwt_verify"},{"name":"jwt_verify","description":"Cryptographically verifies a JWT signature (HS256/384/512, RS/PS256/384/512, ES256/384/512) and checks exp/nbf claims. Provide a secret for HS*, or a JWK or JWK"},{"name":"link_metadata","description":"Fetches a web page and extracts its title, description, canonical URL, Open Graph and Twitter Card tags and favicon (the data behind link previews). Follows red"},{"name":"maintainer_change_check","description":"Publisher-change analysis is npm only. Also reports whether the package exists (found) and its age (first_published, package_age_days, new_package if first publ"},{"name":"password","description":"Generates a random password, with options for length, symbols, uppercase, numbers and excluding ambiguous characters. To evaluate an existing password, use pass"},{"name":"password_breach","description":"Checks whether a password appears in known data breaches (Have I Been Pwned) and how many times, using k-anonymity towards HIBP. Breach check only; password_che"},{"name":"password_check","description":"Scores a password's strength (length, character variety, entropy as an upper bound, repeated patterns; passphrases are estimated per word) and, with check_breac"},{"name":"phone_verify","description":"Validates and formats a phone number: validity, country, line type, E.164, international and national formats. Numbers without a leading + require 'country', si"},{"name":"redirect_trace","description":"Follows a URL's full redirect chain (up to 15 hops) and returns every hop with its status code, plus whether the chain crossed domains. Use it to see where a sh"},{"name":"repo_health_check","description":"Maintenance signals for a GitHub repository given as owner/name: stars, forks, open issues, license, archived and fork flags, creation date and age, days since "},{"name":"rpc_check","description":"Read-only audit of a public CometBFT (Cosmos SDK) RPC endpoint: node status, health, peers, and whether unsafe admin methods (dial_seeds, dial_peers, unsafe_flu"},{"name":"security_headers","description":"Audits the HTTP security headers of one URL (CSP, HSTS, X-Frame-Options, Permissions-Policy, cross-origin policies and others) and returns per-header findings w"},{"name":"security_scan","description":"Combined website check in one call: security headers, URL reputation and passive subdomain discovery, run in parallel, with an overall score and verdict. Use th"},{"name":"subdomains","description":"Passive subdomain discovery from Certificate Transparency logs (crt.sh): finds hostnames that appeared in public TLS certificates, not every DNS record. crt.sh "},{"name":"supply_chain_check","description":"Call this before installing or adding a package (npm install, pip install, a new entry in a manifest), especially one whose name you recalled or that a model su"},{"name":"text_similarity","description":"Near-duplicate detection with a 64-bit SimHash over word shingles: send 1 text to get its hash, or 2 texts to compare them. Detects paraphrased or lightly edite"},{"name":"timestamp","description":"Returns the current time, or converts between a Unix timestamp (seconds) and an ISO date. Provide unix or date, or neither for the current time."},{"name":"tx_decode","description":"Decodes a raw signed Cosmos SDK transaction (base64 TxRaw bytes, as found in a CometBFT block's data.txs) into JSON: messages, fee, gas, signers and signatures."},{"name":"typosquat_check","description":"Call before installing a package whose name you typed or recalled. Checks whether an npm or PyPI package name is a near-miss of a well-known package (typosquatt"},{"name":"url_clean","description":"Removes 60+ known tracking parameters (utm_*, fbclid, gclid and similar) from a URL and returns the clean URL. Does not follow redirects; for that, use redirect"},{"name":"url_reputation","description":"Checks a URL against URLhaus (abuse.ch), a public database of known malware distribution URLs. A clean result only means the URL is not listed, not that it is s"},{"name":"user_agent","description":"Parses a User-Agent string into browser and version, operating system and version, device type, and whether it looks like a bot."},{"name":"uuid","description":"Generates 1 to 100 random UUID v4 values."},{"name":"vat_validate","description":"Checks an EU VAT number in real time against the European Commission's VIES service and, when valid, returns the registered company name and address. VIES is oc"},{"name":"vulnerability_check","description":"Checks a package (optionally a specific version) against OSV.dev for known vulnerabilities: npm, PyPI, Go, crates.io, Maven, RubyGems, Packagist and NuGet. For "},{"name":"whois_lookup","description":"Domain registration data via RDAP (the modern WHOIS): registrar, creation and expiration dates, domain age in days, nameservers. For DNS records, use dns_lookup"}],"toolCount":40,"toolsHash":"7e2326fc3f7ee9d8d6a0cb3c5cb12386cac4d7c599e79e1b24ab0561320fbc16","serverName":"presend-mcp","capabilities":["tools"],"serverVersion":"3.1.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T23:22:20.087Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":194,"error":null,"detail":{"tools":[{"name":"address_risk","description":"Screens a crypto address against every OFAC SDN digital currency address list. EVM (0x...) and Bitcoin (bc1..., 1..., 3...) addresses are fully covered (sanctio"},{"name":"ai_crawler_check","description":"Fetches a domain's robots.txt and reports which known AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot and others) are allowed or blocked, "},{"name":"base64","description":"Encodes text to Base64 or decodes a Base64 string back to text (action = encode or decode)."},{"name":"color","description":"Converts a color between hex, RGB and HSL. Provide exactly one of hex, rgb or hsl."},{"name":"csv_json","description":"Converts CSV text to JSON or JSON to CSV (direction: csv-to-json or json-to-csv), for data passed inline. CSV must be comma-separated, with a header row and at "},{"name":"cve_lookup","description":"Looks up a vulnerability by identifier (CVE, GHSA or other OSV ID) on OSV.dev: summary, CVSS severity, affected packages and versions, references. Use when you "},{"name":"dns_lookup","description":"Returns DNS records for a domain via Cloudflare DNS-over-HTTPS: A, AAAA, CNAME, MX, TXT and NS in one call, or a single record type with 'type'. For registratio"},{"name":"email_disposable","description":"Checks only whether an email address uses a known disposable/temporary email domain. For syntax, MX, disposable and role-account checks in one call, use email_v"},{"name":"email_security","description":"Audits a domain's email anti-spoofing setup: SPF strength, DMARC policy and a best-effort DKIM lookup on common selectors. A missing DKIM match does not prove D"},{"name":"email_validate","description":"Lightweight email check: syntax plus confirmation that the domain has an MX record. Does not detect disposable or role addresses; use email_verify for the combi"},{"name":"email_verify","description":"Most complete email check in one call: syntax, MX record, disposable-domain detection and role/generic account detection (e.g. info@, admin@). Prefer it over em"},{"name":"favicon","description":"Returns the favicon URL a website declares: fetches the homepage and takes the first <link rel='icon'> (or 'shortcut icon') href, resolved to an absolute URL, w"},{"name":"iban_validate","description":"Validates an IBAN offline: ISO 7064 mod-97 checksum and country-specific length. Confirms the number is well-formed, not that the account exists."},{"name":"ip_reputation","description":"Checks an IPv4 or IPv6 address against a curated list of netblocks known to be hijacked or run by spam/cyber-crime operations (IPv4-mapped IPv6 uses the IPv4 li"},{"name":"jwt_decode","description":"Decodes a JWT's header and payload WITHOUT verifying its signature, so its claims must not be trusted on this basis alone. To check authenticity, use jwt_verify"},{"name":"jwt_verify","description":"Cryptographically verifies a JWT signature (HS256/384/512, RS/PS256/384/512, ES256/384/512) and checks exp/nbf claims. Provide a secret for HS*, or a JWK or JWK"},{"name":"link_metadata","description":"Fetches a web page and extracts its title, description, canonical URL, Open Graph and Twitter Card tags and favicon (the data behind link previews). Follows red"},{"name":"maintainer_change_check","description":"Publisher-change analysis is npm only. Also reports whether the package exists (found) and its age (first_published, package_age_days, new_package if first publ"},{"name":"password","description":"Generates a random password, with options for length, symbols, uppercase, numbers and excluding ambiguous characters. To evaluate an existing password, use pass"},{"name":"password_breach","description":"Checks whether a password appears in known data breaches (Have I Been Pwned) and how many times, using k-anonymity towards HIBP. Breach check only; password_che"},{"name":"password_check","description":"Scores a password's strength (length, character variety, entropy as an upper bound, repeated patterns; passphrases are estimated per word) and, with check_breac"},{"name":"phone_verify","description":"Validates and formats a phone number: validity, country, line type, E.164, international and national formats. Numbers without a leading + require 'country', si"},{"name":"redirect_trace","description":"Follows a URL's full redirect chain (up to 15 hops) and returns every hop with its status code, plus whether the chain crossed domains. Use it to see where a sh"},{"name":"repo_health_check","description":"Maintenance signals for a GitHub repository given as owner/name: stars, forks, open issues, license, archived and fork flags, creation date and age, days since "},{"name":"rpc_check","description":"Read-only audit of a public CometBFT (Cosmos SDK) RPC endpoint: node status, health, peers, and whether unsafe admin methods (dial_seeds, dial_peers, unsafe_flu"},{"name":"security_headers","description":"Audits the HTTP security headers of one URL (CSP, HSTS, X-Frame-Options, Permissions-Policy, cross-origin policies and others) and returns per-header findings w"},{"name":"security_scan","description":"Combined website check in one call: security headers, URL reputation and passive subdomain discovery, run in parallel, with an overall score and verdict. Use th"},{"name":"subdomains","description":"Passive subdomain discovery from Certificate Transparency logs (crt.sh): finds hostnames that appeared in public TLS certificates, not every DNS record. crt.sh "},{"name":"supply_chain_check","description":"Call this before installing or adding a package (npm install, pip install, a new entry in a manifest), especially one whose name you recalled or that a model su"},{"name":"text_similarity","description":"Near-duplicate detection with a 64-bit SimHash over word shingles: send 1 text to get its hash, or 2 texts to compare them. Detects paraphrased or lightly edite"},{"name":"timestamp","description":"Returns the current time, or converts between a Unix timestamp (seconds) and an ISO date. Provide unix or date, or neither for the current time."},{"name":"tx_decode","description":"Decodes a raw signed Cosmos SDK transaction (base64 TxRaw bytes, as found in a CometBFT block's data.txs) into JSON: messages, fee, gas, signers and signatures."},{"name":"typosquat_check","description":"Call before installing a package whose name you typed or recalled. Checks whether an npm or PyPI package name is a near-miss of a well-known package (typosquatt"},{"name":"url_clean","description":"Removes 60+ known tracking parameters (utm_*, fbclid, gclid and similar) from a URL and returns the clean URL. Does not follow redirects; for that, use redirect"},{"name":"url_reputation","description":"Checks a URL against URLhaus (abuse.ch), a public database of known malware distribution URLs. A clean result only means the URL is not listed, not that it is s"},{"name":"user_agent","description":"Parses a User-Agent string into browser and version, operating system and version, device type, and whether it looks like a bot."},{"name":"uuid","description":"Generates 1 to 100 random UUID v4 values."},{"name":"vat_validate","description":"Checks an EU VAT number in real time against the European Commission's VIES service and, when valid, returns the registered company name and address. VIES is oc"},{"name":"vulnerability_check","description":"Checks a package (optionally a specific version) against OSV.dev for known vulnerabilities: npm, PyPI, Go, crates.io, Maven, RubyGems, Packagist and NuGet. For "},{"name":"whois_lookup","description":"Domain registration data via RDAP (the modern WHOIS): registrar, creation and expiration dates, domain age in days, nameservers. For DNS records, use dns_lookup"}],"toolCount":40,"toolsHash":"7e2326fc3f7ee9d8d6a0cb3c5cb12386cac4d7c599e79e1b24ab0561320fbc16","serverName":"presend-mcp","capabilities":["tools"],"serverVersion":"3.1.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T16:29:33.513Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":177,"error":null,"detail":{"tools":[{"name":"address_risk","description":"Screens a crypto address against every OFAC SDN digital currency address list. EVM (0x...) and Bitcoin (bc1..., 1..., 3...) addresses are fully covered (sanctio"},{"name":"ai_crawler_check","description":"Fetches a domain's robots.txt and reports which known AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot and others) are allowed or blocked, "},{"name":"base64","description":"Encodes text to Base64 or decodes a Base64 string back to text (action = encode or decode)."},{"name":"color","description":"Converts a color between hex, RGB and HSL. Provide exactly one of hex, rgb or hsl."},{"name":"csv_json","description":"Converts CSV text to JSON or JSON to CSV (direction: csv-to-json or json-to-csv), for data passed inline. CSV must be comma-separated, with a header row and at "},{"name":"cve_lookup","description":"Looks up a vulnerability by identifier (CVE, GHSA or other OSV ID) on OSV.dev: summary, CVSS severity, affected packages and versions, references. Use when you "},{"name":"dns_lookup","description":"Returns DNS records for a domain via Cloudflare DNS-over-HTTPS: A, AAAA, CNAME, MX, TXT and NS in one call, or a single record type with 'type'. For registratio"},{"name":"email_disposable","description":"Checks only whether an email address uses a known disposable/temporary email domain. For syntax, MX, disposable and role-account checks in one call, use email_v"},{"name":"email_security","description":"Audits a domain's email anti-spoofing setup: SPF strength, DMARC policy and a best-effort DKIM lookup on common selectors. A missing DKIM match does not prove D"},{"name":"email_validate","description":"Lightweight email check: syntax plus confirmation that the domain has an MX record. Does not detect disposable or role addresses; use email_verify for the combi"},{"name":"email_verify","description":"Most complete email check in one call: syntax, MX record, disposable-domain detection and role/generic account detection (e.g. info@, admin@). Prefer it over em"},{"name":"favicon","description":"Returns the favicon URL a website declares: fetches the homepage and takes the first <link rel='icon'> (or 'shortcut icon') href, resolved to an absolute URL, w"},{"name":"iban_validate","description":"Validates an IBAN offline: ISO 7064 mod-97 checksum and country-specific length. Confirms the number is well-formed, not that the account exists."},{"name":"ip_reputation","description":"Checks an IPv4 or IPv6 address against a curated list of netblocks known to be hijacked or run by spam/cyber-crime operations (IPv4-mapped IPv6 uses the IPv4 li"},{"name":"jwt_decode","description":"Decodes a JWT's header and payload WITHOUT verifying its signature, so its claims must not be trusted on this basis alone. To check authenticity, use jwt_verify"},{"name":"jwt_verify","description":"Cryptographically verifies a JWT signature (HS256/384/512, RS/PS256/384/512, ES256/384/512) and checks exp/nbf claims. Provide a secret for HS*, or a JWK or JWK"},{"name":"link_metadata","description":"Fetches a web page and extracts its title, description, canonical URL, Open Graph and Twitter Card tags and favicon (the data behind link previews). Follows red"},{"name":"maintainer_change_check","description":"Publisher-change analysis is npm only. Also reports whether the package exists (found) and its age (first_published, package_age_days, new_package if first publ"},{"name":"password","description":"Generates a random password, with options for length, symbols, uppercase, numbers and excluding ambiguous characters. To evaluate an existing password, use pass"},{"name":"password_breach","description":"Checks whether a password appears in known data breaches (Have I Been Pwned) and how many times, using k-anonymity towards HIBP. Breach check only; password_che"},{"name":"password_check","description":"Scores a password's strength (length, character variety, entropy as an upper bound, repeated patterns; passphrases are estimated per word) and, with check_breac"},{"name":"phone_verify","description":"Validates and formats a phone number: validity, country, line type, E.164, international and national formats. Numbers without a leading + require 'country', si"},{"name":"redirect_trace","description":"Follows a URL's full redirect chain (up to 15 hops) and returns every hop with its status code, plus whether the chain crossed domains. Use it to see where a sh"},{"name":"repo_health_check","description":"Maintenance signals for a GitHub repository given as owner/name: stars, forks, open issues, license, archived and fork flags, creation date and age, days since "},{"name":"rpc_check","description":"Read-only audit of a public CometBFT (Cosmos SDK) RPC endpoint: node status, health, peers, and whether unsafe admin methods (dial_seeds, dial_peers, unsafe_flu"},{"name":"security_headers","description":"Audits the HTTP security headers of one URL (CSP, HSTS, X-Frame-Options, Permissions-Policy, cross-origin policies and others) and returns per-header findings w"},{"name":"security_scan","description":"Combined website check in one call: security headers, URL reputation and passive subdomain discovery, run in parallel, with an overall score and verdict. Use th"},{"name":"subdomains","description":"Passive subdomain discovery from Certificate Transparency logs (crt.sh): finds hostnames that appeared in public TLS certificates, not every DNS record. crt.sh "},{"name":"supply_chain_check","description":"Call this before installing or adding a package (npm install, pip install, a new entry in a manifest), especially one whose name you recalled or that a model su"},{"name":"text_similarity","description":"Near-duplicate detection with a 64-bit SimHash over word shingles: send 1 text to get its hash, or 2 texts to compare them. Detects paraphrased or lightly edite"},{"name":"timestamp","description":"Returns the current time, or converts between a Unix timestamp (seconds) and an ISO date. Provide unix or date, or neither for the current time."},{"name":"tx_decode","description":"Decodes a raw signed Cosmos SDK transaction (base64 TxRaw bytes, as found in a CometBFT block's data.txs) into JSON: messages, fee, gas, signers and signatures."},{"name":"typosquat_check","description":"Call before installing a package whose name you typed or recalled. Checks whether an npm or PyPI package name is a near-miss of a well-known package (typosquatt"},{"name":"url_clean","description":"Removes 60+ known tracking parameters (utm_*, fbclid, gclid and similar) from a URL and returns the clean URL. Does not follow redirects; for that, use redirect"},{"name":"url_reputation","description":"Checks a URL against URLhaus (abuse.ch), a public database of known malware distribution URLs. A clean result only means the URL is not listed, not that it is s"},{"name":"user_agent","description":"Parses a User-Agent string into browser and version, operating system and version, device type, and whether it looks like a bot."},{"name":"uuid","description":"Generates 1 to 100 random UUID v4 values."},{"name":"vat_validate","description":"Checks an EU VAT number in real time against the European Commission's VIES service and, when valid, returns the registered company name and address. VIES is oc"},{"name":"vulnerability_check","description":"Checks a package (optionally a specific version) against OSV.dev for known vulnerabilities: npm, PyPI, Go, crates.io, Maven, RubyGems, Packagist and NuGet. For "},{"name":"whois_lookup","description":"Domain registration data via RDAP (the modern WHOIS): registrar, creation and expiration dates, domain age in days, nameservers. For DNS records, use dns_lookup"}],"toolCount":40,"toolsHash":"7e2326fc3f7ee9d8d6a0cb3c5cb12386cac4d7c599e79e1b24ab0561320fbc16","serverName":"presend-mcp","capabilities":["tools"],"serverVersion":"3.1.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T10:24:43.093Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":156,"error":null,"detail":{"tools":[{"name":"address_risk","description":"Screens a crypto address against every OFAC SDN digital currency address list. EVM (0x...) and Bitcoin (bc1..., 1..., 3...) addresses are fully covered (sanctio"},{"name":"ai_crawler_check","description":"Fetches a domain's robots.txt and reports which known AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot and others) are allowed or blocked, "},{"name":"base64","description":"Encodes text to Base64 or decodes a Base64 string back to text (action = encode or decode)."},{"name":"color","description":"Converts a color between hex, RGB and HSL. Provide exactly one of hex, rgb or hsl."},{"name":"csv_json","description":"Converts CSV text to JSON or JSON to CSV (direction: csv-to-json or json-to-csv), for data passed inline. CSV must be comma-separated, with a header row and at "},{"name":"cve_lookup","description":"Looks up a vulnerability by identifier (CVE, GHSA or other OSV ID) on OSV.dev: summary, CVSS severity, affected packages and versions, references. Use when you "},{"name":"dns_lookup","description":"Returns DNS records for a domain via Cloudflare DNS-over-HTTPS: A, AAAA, CNAME, MX, TXT and NS in one call, or a single record type with 'type'. For registratio"},{"name":"email_disposable","description":"Checks only whether an email address uses a known disposable/temporary email domain. For syntax, MX, disposable and role-account checks in one call, use email_v"},{"name":"email_security","description":"Audits a domain's email anti-spoofing setup: SPF strength, DMARC policy and a best-effort DKIM lookup on common selectors. A missing DKIM match does not prove D"},{"name":"email_validate","description":"Lightweight email check: syntax plus confirmation that the domain has an MX record. Does not detect disposable or role addresses; use email_verify for the combi"},{"name":"email_verify","description":"Most complete email check in one call: syntax, MX record, disposable-domain detection and role/generic account detection (e.g. info@, admin@). Prefer it over em"},{"name":"favicon","description":"Returns the favicon URL a website declares: fetches the homepage and takes the first <link rel='icon'> (or 'shortcut icon') href, resolved to an absolute URL, w"},{"name":"iban_validate","description":"Validates an IBAN offline: ISO 7064 mod-97 checksum and country-specific length. Confirms the number is well-formed, not that the account exists."},{"name":"ip_reputation","description":"Checks an IPv4 or IPv6 address against a curated list of netblocks known to be hijacked or run by spam/cyber-crime operations (IPv4-mapped IPv6 uses the IPv4 li"},{"name":"jwt_decode","description":"Decodes a JWT's header and payload WITHOUT verifying its signature, so its claims must not be trusted on this basis alone. To check authenticity, use jwt_verify"},{"name":"jwt_verify","description":"Cryptographically verifies a JWT signature (HS256/384/512, RS/PS256/384/512, ES256/384/512) and checks exp/nbf claims. Provide a secret for HS*, or a JWK or JWK"},{"name":"link_metadata","description":"Fetches a web page and extracts its title, description, canonical URL, Open Graph and Twitter Card tags and favicon (the data behind link previews). Follows red"},{"name":"maintainer_change_check","description":"Publisher-change analysis is npm only. Also reports whether the package exists (found) and its age (first_published, package_age_days, new_package if first publ"},{"name":"password","description":"Generates a random password, with options for length, symbols, uppercase, numbers and excluding ambiguous characters. To evaluate an existing password, use pass"},{"name":"password_breach","description":"Checks whether a password appears in known data breaches (Have I Been Pwned) and how many times, using k-anonymity towards HIBP. Breach check only; password_che"},{"name":"password_check","description":"Scores a password's strength (length, character variety, entropy as an upper bound, repeated patterns; passphrases are estimated per word) and, with check_breac"},{"name":"phone_verify","description":"Validates and formats a phone number: validity, country, line type, E.164, international and national formats. Numbers without a leading + require 'country', si"},{"name":"redirect_trace","description":"Follows a URL's full redirect chain (up to 15 hops) and returns every hop with its status code, plus whether the chain crossed domains. Use it to see where a sh"},{"name":"repo_health_check","description":"Maintenance signals for a GitHub repository given as owner/name: stars, forks, open issues, license, archived and fork flags, creation date and age, days since "},{"name":"rpc_check","description":"Read-only audit of a public CometBFT (Cosmos SDK) RPC endpoint: node status, health, peers, and whether unsafe admin methods (dial_seeds, dial_peers, unsafe_flu"},{"name":"security_headers","description":"Audits the HTTP security headers of one URL (CSP, HSTS, X-Frame-Options, Permissions-Policy, cross-origin policies and others) and returns per-header findings w"},{"name":"security_scan","description":"Combined website check in one call: security headers, URL reputation and passive subdomain discovery, run in parallel, with an overall score and verdict. Use th"},{"name":"subdomains","description":"Passive subdomain discovery from Certificate Transparency logs (crt.sh): finds hostnames that appeared in public TLS certificates, not every DNS record. crt.sh "},{"name":"supply_chain_check","description":"Call this before installing or adding a package (npm install, pip install, a new entry in a manifest), especially one whose name you recalled or that a model su"},{"name":"text_similarity","description":"Near-duplicate detection with a 64-bit SimHash over word shingles: send 1 text to get its hash, or 2 texts to compare them. Detects paraphrased or lightly edite"},{"name":"timestamp","description":"Returns the current time, or converts between a Unix timestamp (seconds) and an ISO date. Provide unix or date, or neither for the current time."},{"name":"tx_decode","description":"Decodes a raw signed Cosmos SDK transaction (base64 TxRaw bytes, as found in a CometBFT block's data.txs) into JSON: messages, fee, gas, signers and signatures."},{"name":"typosquat_check","description":"Call before installing a package whose name you typed or recalled. Checks whether an npm or PyPI package name is a near-miss of a well-known package (typosquatt"},{"name":"url_clean","description":"Removes 60+ known tracking parameters (utm_*, fbclid, gclid and similar) from a URL and returns the clean URL. Does not follow redirects; for that, use redirect"},{"name":"url_reputation","description":"Checks a URL against URLhaus (abuse.ch), a public database of known malware distribution URLs. A clean result only means the URL is not listed, not that it is s"},{"name":"user_agent","description":"Parses a User-Agent string into browser and version, operating system and version, device type, and whether it looks like a bot."},{"name":"uuid","description":"Generates 1 to 100 random UUID v4 values."},{"name":"vat_validate","description":"Checks an EU VAT number in real time against the European Commission's VIES service and, when valid, returns the registered company name and address. VIES is oc"},{"name":"vulnerability_check","description":"Checks a package (optionally a specific version) against OSV.dev for known vulnerabilities: npm, PyPI, Go, crates.io, Maven, RubyGems, Packagist and NuGet. For "},{"name":"whois_lookup","description":"Domain registration data via RDAP (the modern WHOIS): registrar, creation and expiration dates, domain age in days, nameservers. For DNS records, use dns_lookup"}],"toolCount":40,"toolsHash":"7e2326fc3f7ee9d8d6a0cb3c5cb12386cac4d7c599e79e1b24ab0561320fbc16","serverName":"presend-mcp","capabilities":["tools"],"serverVersion":"3.1.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T04:26:26.855Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":94,"error":null,"detail":{"tools":[{"name":"address_risk","description":"Screens a crypto address against every OFAC SDN digital currency address list. EVM (0x...) and Bitcoin (bc1..., 1..., 3...) addresses are fully covered (sanctio"},{"name":"ai_crawler_check","description":"Fetches a domain's robots.txt and reports which known AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot and others) are allowed or blocked, "},{"name":"base64","description":"Encodes text to Base64 or decodes a Base64 string back to text (action = encode or decode)."},{"name":"color","description":"Converts a color between hex, RGB and HSL. Provide exactly one of hex, rgb or hsl."},{"name":"csv_json","description":"Converts CSV text to JSON or JSON to CSV (direction: csv-to-json or json-to-csv), for data passed inline. CSV must be comma-separated, with a header row and at "},{"name":"cve_lookup","description":"Looks up a vulnerability by identifier (CVE, GHSA or other OSV ID) on OSV.dev: summary, CVSS severity, affected packages and versions, references. Use when you "},{"name":"dns_lookup","description":"Returns DNS records for a domain via Cloudflare DNS-over-HTTPS: A, AAAA, CNAME, MX, TXT and NS in one call, or a single record type with 'type'. For registratio"},{"name":"email_disposable","description":"Checks only whether an email address uses a known disposable/temporary email domain. For syntax, MX, disposable and role-account checks in one call, use email_v"},{"name":"email_security","description":"Audits a domain's email anti-spoofing setup: SPF strength, DMARC policy and a best-effort DKIM lookup on common selectors. A missing DKIM match does not prove D"},{"name":"email_validate","description":"Lightweight email check: syntax plus confirmation that the domain has an MX record. Does not detect disposable or role addresses; use email_verify for the combi"},{"name":"email_verify","description":"Most complete email check in one call: syntax, MX record, disposable-domain detection and role/generic account detection (e.g. info@, admin@). Prefer it over em"},{"name":"favicon","description":"Returns the favicon URL a website declares: fetches the homepage and takes the first <link rel='icon'> (or 'shortcut icon') href, resolved to an absolute URL, w"},{"name":"iban_validate","description":"Validates an IBAN offline: ISO 7064 mod-97 checksum and country-specific length. Confirms the number is well-formed, not that the account exists."},{"name":"ip_reputation","description":"Checks an IPv4 or IPv6 address against a curated list of netblocks known to be hijacked or run by spam/cyber-crime operations (IPv4-mapped IPv6 uses the IPv4 li"},{"name":"jwt_decode","description":"Decodes a JWT's header and payload WITHOUT verifying its signature, so its claims must not be trusted on this basis alone. To check authenticity, use jwt_verify"},{"name":"jwt_verify","description":"Cryptographically verifies a JWT signature (HS256/384/512, RS/PS256/384/512, ES256/384/512) and checks exp/nbf claims. Provide a secret for HS*, or a JWK or JWK"},{"name":"link_metadata","description":"Fetches a web page and extracts its title, description, canonical URL, Open Graph and Twitter Card tags and favicon (the data behind link previews). Follows red"},{"name":"maintainer_change_check","description":"Publisher-change analysis is npm only. Also reports whether the package exists (found) and its age (first_published, package_age_days, new_package if first publ"},{"name":"password","description":"Generates a random password, with options for length, symbols, uppercase, numbers and excluding ambiguous characters. To evaluate an existing password, use pass"},{"name":"password_breach","description":"Checks whether a password appears in known data breaches (Have I Been Pwned) and how many times, using k-anonymity towards HIBP. Breach check only; password_che"},{"name":"password_check","description":"Scores a password's strength (length, character variety, entropy as an upper bound, repeated patterns; passphrases are estimated per word) and, with check_breac"},{"name":"phone_verify","description":"Validates and formats a phone number: validity, country, line type, E.164, international and national formats. Numbers without a leading + require 'country', si"},{"name":"redirect_trace","description":"Follows a URL's full redirect chain (up to 15 hops) and returns every hop with its status code, plus whether the chain crossed domains. Use it to see where a sh"},{"name":"repo_health_check","description":"Maintenance signals for a GitHub repository given as owner/name: stars, forks, open issues, license, archived and fork flags, creation date and age, days since "},{"name":"rpc_check","description":"Read-only audit of a public CometBFT (Cosmos SDK) RPC endpoint: node status, health, peers, and whether unsafe admin methods (dial_seeds, dial_peers, unsafe_flu"},{"name":"security_headers","description":"Audits the HTTP security headers of one URL (CSP, HSTS, X-Frame-Options, Permissions-Policy, cross-origin policies and others) and returns per-header findings w"},{"name":"security_scan","description":"Combined website check in one call: security headers, URL reputation and passive subdomain discovery, run in parallel, with an overall score and verdict. Use th"},{"name":"subdomains","description":"Passive subdomain discovery from Certificate Transparency logs (crt.sh): finds hostnames that appeared in public TLS certificates, not every DNS record. crt.sh "},{"name":"supply_chain_check","description":"Call this before installing or adding a package (npm install, pip install, a new entry in a manifest), especially one whose name you recalled or that a model su"},{"name":"text_similarity","description":"Near-duplicate detection with a 64-bit SimHash over word shingles: send 1 text to get its hash, or 2 texts to compare them. Detects paraphrased or lightly edite"},{"name":"timestamp","description":"Returns the current time, or converts between a Unix timestamp (seconds) and an ISO date. Provide unix or date, or neither for the current time."},{"name":"tx_decode","description":"Decodes a raw signed Cosmos SDK transaction (base64 TxRaw bytes, as found in a CometBFT block's data.txs) into JSON: messages, fee, gas, signers and signatures."},{"name":"typosquat_check","description":"Call before installing a package whose name you typed or recalled. Checks whether an npm or PyPI package name is a near-miss of a well-known package (typosquatt"},{"name":"url_clean","description":"Removes 60+ known tracking parameters (utm_*, fbclid, gclid and similar) from a URL and returns the clean URL. Does not follow redirects; for that, use redirect"},{"name":"url_reputation","description":"Checks a URL against URLhaus (abuse.ch), a public database of known malware distribution URLs. A clean result only means the URL is not listed, not that it is s"},{"name":"user_agent","description":"Parses a User-Agent string into browser and version, operating system and version, device type, and whether it looks like a bot."},{"name":"uuid","description":"Generates 1 to 100 random UUID v4 values."},{"name":"vat_validate","description":"Checks an EU VAT number in real time against the European Commission's VIES service and, when valid, returns the registered company name and address. VIES is oc"},{"name":"vulnerability_check","description":"Checks a package (optionally a specific version) against OSV.dev for known vulnerabilities: npm, PyPI, Go, crates.io, Maven, RubyGems, Packagist and NuGet. For "},{"name":"whois_lookup","description":"Domain registration data via RDAP (the modern WHOIS): registrar, creation and expiration dates, domain age in days, nameservers. For DNS records, use dns_lookup"}],"toolCount":40,"toolsHash":"7e2326fc3f7ee9d8d6a0cb3c5cb12386cac4d7c599e79e1b24ab0561320fbc16","serverName":"presend-mcp","capabilities":["tools"],"serverVersion":"3.1.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T22:23:46.430Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":112,"error":null,"detail":{"tools":[{"name":"address_risk","description":"Screens a crypto address against every OFAC SDN digital currency address list. EVM (0x...) and Bitcoin (bc1..., 1..., 3...) addresses are fully covered (sanctio"},{"name":"ai_crawler_check","description":"Fetches a domain's robots.txt and reports which known AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot and others) are allowed or blocked, "},{"name":"base64","description":"Encodes text to Base64 or decodes a Base64 string back to text (action = encode or decode)."},{"name":"color","description":"Converts a color between hex, RGB and HSL. Provide exactly one of hex, rgb or hsl."},{"name":"csv_json","description":"Converts CSV text to JSON or JSON to CSV (direction: csv-to-json or json-to-csv), for data passed inline. CSV must be comma-separated, with a header row and at "},{"name":"cve_lookup","description":"Looks up a vulnerability by identifier (CVE, GHSA or other OSV ID) on OSV.dev: summary, CVSS severity, affected packages and versions, references. Use when you "},{"name":"dns_lookup","description":"Returns DNS records for a domain via Cloudflare DNS-over-HTTPS: A, AAAA, CNAME, MX, TXT and NS in one call, or a single record type with 'type'. For registratio"},{"name":"email_disposable","description":"Checks only whether an email address uses a known disposable/temporary email domain. For syntax, MX, disposable and role-account checks in one call, use email_v"},{"name":"email_security","description":"Audits a domain's email anti-spoofing setup: SPF strength, DMARC policy and a best-effort DKIM lookup on common selectors. A missing DKIM match does not prove D"},{"name":"email_validate","description":"Lightweight email check: syntax plus confirmation that the domain has an MX record. Does not detect disposable or role addresses; use email_verify for the combi"},{"name":"email_verify","description":"Most complete email check in one call: syntax, MX record, disposable-domain detection and role/generic account detection (e.g. info@, admin@). Prefer it over em"},{"name":"favicon","description":"Returns the favicon URL a website declares: fetches the homepage and takes the first <link rel='icon'> (or 'shortcut icon') href, resolved to an absolute URL, w"},{"name":"iban_validate","description":"Validates an IBAN offline: ISO 7064 mod-97 checksum and country-specific length. Confirms the number is well-formed, not that the account exists."},{"name":"ip_reputation","description":"Checks an IPv4 or IPv6 address against a curated list of netblocks known to be hijacked or run by spam/cyber-crime operations (IPv4-mapped IPv6 uses the IPv4 li"},{"name":"jwt_decode","description":"Decodes a JWT's header and payload WITHOUT verifying its signature, so its claims must not be trusted on this basis alone. To check authenticity, use jwt_verify"},{"name":"jwt_verify","description":"Cryptographically verifies a JWT signature (HS256/384/512, RS/PS256/384/512, ES256/384/512) and checks exp/nbf claims. Provide a secret for HS*, or a JWK or JWK"},{"name":"link_metadata","description":"Fetches a web page and extracts its title, description, canonical URL, Open Graph and Twitter Card tags and favicon (the data behind link previews). Follows red"},{"name":"maintainer_change_check","description":"Publisher-change analysis is npm only. Also reports whether the package exists (found) and its age (first_published, package_age_days, new_package if first publ"},{"name":"password","description":"Generates a random password, with options for length, symbols, uppercase, numbers and excluding ambiguous characters. To evaluate an existing password, use pass"},{"name":"password_breach","description":"Checks whether a password appears in known data breaches (Have I Been Pwned) and how many times, using k-anonymity towards HIBP. Breach check only; password_che"},{"name":"password_check","description":"Scores a password's strength (length, character variety, entropy as an upper bound, repeated patterns; passphrases are estimated per word) and, with check_breac"},{"name":"phone_verify","description":"Validates and formats a phone number: validity, country, line type, E.164, international and national formats. Numbers without a leading + require 'country', si"},{"name":"redirect_trace","description":"Follows a URL's full redirect chain (up to 15 hops) and returns every hop with its status code, plus whether the chain crossed domains. Use it to see where a sh"},{"name":"repo_health_check","description":"Maintenance signals for a GitHub repository given as owner/name: stars, forks, open issues, license, archived and fork flags, creation date and age, days since "},{"name":"rpc_check","description":"Read-only audit of a public CometBFT (Cosmos SDK) RPC endpoint: node status, health, peers, and whether unsafe admin methods (dial_seeds, dial_peers, unsafe_flu"},{"name":"security_headers","description":"Audits the HTTP security headers of one URL (CSP, HSTS, X-Frame-Options, Permissions-Policy, cross-origin policies and others) and returns per-header findings w"},{"name":"security_scan","description":"Combined website check in one call: security headers, URL reputation and passive subdomain discovery, run in parallel, with an overall score and verdict. Use th"},{"name":"subdomains","description":"Passive subdomain discovery from Certificate Transparency logs (crt.sh): finds hostnames that appeared in public TLS certificates, not every DNS record. crt.sh "},{"name":"supply_chain_check","description":"Call this before installing or adding a package (npm install, pip install, a new entry in a manifest), especially one whose name you recalled or that a model su"},{"name":"text_similarity","description":"Near-duplicate detection with a 64-bit SimHash over word shingles: send 1 text to get its hash, or 2 texts to compare them. Detects paraphrased or lightly edite"},{"name":"timestamp","description":"Returns the current time, or converts between a Unix timestamp (seconds) and an ISO date. Provide unix or date, or neither for the current time."},{"name":"tx_decode","description":"Decodes a raw signed Cosmos SDK transaction (base64 TxRaw bytes, as found in a CometBFT block's data.txs) into JSON: messages, fee, gas, signers and signatures."},{"name":"typosquat_check","description":"Call before installing a package whose name you typed or recalled. Checks whether an npm or PyPI package name is a near-miss of a well-known package (typosquatt"},{"name":"url_clean","description":"Removes 60+ known tracking parameters (utm_*, fbclid, gclid and similar) from a URL and returns the clean URL. Does not follow redirects; for that, use redirect"},{"name":"url_reputation","description":"Checks a URL against URLhaus (abuse.ch), a public database of known malware distribution URLs. A clean result only means the URL is not listed, not that it is s"},{"name":"user_agent","description":"Parses a User-Agent string into browser and version, operating system and version, device type, and whether it looks like a bot."},{"name":"uuid","description":"Generates 1 to 100 random UUID v4 values."},{"name":"vat_validate","description":"Checks an EU VAT number in real time against the European Commission's VIES service and, when valid, returns the registered company name and address. VIES is oc"},{"name":"vulnerability_check","description":"Checks a package (optionally a specific version) against OSV.dev for known vulnerabilities: npm, PyPI, Go, crates.io, Maven, RubyGems, Packagist and NuGet. For "},{"name":"whois_lookup","description":"Domain registration data via RDAP (the modern WHOIS): registrar, creation and expiration dates, domain age in days, nameservers. For DNS records, use dns_lookup"}],"toolCount":40,"toolsHash":"7e2326fc3f7ee9d8d6a0cb3c5cb12386cac4d7c599e79e1b24ab0561320fbc16","serverName":"presend-mcp","capabilities":["tools"],"serverVersion":"3.1.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T15:31:22.323Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":364,"error":null,"detail":{"tools":[{"name":"address_risk","description":"Screens a crypto address against every OFAC SDN digital currency address list. EVM (0x...) and Bitcoin (bc1..., 1..., 3...) addresses are fully covered (sanctio"},{"name":"ai_crawler_check","description":"Fetches a domain's robots.txt and reports which known AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot and others) are allowed or blocked, "},{"name":"base64","description":"Encodes text to Base64 or decodes a Base64 string back to text (action = encode or decode)."},{"name":"color","description":"Converts a color between hex, RGB and HSL. Provide exactly one of hex, rgb or hsl."},{"name":"csv_json","description":"Converts CSV text to JSON or JSON to CSV (direction: csv-to-json or json-to-csv), for data passed inline. CSV must be comma-separated, with a header row and at "},{"name":"cve_lookup","description":"Looks up a vulnerability by identifier (CVE, GHSA or other OSV ID) on OSV.dev: summary, CVSS severity, affected packages and versions, references. Use when you "},{"name":"dns_lookup","description":"Returns DNS records for a domain via Cloudflare DNS-over-HTTPS: A, AAAA, CNAME, MX, TXT and NS in one call, or a single record type with 'type'. For registratio"},{"name":"email_disposable","description":"Checks only whether an email address uses a known disposable/temporary email domain. For syntax, MX, disposable and role-account checks in one call, use email_v"},{"name":"email_security","description":"Audits a domain's email anti-spoofing setup: SPF strength, DMARC policy and a best-effort DKIM lookup on common selectors. A missing DKIM match does not prove D"},{"name":"email_validate","description":"Lightweight email check: syntax plus confirmation that the domain has an MX record. Does not detect disposable or role addresses; use email_verify for the combi"},{"name":"email_verify","description":"Most complete email check in one call: syntax, MX record, disposable-domain detection and role/generic account detection (e.g. info@, admin@). Prefer it over em"},{"name":"favicon","description":"Returns the favicon URL a website declares: fetches the homepage and takes the first <link rel='icon'> (or 'shortcut icon') href, resolved to an absolute URL, w"},{"name":"iban_validate","description":"Validates an IBAN offline: ISO 7064 mod-97 checksum and country-specific length. Confirms the number is well-formed, not that the account exists."},{"name":"ip_reputation","description":"Checks an IPv4 or IPv6 address against a curated list of netblocks known to be hijacked or run by spam/cyber-crime operations (IPv4-mapped IPv6 uses the IPv4 li"},{"name":"jwt_decode","description":"Decodes a JWT's header and payload WITHOUT verifying its signature, so its claims must not be trusted on this basis alone. To check authenticity, use jwt_verify"},{"name":"jwt_verify","description":"Cryptographically verifies a JWT signature (HS256/384/512, RS/PS256/384/512, ES256/384/512) and checks exp/nbf claims. Provide a secret for HS*, or a JWK or JWK"},{"name":"link_metadata","description":"Fetches a web page and extracts its title, description, canonical URL, Open Graph and Twitter Card tags and favicon (the data behind link previews). Follows red"},{"name":"maintainer_change_check","description":"Publisher-change analysis is npm only. Also reports whether the package exists (found) and its age (first_published, package_age_days, new_package if first publ"},{"name":"password","description":"Generates a random password, with options for length, symbols, uppercase, numbers and excluding ambiguous characters. To evaluate an existing password, use pass"},{"name":"password_breach","description":"Checks whether a password appears in known data breaches (Have I Been Pwned) and how many times, using k-anonymity towards HIBP. Breach check only; password_che"},{"name":"password_check","description":"Scores a password's strength (length, character variety, entropy as an upper bound, repeated patterns; passphrases are estimated per word) and, with check_breac"},{"name":"phone_verify","description":"Validates and formats a phone number: validity, country, line type, E.164, international and national formats. Numbers without a leading + require 'country', si"},{"name":"redirect_trace","description":"Follows a URL's full redirect chain (up to 15 hops) and returns every hop with its status code, plus whether the chain crossed domains. Use it to see where a sh"},{"name":"repo_health_check","description":"Maintenance signals for a GitHub repository given as owner/name: stars, forks, open issues, license, archived and fork flags, creation date and age, days since "},{"name":"rpc_check","description":"Read-only audit of a public CometBFT (Cosmos SDK) RPC endpoint: node status, health, peers, and whether unsafe admin methods (dial_seeds, dial_peers, unsafe_flu"},{"name":"security_headers","description":"Audits the HTTP security headers of one URL (CSP, HSTS, X-Frame-Options, Permissions-Policy, cross-origin policies and others) and returns per-header findings w"},{"name":"security_scan","description":"Combined website check in one call: security headers, URL reputation and passive subdomain discovery, run in parallel, with an overall score and verdict. Use th"},{"name":"subdomains","description":"Passive subdomain discovery from Certificate Transparency logs (crt.sh): finds hostnames that appeared in public TLS certificates, not every DNS record. crt.sh "},{"name":"supply_chain_check","description":"Call this before installing or adding a package (npm install, pip install, a new entry in a manifest), especially one whose name you recalled or that a model su"},{"name":"text_similarity","description":"Near-duplicate detection with a 64-bit SimHash over word shingles: send 1 text to get its hash, or 2 texts to compare them. Detects paraphrased or lightly edite"},{"name":"timestamp","description":"Returns the current time, or converts between a Unix timestamp (seconds) and an ISO date. Provide unix or date, or neither for the current time."},{"name":"tx_decode","description":"Decodes a raw signed Cosmos SDK transaction (base64 TxRaw bytes, as found in a CometBFT block's data.txs) into JSON: messages, fee, gas, signers and signatures."},{"name":"typosquat_check","description":"Call before installing a package whose name you typed or recalled. Checks whether an npm or PyPI package name is a near-miss of a well-known package (typosquatt"},{"name":"url_clean","description":"Removes 60+ known tracking parameters (utm_*, fbclid, gclid and similar) from a URL and returns the clean URL. Does not follow redirects; for that, use redirect"},{"name":"url_reputation","description":"Checks a URL against URLhaus (abuse.ch), a public database of known malware distribution URLs. A clean result only means the URL is not listed, not that it is s"},{"name":"user_agent","description":"Parses a User-Agent string into browser and version, operating system and version, device type, and whether it looks like a bot."},{"name":"uuid","description":"Generates 1 to 100 random UUID v4 values."},{"name":"vat_validate","description":"Checks an EU VAT number in real time against the European Commission's VIES service and, when valid, returns the registered company name and address. VIES is oc"},{"name":"vulnerability_check","description":"Checks a package (optionally a specific version) against OSV.dev for known vulnerabilities: npm, PyPI, Go, crates.io, Maven, RubyGems, Packagist and NuGet. For "},{"name":"whois_lookup","description":"Domain registration data via RDAP (the modern WHOIS): registrar, creation and expiration dates, domain age in days, nameservers. For DNS records, use dns_lookup"}],"toolCount":40,"toolsHash":"7e2326fc3f7ee9d8d6a0cb3c5cb12386cac4d7c599e79e1b24ab0561320fbc16","serverName":"presend-mcp","capabilities":["tools"],"serverVersion":"3.1.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T09:27:04.962Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":192,"error":null,"detail":{"tools":[{"name":"address_risk","description":"Screens a crypto address against every OFAC SDN digital currency address list. EVM (0x...) and Bitcoin (bc1..., 1..., 3...) addresses are fully covered (sanctio"},{"name":"ai_crawler_check","description":"Fetches a domain's robots.txt and reports which known AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot and others) are allowed or blocked, "},{"name":"base64","description":"Encodes text to Base64 or decodes a Base64 string back to text (action = encode or decode)."},{"name":"color","description":"Converts a color between hex, RGB and HSL. Provide exactly one of hex, rgb or hsl."},{"name":"csv_json","description":"Converts CSV text to JSON or JSON to CSV (direction: csv-to-json or json-to-csv), for data passed inline. CSV must be comma-separated, with a header row and at "},{"name":"cve_lookup","description":"Looks up a vulnerability by identifier (CVE, GHSA or other OSV ID) on OSV.dev: summary, CVSS severity, affected packages and versions, references. Use when you "},{"name":"dns_lookup","description":"Returns DNS records for a domain via Cloudflare DNS-over-HTTPS: A, AAAA, CNAME, MX, TXT and NS in one call, or a single record type with 'type'. For registratio"},{"name":"email_disposable","description":"Checks only whether an email address uses a known disposable/temporary email domain. For syntax, MX, disposable and role-account checks in one call, use email_v"},{"name":"email_security","description":"Audits a domain's email anti-spoofing setup: SPF strength, DMARC policy and a best-effort DKIM lookup on common selectors. A missing DKIM match does not prove D"},{"name":"email_validate","description":"Lightweight email check: syntax plus confirmation that the domain has an MX record. Does not detect disposable or role addresses; use email_verify for the combi"},{"name":"email_verify","description":"Most complete email check in one call: syntax, MX record, disposable-domain detection and role/generic account detection (e.g. info@, admin@). Prefer it over em"},{"name":"favicon","description":"Returns the favicon URL a website declares: fetches the homepage and takes the first <link rel='icon'> (or 'shortcut icon') href, resolved to an absolute URL, w"},{"name":"iban_validate","description":"Validates an IBAN offline: ISO 7064 mod-97 checksum and country-specific length. Confirms the number is well-formed, not that the account exists."},{"name":"ip_reputation","description":"Checks an IPv4 or IPv6 address against a curated list of netblocks known to be hijacked or run by spam/cyber-crime operations (IPv4-mapped IPv6 uses the IPv4 li"},{"name":"jwt_decode","description":"Decodes a JWT's header and payload WITHOUT verifying its signature, so its claims must not be trusted on this basis alone. To check authenticity, use jwt_verify"},{"name":"jwt_verify","description":"Cryptographically verifies a JWT signature (HS256/384/512, RS/PS256/384/512, ES256/384/512) and checks exp/nbf claims. Provide a secret for HS*, or a JWK or JWK"},{"name":"link_metadata","description":"Fetches a web page and extracts its title, description, canonical URL, Open Graph and Twitter Card tags and favicon (the data behind link previews). Follows red"},{"name":"maintainer_change_check","description":"Publisher-change analysis is npm only. Also reports whether the package exists (found) and its age (first_published, package_age_days, new_package if first publ"},{"name":"password","description":"Generates a random password, with options for length, symbols, uppercase, numbers and excluding ambiguous characters. To evaluate an existing password, use pass"},{"name":"password_breach","description":"Checks whether a password appears in known data breaches (Have I Been Pwned) and how many times, using k-anonymity towards HIBP. Breach check only; password_che"},{"name":"password_check","description":"Scores a password's strength (length, character variety, entropy as an upper bound, repeated patterns; passphrases are estimated per word) and, with check_breac"},{"name":"phone_verify","description":"Validates and formats a phone number: validity, country, line type, E.164, international and national formats. Numbers without a leading + require 'country', si"},{"name":"redirect_trace","description":"Follows a URL's full redirect chain (up to 15 hops) and returns every hop with its status code, plus whether the chain crossed domains. Use it to see where a sh"},{"name":"repo_health_check","description":"Maintenance signals for a GitHub repository given as owner/name: stars, forks, open issues, license, archived and fork flags, creation date and age, days since "},{"name":"rpc_check","description":"Read-only audit of a public CometBFT (Cosmos SDK) RPC endpoint: node status, health, peers, and whether unsafe admin methods (dial_seeds, dial_peers, unsafe_flu"},{"name":"security_headers","description":"Audits the HTTP security headers of one URL (CSP, HSTS, X-Frame-Options, Permissions-Policy, cross-origin policies and others) and returns per-header findings w"},{"name":"security_scan","description":"Combined website check in one call: security headers, URL reputation and passive subdomain discovery, run in parallel, with an overall score and verdict. Use th"},{"name":"subdomains","description":"Passive subdomain discovery from Certificate Transparency logs (crt.sh): finds hostnames that appeared in public TLS certificates, not every DNS record. crt.sh "},{"name":"supply_chain_check","description":"Call this before installing or adding a package (npm install, pip install, a new entry in a manifest), especially one whose name you recalled or that a model su"},{"name":"text_similarity","description":"Near-duplicate detection with a 64-bit SimHash over word shingles: send 1 text to get its hash, or 2 texts to compare them. Detects paraphrased or lightly edite"},{"name":"timestamp","description":"Returns the current time, or converts between a Unix timestamp (seconds) and an ISO date. Provide unix or date, or neither for the current time."},{"name":"tx_decode","description":"Decodes a raw signed Cosmos SDK transaction (base64 TxRaw bytes, as found in a CometBFT block's data.txs) into JSON: messages, fee, gas, signers and signatures."},{"name":"typosquat_check","description":"Call before installing a package whose name you typed or recalled. Checks whether an npm or PyPI package name is a near-miss of a well-known package (typosquatt"},{"name":"url_clean","description":"Removes 60+ known tracking parameters (utm_*, fbclid, gclid and similar) from a URL and returns the clean URL. Does not follow redirects; for that, use redirect"},{"name":"url_reputation","description":"Checks a URL against URLhaus (abuse.ch), a public database of known malware distribution URLs. A clean result only means the URL is not listed, not that it is s"},{"name":"user_agent","description":"Parses a User-Agent string into browser and version, operating system and version, device type, and whether it looks like a bot."},{"name":"uuid","description":"Generates 1 to 100 random UUID v4 values."},{"name":"vat_validate","description":"Checks an EU VAT number in real time against the European Commission's VIES service and, when valid, returns the registered company name and address. VIES is oc"},{"name":"vulnerability_check","description":"Checks a package (optionally a specific version) against OSV.dev for known vulnerabilities: npm, PyPI, Go, crates.io, Maven, RubyGems, Packagist and NuGet. For "},{"name":"whois_lookup","description":"Domain registration data via RDAP (the modern WHOIS): registrar, creation and expiration dates, domain age in days, nameservers. For DNS records, use dns_lookup"}],"toolCount":40,"toolsHash":"7e2326fc3f7ee9d8d6a0cb3c5cb12386cac4d7c599e79e1b24ab0561320fbc16","serverName":"presend-mcp","capabilities":["tools"],"serverVersion":"3.1.2","protocolVersion":"2025-06-18"}}],"tools":[{"name":"address_risk","description":"Screens a crypto address against every OFAC SDN digital currency address list. EVM (0x...) and Bitcoin (bc1..., 1..., 3...) addresses are fully covered (sanctio"},{"name":"ai_crawler_check","description":"Fetches a domain's robots.txt and reports which known AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot and others) are allowed or blocked, "},{"name":"base64","description":"Encodes text to Base64 or decodes a Base64 string back to text (action = encode or decode)."},{"name":"color","description":"Converts a color between hex, RGB and HSL. Provide exactly one of hex, rgb or hsl."},{"name":"csv_json","description":"Converts CSV text to JSON or JSON to CSV (direction: csv-to-json or json-to-csv), for data passed inline. CSV must be comma-separated, with a header row and at "},{"name":"cve_lookup","description":"Looks up a vulnerability by identifier (CVE, GHSA or other OSV ID) on OSV.dev: summary, CVSS severity, affected packages and versions, references. Use when you "},{"name":"dns_lookup","description":"Returns DNS records for a domain via Cloudflare DNS-over-HTTPS: A, AAAA, CNAME, MX, TXT and NS in one call, or a single record type with 'type'. For registratio"},{"name":"email_disposable","description":"Checks only whether an email address uses a known disposable/temporary email domain. For syntax, MX, disposable and role-account checks in one call, use email_v"},{"name":"email_security","description":"Audits a domain's email anti-spoofing setup: SPF strength, DMARC policy and a best-effort DKIM lookup on common selectors. A missing DKIM match does not prove D"},{"name":"email_validate","description":"Lightweight email check: syntax plus confirmation that the domain has an MX record. Does not detect disposable or role addresses; use email_verify for the combi"},{"name":"email_verify","description":"Most complete email check in one call: syntax, MX record, disposable-domain detection and role/generic account detection (e.g. info@, admin@). Prefer it over em"},{"name":"favicon","description":"Returns the favicon URL a website declares: fetches the homepage and takes the first <link rel='icon'> (or 'shortcut icon') href, resolved to an absolute URL, w"},{"name":"iban_validate","description":"Validates an IBAN offline: ISO 7064 mod-97 checksum and country-specific length. Confirms the number is well-formed, not that the account exists."},{"name":"ip_reputation","description":"Checks an IPv4 or IPv6 address against a curated list of netblocks known to be hijacked or run by spam/cyber-crime operations (IPv4-mapped IPv6 uses the IPv4 li"},{"name":"jwt_decode","description":"Decodes a JWT's header and payload WITHOUT verifying its signature, so its claims must not be trusted on this basis alone. To check authenticity, use jwt_verify"},{"name":"jwt_verify","description":"Cryptographically verifies a JWT signature (HS256/384/512, RS/PS256/384/512, ES256/384/512) and checks exp/nbf claims. Provide a secret for HS*, or a JWK or JWK"},{"name":"link_metadata","description":"Fetches a web page and extracts its title, description, canonical URL, Open Graph and Twitter Card tags and favicon (the data behind link previews). Follows red"},{"name":"maintainer_change_check","description":"Publisher-change analysis is npm only. Also reports whether the package exists (found) and its age (first_published, package_age_days, new_package if first publ"},{"name":"password","description":"Generates a random password, with options for length, symbols, uppercase, numbers and excluding ambiguous characters. To evaluate an existing password, use pass"},{"name":"password_breach","description":"Checks whether a password appears in known data breaches (Have I Been Pwned) and how many times, using k-anonymity towards HIBP. Breach check only; password_che"},{"name":"password_check","description":"Scores a password's strength (length, character variety, entropy as an upper bound, repeated patterns; passphrases are estimated per word) and, with check_breac"},{"name":"phone_verify","description":"Validates and formats a phone number: validity, country, line type, E.164, international and national formats. Numbers without a leading + require 'country', si"},{"name":"redirect_trace","description":"Follows a URL's full redirect chain (up to 15 hops) and returns every hop with its status code, plus whether the chain crossed domains. Use it to see where a sh"},{"name":"repo_health_check","description":"Maintenance signals for a GitHub repository given as owner/name: stars, forks, open issues, license, archived and fork flags, creation date and age, days since "},{"name":"rpc_check","description":"Read-only audit of a public CometBFT (Cosmos SDK) RPC endpoint: node status, health, peers, and whether unsafe admin methods (dial_seeds, dial_peers, unsafe_flu"},{"name":"security_headers","description":"Audits the HTTP security headers of one URL (CSP, HSTS, X-Frame-Options, Permissions-Policy, cross-origin policies and others) and returns per-header findings w"},{"name":"security_scan","description":"Combined website check in one call: security headers, URL reputation and passive subdomain discovery, run in parallel, with an overall score and verdict. Use th"},{"name":"subdomains","description":"Passive subdomain discovery from Certificate Transparency logs (crt.sh): finds hostnames that appeared in public TLS certificates, not every DNS record. crt.sh "},{"name":"supply_chain_check","description":"Call this before installing or adding a package (npm install, pip install, a new entry in a manifest), especially one whose name you recalled or that a model su"},{"name":"text_similarity","description":"Near-duplicate detection with a 64-bit SimHash over word shingles: send 1 text to get its hash, or 2 texts to compare them. Detects paraphrased or lightly edite"},{"name":"timestamp","description":"Returns the current time, or converts between a Unix timestamp (seconds) and an ISO date. Provide unix or date, or neither for the current time."},{"name":"tx_decode","description":"Decodes a raw signed Cosmos SDK transaction (base64 TxRaw bytes, as found in a CometBFT block's data.txs) into JSON: messages, fee, gas, signers and signatures."},{"name":"typosquat_check","description":"Call before installing a package whose name you typed or recalled. Checks whether an npm or PyPI package name is a near-miss of a well-known package (typosquatt"},{"name":"url_clean","description":"Removes 60+ known tracking parameters (utm_*, fbclid, gclid and similar) from a URL and returns the clean URL. Does not follow redirects; for that, use redirect"},{"name":"url_reputation","description":"Checks a URL against URLhaus (abuse.ch), a public database of known malware distribution URLs. A clean result only means the URL is not listed, not that it is s"},{"name":"user_agent","description":"Parses a User-Agent string into browser and version, operating system and version, device type, and whether it looks like a bot."},{"name":"uuid","description":"Generates 1 to 100 random UUID v4 values."},{"name":"vat_validate","description":"Checks an EU VAT number in real time against the European Commission's VIES service and, when valid, returns the registered company name and address. VIES is oc"},{"name":"vulnerability_check","description":"Checks a package (optionally a specific version) against OSV.dev for known vulnerabilities: npm, PyPI, Go, crates.io, Maven, RubyGems, Packagist and NuGet. For "},{"name":"whois_lookup","description":"Domain registration data via RDAP (the modern WHOIS): registrar, creation and expiration dates, domain age in days, nameservers. For DNS records, use dns_lookup"}],"package":null,"toolSurface":{"id":"ts_n9888dhb2jjm","endpointId":"ep_28yuhgrdrfen","hash":"cf4aefda4fd6f6bf3f2588759e60565ff1759b78ef623b78adbc334840f30272","toolCount":40,"serverName":"presend-mcp","serverVersion":"3.1.2","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-09T19:25:55.681Z","lastSeenAt":"2026-10-09T19:25:55.681Z","observations":1,"toolNames":["address_risk","ai_crawler_check","base64","color","csv_json","cve_lookup","dns_lookup","email_disposable","email_security","email_validate","email_verify","favicon","iban_validate","ip_reputation","jwt_decode","jwt_verify","link_metadata","maintainer_change_check","password","password_breach","password_check","phone_verify","redirect_trace","repo_health_check","rpc_check","security_headers","security_scan","subdomains","supply_chain_check","text_similarity","timestamp","tx_decode","typosquat_check","url_clean","url_reputation","user_agent","uuid","vat_validate","vulnerability_check","whois_lookup"],"distinctSurfaces":19},"endpointFacts":[{"id":"ep_28yuhgrdrfen","url":"https://presend.pages.dev/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T19:25:55.694Z","auth":{"observedAt":"2026-10-09T19:25:55.723Z","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-09T19:25:55.754Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"presend.pages.dev","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-30T18:29:20.000Z","validTo":"2026-12-29T19:29:17.000Z","daysToExpiry":80,"sanCount":2,"fingerprint256":"A6:14:34:4F:CB:63:D1:31:18:5D:EC:C2:71:30:C1:71:F5:10:A0:E0:8C:C2:A9:7C:B9:9B:DB:7B:65:7D:46:B2"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.presendapp/presend-mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.presendapp%2Fpresend-mcp","firstSeenAt":"2026-09-13T00:22:40.880Z","fetchedAt":"2026-10-08T03:20:07.063Z","normalizedAt":"2026-10-08T03:20:07.063Z"}]},"firstSeenAt":"2026-09-13T00:22:40.880Z","updatedAt":"2026-10-09T19:28:54.540Z"}