Presend MCP Server
Free MCP server of security & dev API tools -- supply-chain, CVE, DNS, WHOIS, OFAC, Cosmos SDK.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (14)
- LOWen base64
- LOWen cve_lookup
- LOWen email_disposable
- LOWen email_verify
- LOWen jwt_decode
- LOWen maintainer_change_check
- LOWen repo_health_check
- LOWen security_scan
- LOWen subdomains
- LOWen text_similarity
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"presend-mcp": {
"url": "https://presend.pages.dev/mcp"
}
}
}Puntos de conexión remotos
https://presend.pages.dev/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (41)
🟢address_risk(address)
Check a crypto address against the OFAC sanctions list (EVM)
Esquema de entrada
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "EVM address (0x + 40 hex chars) or Cosmos SDK bech32 address to check against the OFAC SDN sanctions list."
}
},
"required": [
"address"
]
}🟢ai_crawler_check(domain)
Check which AI crawlers are allowed by robots.txt
Esquema de entrada
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Domain to check, e.g. example.com. robots.txt is fetched from https://<domain>/robots.txt."
}
},
"required": [
"domain"
]
}⚪base64(action, text)
Encode or decode Base64
Esquema de entrada
{
"type": "object",
"properties": {
"action": {
"type": "string",
"description": "Either \\\"encode\\\" or \\\"decode\\\"."
},
"text": {
"type": "string",
"description": "Text to encode, or Base64 string to decode."
}
},
"required": [
"action",
"text"
]
}⚪color(hex, rgb, hsl)
Convert color formats
Esquema de entrada
{
"type": "object",
"properties": {
"hex": {
"type": "string",
"description": "Hex color code, e.g. #ff0000 or ff0000. Provide exactly one of hex, rgb, or hsl."
},
"rgb": {
"type": "string",
"description": "RGB color, e.g. 255,0,0. Provide exactly one of hex, rgb, or hsl."
},
"hsl": {
"type": "string",
"description": "HSL color, e.g. 0,100%,50%. Provide exactly one of hex, rgb, or hsl."
}
},
"required": []
}⚪csv_json(direction, data)
Convert between JSON and CSV (GET)
Esquema de entrada
{
"type": "object",
"properties": {
"direction": {
"type": "string",
"description": "Either \\\"csv-to-json\\\" or \\\"json-to-csv\\\"."
},
"data": {
"type": "string",
"description": "The CSV or JSON text to convert, matching the chosen direction."
}
},
"required": [
"direction",
"data"
]
}⚪cve_lookup(id)
Direct CVE/GHSA vulnerability lookup by identifier
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "CVE, GHSA, or other OSV-native identifier, e.g. CVE-2021-44228."
}
},
"required": [
"id"
]
}⚪dns_lookup(domain, type)
DNS record lookup (A, AAAA, CNAME, MX, TXT, NS)
Esquema de entrada
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Domain to look up, e.g. example.com."
},
"type": {
"type": "string",
"description": "Narrow to a single record type. Omit to get all 6 at once."
}
},
"required": [
"domain"
]
}⚪email_disposable(email)
Detect disposable email domains
Esquema de entrada
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Email address to check against a list of known disposable/temporary email domains."
}
},
"required": [
"email"
]
}🟢email_security(domain)
Domain email anti-spoofing check (SPF/DMARC/DKIM)
Esquema de entrada
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Domain to check SPF, DKIM, and DMARC records for, e.g. example.com."
}
},
"required": [
"domain"
]
}⚪email_validate(email)
Validate an email address
Esquema de entrada
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Email address to validate for correct syntax and a resolvable domain."
}
},
"required": [
"email"
]
}⚪email_verify(email)
Combined email verification
Esquema de entrada
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Email address to run through combined syntax, disposable-domain, and MX-record checks."
}
},
"required": [
"email"
]
}🟢favicon(domain)
Fetch a domain's favicon URL
Esquema de entrada
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Domain to fetch the favicon URL for, e.g. example.com."
}
},
"required": [
"domain"
]
}⚪iban_validate(iban)
Validate an IBAN (ISO 7064 mod-97 checksum)
Esquema de entrada
{
"type": "object",
"properties": {
"iban": {
"type": "string",
"description": "IBAN to validate. Spaces are ignored."
}
},
"required": [
"iban"
]
}🟢ip
Get caller IP geolocation
Esquema de entrada
{
"type": "object",
"properties": {},
"required": []
}🟢ip_reputation(ip)
IP reputation check against a curated list of known spam/hijacker netblocks
Esquema de entrada
{
"type": "object",
"properties": {
"ip": {
"type": "string",
"description": "IPv4 address to check against a curated list of known spam/hijacker netblocks."
}
},
"required": [
"ip"
]
}⚪jwt_decode(token)
Decode a JWT
Esquema de entrada
{
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "The JWT to decode. Decodes header and payload only -- does not verify the signature (use /jwt-verify for that)."
}
},
"required": [
"token"
]
}⚪jwt_verify(token, secret, jwk, jwks_url)
Verify a JWT's cryptographic signature
Esquema de entrada
{
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "The JWT to verify. Checks the cryptographic signature -- use /jwt-decode if you only need to read the header and payload."
},
"secret": {
"type": "string",
"description": "Required for HS256/384/512."
},
"jwk": {
"type": "object",
"description": "Public key in JWK format, for RS/PS/ES algorithms."
},
"jwks_url": {
"type": "string",
"description": "URL to a JWKS document; the key is matched by the token's \"kid\" header."
}
},
"required": [
"token"
]
}🟢link_metadata(url)
Extract Open Graph / Twitter Card metadata from a URL
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL to extract title, description, and Open Graph / Twitter Card metadata from."
}
},
"required": [
"url"
]
}🟡maintainer_change_check(ecosystem, package)
Detect a suspicious npm package maintainer change
Esquema de entrada
{
"type": "object",
"properties": {
"ecosystem": {
"type": "string",
"description": "Currently only \\\"npm\\\" is supported."
},
"package": {
"type": "string",
"description": "Package name, e.g. lodash"
}
},
"required": [
"ecosystem",
"package"
]
}⚪password(length, symbols, uppercase, numbers, exclude_ambiguous)
Generate a secure password
Esquema de entrada
{
"type": "object",
"properties": {
"length": {
"type": "string",
"description": "Desired password length. Defaults to a reasonable secure length if omitted."
},
"symbols": {
"type": "string",
"description": "Whether to include symbol characters. 1 for yes, 0 for no."
},
"uppercase": {
"type": "string",
"description": "Whether to include uppercase letters. 1 for yes, 0 for no."
},
"numbers": {
"type": "string",
"description": "Whether to include numeric digits. 1 for yes, 0 for no."
},
"exclude_ambiguous": {
"type": "string",
"description": "Whether to exclude visually ambiguous characters (e.g. 0/O, 1/l). 1 for yes, 0 for no."
}
},
"required": []
}🟢password_breach(password)
Check if a password has been breached
Esquema de entrada
{
"type": "object",
"properties": {
"password": {
"type": "string",
"description": "Password to check against known data-breach corpora. Checked via k-anonymity (only a partial hash prefix is sent) -- the full password is never transmitted."
}
},
"required": [
"password"
]
}🟢password_check(password, check_breach)
Combined password strength + breach check
Esquema de entrada
{
"type": "object",
"properties": {
"password": {
"type": "string",
"description": "Password to evaluate for strength (length, character variety, common patterns)."
},
"check_breach": {
"type": "boolean",
"description": "Whether to also check the password against known data-breach corpora via k-anonymity. true or false."
}
},
"required": [
"password"
]
}⚪phone_verify(number, country)
Validate and format a phone number
Esquema de entrada
{
"type": "object",
"properties": {
"number": {
"type": "string",
"description": "Phone number to validate and format, ideally in E.164 format (e.g. +14155552671)."
},
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code (e.g. US, FR), used to interpret a number with no leading +."
}
},
"required": [
"number"
]
}⚪redirect_trace(url)
Full redirect chain trace
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL to follow the full redirect chain for, hop by hop."
}
},
"required": [
"url"
]
}🟢repo_health_check(repo)
GitHub repository health signals
Esquema de entrada
{
"type": "object",
"properties": {
"repo": {
"type": "string",
"description": "GitHub repository in owner/name format, e.g. lodash/lodash."
}
},
"required": [
"repo"
]
}🟢rpc_check(url)
Audit a CometBFT RPC endpoint (health, peers, unsafe-method exposure)
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Base URL of a CometBFT RPC endpoint to audit, e.g. https://rpc.cosmos.network:443."
}
},
"required": [
"url"
]
}⚪security_headers(url)
Audit HTTP security headers
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL to audit HTTP security headers for (CSP, HSTS, X-Frame-Options, etc.)."
}
},
"required": [
"url"
]
}⚪security_scan(url)
Combined security posture report
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL to run a combined security posture check against (headers, reputation, and related signals)."
}
},
"required": [
"url"
]
}⚪subdomains(domain)
Passive subdomain discovery
Esquema de entrada
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Domain to passively discover subdomains for via Certificate Transparency logs, e.g. example.com."
}
},
"required": [
"domain"
]
}🟡supply_chain_check(ecosystem, package)
Combined supply-chain risk check (maintainer-change + vulnerability + typosquat + repo-health)
Esquema de entrada
{
"type": "object",
"properties": {
"ecosystem": {
"type": "string",
"description": "Package ecosystem, e.g. npm. maintainer-change-check only runs for npm."
},
"package": {
"type": "string",
"description": "Package name to check."
}
},
"required": [
"ecosystem",
"package"
]
}⚪text_similarity(texts)
Text similarity via SimHash (1 or 2 texts)
Esquema de entrada
{
"type": "object",
"properties": {
"texts": {
"type": "array",
"description": "1 text (hash only) or 2 texts (compare). Max 200,000 characters each."
}
},
"required": [
"texts"
]
}⚪timestamp(unix, date)
Convert timestamps
Esquema de entrada
{
"type": "object",
"properties": {
"unix": {
"type": "string",
"description": "Unix timestamp (seconds since epoch) to convert to a human-readable date. Provide either unix or date, not both."
},
"date": {
"type": "string",
"description": "Date/time string to convert to a Unix timestamp. Provide either unix or date, not both."
}
},
"required": []
}⚪tx_decode(tx)
Decode a raw signed Cosmos SDK transaction (protobuf)
Esquema de entrada
{
"type": "object",
"properties": {
"tx": {
"type": "string",
"description": "Base64-encoded Cosmos SDK TxRaw protobuf bytes, as returned by a chain's CometBFT RPC /block or /tx_search endpoints."
}
},
"required": [
"tx"
]
}🟢typosquat_check(ecosystem, package)
Package name typosquatting check
Esquema de entrada
{
"type": "object",
"properties": {
"ecosystem": {
"type": "string",
"description": "Package ecosystem, e.g. npm or PyPI."
},
"package": {
"type": "string",
"description": "Package name to check for likely typosquatting of a well-known package in the given ecosystem."
}
},
"required": [
"ecosystem",
"package"
]
}⚪url_clean(url)
Clean a single URL
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL to strip tracking parameters from (utm_*, fbclid, gclid, and similar)."
}
},
"required": [
"url"
]
}🟢url_reputation(url)
Check URL against malware/phishing database
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL to check against known phishing/malware URL databases."
}
},
"required": [
"url"
]
}🟢user_agent(ua)
Parse a User-Agent string
Esquema de entrada
{
"type": "object",
"properties": {
"ua": {
"type": "string",
"description": "User-Agent string to parse. If omitted, the request's own User-Agent header is parsed instead."
}
},
"required": []
}⚪uuid(count)
Generate UUIDs
Esquema de entrada
{
"type": "object",
"properties": {
"count": {
"type": "string",
"description": "Number of UUIDs (v4) to generate. Defaults to 1 if omitted."
}
},
"required": []
}⚪vat_validate(country, vat)
Validate an EU VAT number via the official VIES service
Esquema de entrada
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "2-letter EU country code (EL for Greece, XI for Northern Ireland). Optional if vat includes the prefix."
},
"vat": {
"type": "string",
"description": "VAT number, with or without the country prefix."
}
},
"required": [
"vat"
]
}🟢vulnerability_check(ecosystem, package, version)
Package vulnerability check (OSV.dev)
Esquema de entrada
{
"type": "object",
"properties": {
"ecosystem": {
"type": "string",
"description": "Package ecosystem, e.g. npm, PyPI, Go, crates.io, Maven, RubyGems, Packagist, or NuGet."
},
"package": {
"type": "string",
"description": "Package name to check against OSV.dev for known CVEs."
},
"version": {
"type": "string",
"description": "Omit to check all versions of the package."
}
},
"required": [
"ecosystem",
"package"
]
}⚪whois_lookup(domain)
Domain registration lookup (WHOIS via RDAP)
Esquema de entrada
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Domain to look up registration details for via RDAP, e.g. example.com."
}
},
"required": [
"domain"
]
}Comunidad
Evidencia