Presend MCP Server
REMOTE · PRESEND.PAGES.DEV · SCANNED SEP 20
Free MCP server: 36 security & dev API tools -- WHOIS, DNS, CVE, IP reputation, Cosmos SDK.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 37 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability80
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 1978 tokens (~53/item across 37 items; 37 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 37 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 37 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
How do I install the Presend MCP Server server?
Presend MCP Server is a hosted endpoint at https://presend.pages.dev/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · presend.pages.dev
claude mcp add --transport http presendapp-presend-mcp 'https://presend.pages.dev/mcp'
{
"mcpServers": {
"presendapp-presend-mcp": {
"url": "https://presend.pages.dev/mcp"
}
}
} {
"servers": {
"presendapp-presend-mcp": {
"type": "http",
"url": "https://presend.pages.dev/mcp"
}
}
} [mcp_servers.presendapp-presend-mcp] url = "https://presend.pages.dev/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"presendapp-presend-mcp": {
"type": "remote",
"url": "https://presend.pages.dev/mcp",
"enabled": true
}
}
} openclaw mcp add presendapp-presend-mcp --url 'https://presend.pages.dev/mcp' --transport streamable-http
mcp_servers:
presendapp-presend-mcp:
url: "https://presend.pages.dev/mcp" {
"McpServers": {
"presendapp-presend-mcp": {
"Transport": "http",
"Url": "https://presend.pages.dev/mcp"
}
}
} assistant mcp add presendapp-presend-mcp -t streamable-http -u 'https://presend.pages.dev/mcp'
{
"mcpServers": {
"presendapp-presend-mcp": {
"type": "http",
"url": "https://presend.pages.dev/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 0
- New tool “rpc_check” functional
- New tool “address_risk” functional
- New tool “tx_decode” functional
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Sept 26 0
- New tool “supply_chain_check” functional
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 +7
- Schema quality: 29 → 52 ▼ functional
- Tool coverage: 14% → 100% ▲ functional
- Stability: unverified → 0.03 ▲ functional
- Schema quality: fair → excellent functional
- New tool “maintainer_change_check” functional
- “ai_crawler_check” reworded the description of “domain” cosmetic
- “base64” reworded the description of “action” cosmetic
- “base64” reworded the description of “text” cosmetic
- “color” reworded the description of “hex” cosmetic
- “color” reworded the description of “hsl” cosmetic
- “color” reworded the description of “rgb” cosmetic
- “csv_json” reworded the description of “data” cosmetic
- “csv_json” reworded the description of “direction” cosmetic
- “dns_lookup” reworded the description of “domain” cosmetic
- “email_disposable” reworded the description of “email” cosmetic
- “email_security” reworded the description of “domain” cosmetic
- “email_validate” reworded the description of “email” cosmetic
- “email_verify” reworded the description of “email” cosmetic
- “favicon” reworded the description of “domain” cosmetic
- “ip_reputation” reworded the description of “ip” cosmetic
- “jwt_decode” reworded the description of “token” cosmetic
- “jwt_verify” reworded the description of “token” cosmetic
- “password” reworded the description of “exclude_ambiguous” cosmetic
- “password” reworded the description of “length” cosmetic
- “password” reworded the description of “numbers” cosmetic
- “password” reworded the description of “symbols” cosmetic
- “password” reworded the description of “uppercase” cosmetic
- “password_breach” reworded the description of “password” cosmetic
- “password_check” reworded the description of “check_breach” cosmetic
- “password_check” reworded the description of “password” cosmetic
- “phone_verify” reworded the description of “number” cosmetic
- “redirect_trace” reworded the description of “url” cosmetic
- “repo_health_check” reworded the description of “repo” cosmetic
- “security_headers” reworded the description of “url” cosmetic
- “security_scan” reworded the description of “url” cosmetic
- “subdomains” reworded the description of “domain” cosmetic
- “timestamp” reworded the description of “date” cosmetic
- “timestamp” reworded the description of “unix” cosmetic
- “typosquat_check” reworded the description of “ecosystem” cosmetic
- “typosquat_check” reworded the description of “package” cosmetic
- “url_clean” reworded the description of “url” cosmetic
- “url_reputation” reworded the description of “url” cosmetic
- “user_agent” reworded the description of “ua” cosmetic
- “uuid” reworded the description of “count” cosmetic
- “vulnerability_check” reworded the description of “ecosystem” cosmetic
- “vulnerability_check” reworded the description of “package” cosmetic
- “whois_lookup” reworded the description of “domain” cosmetic
- 12 Sept 26 57
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Probed https://presend.pages.dev/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=presend.pages.dev | CN=WE1,O=Google Trust Services,C=US | 2 Aug 2026 | 31 Oct 2026 | ECDSA 256 | ECDSA-SHA256 | 8ee1501f2fe31f76131fc2f21798295e |
| SANs: presend.pages.dev, *.presend.pages.dev | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of presend.pages.dev. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| dev. | present | 60074 | 8 | Verified |
| pages.dev. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://presend.pages.dev/mcp | Verified | 200 | |
| http (plaintext) | http://presend.pages.dev/mcp | HTTPS enforced | 301 | https://presend.pages.dev/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
address_risk ~59
Check a crypto address against the OFAC sanctions list (EVM)
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | EVM address (0x + 40 hex chars) or Cosmos SDK bech32 address to check against the OFAC SDN sanctions list. |
No output schema declared.
No examples provided.
ai_crawler_check ~50
Check which AI crawlers are allowed by robots.txt
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | Domain to check, e.g. example.com. robots.txt is fetched from https://<domain>/robots.txt. |
No output schema declared.
No examples provided.
base64 ~46
Encode or decode Base64
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Either \"encode\" or \"decode\". |
| text | string | yes | Text to encode, or Base64 string to decode. |
No output schema declared.
No examples provided.
color ~109
Convert color formats
| Name | Type | Req | Description |
|---|---|---|---|
| hex | string | – | Hex color code, e.g. #ff0000 or ff0000. Provide exactly one of hex, rgb, or hsl. |
| hsl | string | – | HSL color, e.g. 0,100%,50%. Provide exactly one of hex, rgb, or hsl. |
| rgb | string | – | RGB color, e.g. 255,0,0. Provide exactly one of hex, rgb, or hsl. |
No output schema declared.
No examples provided.
csv_json ~55
Convert between JSON and CSV (GET)
| Name | Type | Req | Description |
|---|---|---|---|
| data | string | yes | The CSV or JSON text to convert, matching the chosen direction. |
| direction | string | yes | Either \"csv-to-json\" or \"json-to-csv\". |
No output schema declared.
No examples provided.
dns_lookup ~66
DNS record lookup (A, AAAA, CNAME, MX, TXT, NS)
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | Domain to look up, e.g. example.com. |
| type | string | – | Narrow to a single record type. Omit to get all 6 at once. |
No output schema declared.
No examples provided.
email_disposable ~35
Detect disposable email domains
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | Email address to check against a list of known disposable/temporary email domains. |
No output schema declared.
No examples provided.
email_security ~52
Domain email anti-spoofing check (SPF/DMARC/DKIM)
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | Domain to check SPF, DKIM, and DMARC records for, e.g. example.com. |
No output schema declared.
No examples provided.
email_validate ~33
Validate an email address
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | Email address to validate for correct syntax and a resolvable domain. |
No output schema declared.
No examples provided.
email_verify ~34
Combined email verification
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | Email address to run through combined syntax, disposable-domain, and MX-record checks. |
No output schema declared.
No examples provided.
favicon ~34
Fetch a domain's favicon URL
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | Domain to fetch the favicon URL for, e.g. example.com. |
No output schema declared.
No examples provided.
ip ~13
Get caller IP geolocation
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
ip_reputation ~43
IP reputation check (Spamhaus DROP)
| Name | Type | Req | Description |
|---|---|---|---|
| ip | string | yes | IPv4 address to check against the Spamhaus DROP list of known spam/hijacker netblocks. |
No output schema declared.
No examples provided.
jwt_decode ~44
Decode a JWT
| Name | Type | Req | Description |
|---|---|---|---|
| token | string | yes | The JWT to decode. Decodes header and payload only -- does not verify the signature (use /jwt-verify for that). |
No output schema declared.
No examples provided.
jwt_verify ~114
Verify a JWT's cryptographic signature
| Name | Type | Req | Description |
|---|---|---|---|
| jwk | object | – | Public key in JWK format, for RS/PS/ES algorithms. |
| jwks_url | string | – | URL to a JWKS document; the key is matched by the token's "kid" header. |
| secret | string | – | Required for HS256/384/512. |
| token | string | yes | The JWT to verify. Checks the cryptographic signature -- use /jwt-decode if you only need to read the header and payload. |
No output schema declared.
No examples provided.
maintainer_change_check ~47
Detect a suspicious npm package maintainer change
| Name | Type | Req | Description |
|---|---|---|---|
| ecosystem | string | yes | Currently only \"npm\" is supported. |
| package | string | yes | Package name, e.g. lodash |
No output schema declared.
No examples provided.
password ~134
Generate a secure password
| Name | Type | Req | Description |
|---|---|---|---|
| exclude_ambiguous | string | – | Whether to exclude visually ambiguous characters (e.g. 0/O, 1/l). 1 for yes, 0 for no. |
| length | string | – | Desired password length. Defaults to a reasonable secure length if omitted. |
| numbers | string | – | Whether to include numeric digits. 1 for yes, 0 for no. |
| symbols | string | – | Whether to include symbol characters. 1 for yes, 0 for no. |
| uppercase | string | – | Whether to include uppercase letters. 1 for yes, 0 for no. |
No output schema declared.
No examples provided.
password_breach ~57
Check if a password has been breached
| Name | Type | Req | Description |
|---|---|---|---|
| password | string | yes | 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. |
No output schema declared.
No examples provided.
password_check ~66
Combined password strength + breach check
| Name | Type | Req | Description |
|---|---|---|---|
| check_breach | boolean | – | Whether to also check the password against known data-breach corpora via k-anonymity. true or false. |
| password | string | yes | Password to evaluate for strength (length, character variety, common patterns). |
No output schema declared.
No examples provided.
phone_verify ~79
Validate and format a phone number
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | – | ISO 3166-1 alpha-2 country code (e.g. US, FR), used to interpret a number with no leading +. |
| number | string | yes | Phone number to validate and format, ideally in E.164 format (e.g. +14155552671). |
No output schema declared.
No examples provided.
redirect_trace ~32
Full redirect chain trace
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | URL to follow the full redirect chain for, hop by hop. |
No output schema declared.
No examples provided.
repo_health_check ~37
GitHub repository health signals
| Name | Type | Req | Description |
|---|---|---|---|
| repo | string | yes | GitHub repository in owner/name format, e.g. lodash/lodash. |
No output schema declared.
No examples provided.
rpc_check ~56
Audit a CometBFT RPC endpoint (health, peers, unsafe-method exposure)
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | Base URL of a CometBFT RPC endpoint to audit, e.g. https://rpc.cosmos.network:443. |
No output schema declared.
No examples provided.
security_headers ~41
Audit HTTP security headers
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | URL to audit HTTP security headers for (CSP, HSTS, X-Frame-Options, etc.). |
No output schema declared.
No examples provided.
security_scan ~37
Combined security posture report
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | URL to run a combined security posture check against (headers, reputation, and related signals). |
No output schema declared.
No examples provided.
subdomains ~38
Passive subdomain discovery
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | Domain to passively discover subdomains for via Certificate Transparency logs, e.g. example.com. |
No output schema declared.
No examples provided.
supply_chain_check ~62
Combined supply-chain risk check (maintainer-change + vulnerability + typosquat + repo-health)
| Name | Type | Req | Description |
|---|---|---|---|
| ecosystem | string | yes | Package ecosystem, e.g. npm. maintainer-change-check only runs for npm. |
| package | string | yes | Package name to check. |
No output schema declared.
No examples provided.
text_similarity ~48
Text similarity via SimHash (1 or 2 texts)
| Name | Type | Req | Description |
|---|---|---|---|
| texts | array | yes | 1 text (hash only) or 2 texts (compare). Max 200,000 characters each. |
No output schema declared.
No examples provided.
timestamp ~65
Convert timestamps
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | Date/time string to convert to a Unix timestamp. Provide either unix or date, not both. |
| unix | string | – | Unix timestamp (seconds since epoch) to convert to a human-readable date. Provide either unix or date, not both. |
No output schema declared.
No examples provided.
tx_decode ~54
Decode a raw signed Cosmos SDK transaction (protobuf)
| Name | Type | Req | Description |
|---|---|---|---|
| tx | string | yes | Base64-encoded Cosmos SDK TxRaw protobuf bytes, as returned by a chain's CometBFT RPC /block or /tx_search endpoints. |
No output schema declared.
No examples provided.
typosquat_check ~61
Package name typosquatting check
| Name | Type | Req | Description |
|---|---|---|---|
| ecosystem | string | yes | Package ecosystem, e.g. npm or PyPI. |
| package | string | yes | Package name to check for likely typosquatting of a well-known package in the given ecosystem. |
No output schema declared.
No examples provided.
url_clean ~38
Clean a single URL
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | URL to strip tracking parameters from (utm_*, fbclid, gclid, and similar). |
No output schema declared.
No examples provided.
url_reputation ~35
Check URL against malware/phishing database
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | URL to check against known phishing/malware URL databases. |
No output schema declared.
No examples provided.
user_agent ~40
Parse a User-Agent string
| Name | Type | Req | Description |
|---|---|---|---|
| ua | string | – | User-Agent string to parse. If omitted, the request's own User-Agent header is parsed instead. |
No output schema declared.
No examples provided.
uuid ~35
Generate UUIDs
| Name | Type | Req | Description |
|---|---|---|---|
| count | string | – | Number of UUIDs (v4) to generate. Defaults to 1 if omitted. |
No output schema declared.
No examples provided.
vulnerability_check ~87
Package vulnerability check (OSV.dev)
| Name | Type | Req | Description |
|---|---|---|---|
| ecosystem | string | yes | Package ecosystem, e.g. npm, PyPI, Go, crates.io, Maven, RubyGems, Packagist, or NuGet. |
| package | string | yes | Package name to check against OSV.dev for known CVEs. |
| version | string | – | Omit to check all versions of the package. |
No output schema declared.
No examples provided.
whois_lookup ~42
Domain registration lookup (WHOIS via RDAP)
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | Domain to look up registration details for via RDAP, e.g. example.com. |
No output schema declared.
No examples provided.
What is the Presend MCP Server server?
Presend MCP Server is listed in the public MCP registry as io.github.presendapp/presend-mcp. Free MCP server: 36 security & dev API tools -- WHOIS, DNS, CVE, IP reputation, Cosmos SDK. This page covers its hosted endpoint (https://presend.pages.dev/mcp).
Is the Presend MCP Server server safe to use?
Presend MCP Server scores 67 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Presend MCP Server server expose?
Presend MCP Server exposes 37 tools: address_risk, ai_crawler_check, base64, color, csv_json, and 32 more. Their descriptions and schemas cost roughly 1,978 tokens of context every time the server is loaded.
Does the Presend MCP Server server require authentication?
No. We connected to Presend MCP Server without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Presend MCP Server server still maintained?
Presend MCP Server is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.