13 privacy-first network, auth & web tools for AI agents — no API key, 60 req/min free.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Checks whether common service ports are open (TCP connect) on a host. ABUSE GUARD: only a fixed allowlist of common ports may be tested (22 SSH, 80 HTTP, 443 HTTPS, 3306 MySQL, 5432 Postgres, 6379 Redis, 51820 WireGuard). Arbitrary port ranges are rejected. Strictly rate-limited. Intended for diagnosing your own deployments and firewall/NAT traversal — not for scanning third parties.
Hostname or IP to probe. REQUIRED.
Only allowlisted ports accepted.
Checks whether common service ports are open (TCP connect) on a host. ABUSE GUARD: only a fixed allowlist of common ports may be tested (22 SSH, 80 HTTP, 443 HTTPS, 3306 MySQL, 5432 Postgres, 6379 Redis, 51820 WireGuard). Arbitrary port ranges are rejected. Strictly rate-limited. Intended for diagnosing your own deployments and firewall/NAT traversal — not for scanning third parties.
| Argument | Type | Description |
|---|---|---|
| host* | string | Hostname or IP to probe. REQUIRED. |
| ports | array | Only allowlisted ports accepted. |
{
"type": "object",
"required": [
"host"
],
"properties": {
"host": {
"type": "string",
"format": "hostname",
"description": "Hostname or IP to probe. REQUIRED."
},
"ports": {
"type": "array",
"items": {
"enum": [
22,
80,
443,
3306,
5432,
6379,
51820
],
"type": "integer"
},
"default": [
80,
443
],
"maxItems": 7,
"description": "Only allowlisted ports accepted."
}
},
"additionalProperties": false
}Audits a URL's security posture: security headers (HSTS, CSP, X-Frame-Options, Permissions-Policy, etc.), full redirect chain, and TLS certificate health (issuer, expiry, days remaining). Use for pre-deploy checks or auditing any site's hardening.
| Argument | Type | Description |
|---|---|---|
| url* | string | https:// URL to audit. REQUIRED. |
| follow_redirects | boolean | Trace redirect chain up to 10 hops. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "https:// URL to audit. REQUIRED."
},
"follow_redirects": {
"type": "boolean",
"default": true,
"description": "Trace redirect chain up to 10 hops."
}
},
"additionalProperties": false
}Creates a disposable email inbox for sign-ups and verifications. Inbox self-destructs after TTL (default 30 minutes). Pair with skuuy_read_inbox to poll incoming mail and auto-extracted OTP codes.
| Argument | Type | Description |
|---|---|---|
| prefix | string | Optional local-part prefix; random if omitted. |
| ttl_minutes | integer |
{
"type": "object",
"properties": {
"prefix": {
"type": "string",
"pattern": "^[a-z0-9._-]{1,32}$",
"description": "Optional local-part prefix; random if omitted."
},
"ttl_minutes": {
"type": "integer",
"default": 30,
"maximum": 60,
"minimum": 5
}
},
"additionalProperties": false
}Creates an ephemeral webhook-catcher URL (bin.skuuy.com/w/<id>) that records incoming HTTP requests with full headers and body. Point a third-party callback (Stripe, GitHub, your own API) at it while debugging, then inspect with skuuy_get_bin_requests. Auto-deleted after TTL.
| Argument | Type | Description |
|---|---|---|
| ttl_minutes | integer | Bin lifetime. Max 100 captured requests, 1 MB per request body. |
{
"type": "object",
"properties": {
"ttl_minutes": {
"type": "integer",
"default": 60,
"maximum": 1440,
"minimum": 5,
"description": "Bin lifetime. Max 100 captured requests, 1 MB per request body."
}
},
"additionalProperties": false
}Uploads or mirrors an inline file (base64 string or remote fetch URL) into an ephemeral public download URL with automatic TTL expiration. Use this when transferring files, charts, CSVs, logs, or binaries between agents, subagents, or to users without blowing token limits on inline data. Free tier: 25 drops/day.
| Argument | Type | Description |
|---|---|---|
| ttl | string | Time-to-live before automatic deletion. |
| url | string | Public URL of a remote file to fetch and mirror as an ephemeral drop. Either content or url is REQUIRED. |
| content | string | Inline file content: base64-encoded binary string or plain UTF-8 text. Either content or url is REQUIRED. |
| filename | string | Original or target filename, e.g. "report.csv" or "chart.png". |
| mime_type | string | MIME type of the file. If omitted, inferred from magic bytes or filename. |
| burn_after_reading | boolean | If true, automatically deletes the file immediately after the first successful download. |
{
"type": "object",
"properties": {
"ttl": {
"enum": [
"15m",
"1h",
"6h",
"24h",
"3d",
"7d"
],
"type": "string",
"default": "24h",
"description": "Time-to-live before automatic deletion."
},
"url": {
"type": "string",
"format": "uri",
"description": "Public URL of a remote file to fetch and mirror as an ephemeral drop. Either content or url is REQUIRED."
},
"content": {
"type": "string",
"description": "Inline file content: base64-encoded binary string or plain UTF-8 text. Either content or url is REQUIRED."
},
"filename": {
"type": "string",
"description": "Original or target filename, e.g. \"report.csv\" or \"chart.png\"."
},
"mime_type": {
"type": "string",
"description": "MIME type of the file. If omitted, inferred from magic bytes or filename."
},
"burn_after_reading": {
"type": "boolean",
"default": false,
"description": "If true, automatically deletes the file immediately after the first successful download."
}
},
"additionalProperties": false
}Generates a time-based one-time password (RFC 6238 TOTP) from a base32 secret. PRIVACY: the secret is processed ephemerally in memory, never logged or stored. By sending the secret you opt in to server-side generation (the browser vault at 2fa.skuuy.com remains the zero-knowledge alternative). Compatible with Google Authenticator / Authy / Microsoft Authenticator secrets.
| Argument | Type | Description |
|---|---|---|
| digits | integer | |
| period | integer | Time step in seconds. |
| secret* | string | Base32-encoded TOTP secret (spaces/dashes tolerated). REQUIRED. |
| algorithm | string |
{
"type": "object",
"required": [
"secret"
],
"properties": {
"digits": {
"enum": [
6,
8
],
"type": "integer",
"default": 6
},
"period": {
"enum": [
30,
60
],
"type": "integer",
"default": 30,
"description": "Time step in seconds."
},
"secret": {
"type": "string",
"description": "Base32-encoded TOTP secret (spaces/dashes tolerated). REQUIRED."
},
"algorithm": {
"enum": [
"SHA1",
"SHA256",
"SHA512"
],
"type": "string",
"default": "SHA1"
}
},
"additionalProperties": false
}Lists HTTP requests captured by a webhook bin created with skuuy_create_webhook_bin: method, headers, query params, and body (truncated at 1 MB). Poll this after triggering the callback you are debugging (allow ~3-5 seconds for edge KV propagation).
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| bin_id* | string | Bin ID from skuuy_create_webhook_bin. REQUIRED. |
| offset | integer |
{
"type": "object",
"required": [
"bin_id"
],
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1
},
"bin_id": {
"type": "string",
"description": "Bin ID from skuuy_create_webhook_bin. REQUIRED."
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0
}
},
"additionalProperties": false
}Returns the caller's public egress IP address (or caller's connecting IP in hosted mode) with geolocation, ASN/ISP, and datacenter/proxy detection. Use to verify which IP and country your traffic exits from, or to confirm a VPN/proxy is active. No parameters needed.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}One-shot hashing/encoding utilities: SHA-256, SHA-512, Base64 encode/decode, UUID v4, and cryptographically random password generation. (MD5 included for legacy checksum verification only — do not use for security.)
| Argument | Type | Description |
|---|---|---|
| input | string | Input string (not needed for uuid4/password). |
| length | integer | Password length (only for operation=password). |
| operation* | string | REQUIRED. |
{
"type": "object",
"required": [
"operation"
],
"properties": {
"input": {
"type": "string",
"description": "Input string (not needed for uuid4/password)."
},
"length": {
"type": "integer",
"default": 20,
"maximum": 64,
"minimum": 8,
"description": "Password length (only for operation=password)."
},
"operation": {
"enum": [
"sha256",
"sha512",
"md5",
"base64_encode",
"base64_decode",
"uuid4",
"password"
],
"type": "string",
"description": "REQUIRED."
}
},
"additionalProperties": false
}Lists tested-live public proxies (HTTP/HTTPS/SOCKS4/SOCKS5) across 150+ countries, periodically health-checked for latency and anonymity. Filter by protocol, country, anonymity tier (L1 Elite = no forwarding headers, L2 Anonymous, L3 Transparent), and max latency. Each entry includes last_checked so you can judge freshness. Free public proxies are inherently unreliable — always implement retry/fallback.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| offset | integer | |
| country | string | ISO 3166-1 alpha-2 country code, e.g. ID, US, SG. |
| protocol | string | Proxy protocol filter. |
| anonymity | string | L1 Elite (no forwarding headers), L2 Anonymous, L3 Transparent. |
| only_tested | boolean | If true (default), only proxies that passed the last liveness check. |
| max_latency_ms | integer | Only proxies tested faster than this. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0
},
"country": {
"type": "string",
"pattern": "^[A-Z]{2}$",
"description": "ISO 3166-1 alpha-2 country code, e.g. ID, US, SG."
},
"protocol": {
"enum": [
"http",
"https",
"socks4",
"socks5"
],
"type": "string",
"description": "Proxy protocol filter."
},
"anonymity": {
"enum": [
"L1",
"L2",
"L3"
],
"type": "string",
"description": "L1 Elite (no forwarding headers), L2 Anonymous, L3 Transparent."
},
"only_tested": {
"type": "boolean",
"default": true,
"description": "If true (default), only proxies that passed the last liveness check."
},
"max_latency_ms": {
"type": "integer",
"maximum": 10000,
"minimum": 1,
"description": "Only proxies tested faster than this."
}
},
"additionalProperties": false
}Creates an ephemeral, cleanly-rendered shareable text or Markdown paste page with syntax highlighting and zero-script secure viewer. Use this when sharing code snippets, logs, prompt templates, or long markdown reports with users or other agents without formatting loss. Free tier: 25 pastes/day.
| Argument | Type | Description |
|---|---|---|
| ttl | string | Time-to-live before automatic deletion. |
| text* | string | Text or Markdown content to paste. REQUIRED. |
| title | string | Optional title for the paste. |
| format | string | Rendering format. |
| language | string | Optional programming language for syntax highlighting if format is code, e.g. python, json, typescript. |
| burn_after_reading | boolean | If true, automatically deletes the paste immediately after the first view. |
{
"type": "object",
"required": [
"text"
],
"properties": {
"ttl": {
"enum": [
"15m",
"1h",
"6h",
"24h",
"3d",
"7d"
],
"type": "string",
"default": "24h",
"description": "Time-to-live before automatic deletion."
},
"text": {
"type": "string",
"description": "Text or Markdown content to paste. REQUIRED."
},
"title": {
"type": "string",
"description": "Optional title for the paste."
},
"format": {
"enum": [
"markdown",
"text",
"code"
],
"type": "string",
"default": "markdown",
"description": "Rendering format."
},
"language": {
"type": "string",
"description": "Optional programming language for syntax highlighting if format is code, e.g. python, json, typescript."
},
"burn_after_reading": {
"type": "boolean",
"default": false,
"description": "If true, automatically deletes the paste immediately after the first view."
}
},
"additionalProperties": false
}Reads messages in a temp inbox created by skuuy_create_temp_inbox. Each message includes plain-text body and auto-extracted 4-8 digit OTP codes and action links (e.g. password-reset URLs) when detected. Poll this after triggering a verification email.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| offset | integer | |
| inbox_id* | string | ID from skuuy_create_temp_inbox. REQUIRED. |
{
"type": "object",
"required": [
"inbox_id"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0
},
"inbox_id": {
"type": "string",
"description": "ID from skuuy_create_temp_inbox. REQUIRED."
}
},
"additionalProperties": false
}Fetches any public URL and returns clean markdown (ads, cookie banners, nav chrome, and script tags stripped; JS-rendered pages rendered best-effort). Privacy: zero-log, the fetch is not associated with you. Honest scope: soft paywalls and JS pages handled best-effort; hard anti-bot challenges (interactive CAPTCHA) are not bypassed.
| Argument | Type | Description |
|---|---|---|
| url* | string | Page URL to read. REQUIRED. |
| format | string | |
| timeout_s | integer |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Page URL to read. REQUIRED."
},
"format": {
"enum": [
"markdown",
"text"
],
"type": "string",
"default": "markdown"
},
"timeout_s": {
"type": "integer",
"default": 20,
"maximum": 60,
"minimum": 5
}
},
"additionalProperties": false
}Resolves DNS records for a domain. Without 'locations', performs a single edge-resolver lookup. With 'locations', returns a propagation matrix across global edge PoPs (useful to verify DNS changes propagated worldwide). Supports A, AAAA, CNAME, MX, TXT, NS, SOA with DNSSEC validation status.
| Argument | Type | Description |
|---|---|---|
| types | array | |
| domain* | string | Domain to resolve, e.g. example.com. REQUIRED. |
| locations | array | Optional ISO country codes for propagation matrix, e.g. ["ID","US","SG","DE"]. Max 10. |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"types": {
"type": "array",
"items": {
"enum": [
"A",
"AAAA",
"CNAME",
"MX",
"TXT",
"NS",
"SOA"
],
"type": "string"
},
"default": [
"A"
],
"maxItems": 7
},
"domain": {
"type": "string",
"format": "hostname",
"description": "Domain to resolve, e.g. example.com. REQUIRED."
},
"locations": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Z]{2}$"
},
"maxItems": 10,
"description": "Optional ISO country codes for propagation matrix, e.g. [\"ID\",\"US\",\"SG\",\"DE\"]. Max 10."
}
},
"additionalProperties": false
}Sends a read-only JSON-RPC call through the Skuuy Private RPC Relay (rpc.skuuy.com) — zero-log, no API key, no signup. 12 EVM chains: eth, base, arb, op, bnb, polygon, avax, linea, bera, blast, scroll, zksync. Free tier: 2,500 calls/day/IP on the relay (quota is shared when called via the hosted MCP server). Write methods like eth_sendRawTransaction are rejected server-side.
| Argument | Type | Description |
|---|---|---|
| chain* | string | Chain path. One of: eth, base, arb, op, bnb, polygon, avax, linea, bera, blast, scroll, zksync. REQUIRED. |
| method* | string | JSON-RPC method, e.g. eth_blockNumber, eth_chainId, eth_getBalance, eth_call, eth_getTransactionByHash. Read-only methods only. REQUIRED. |
| params | array | Method params as a JSON array, e.g. ["0xabc...","latest"] for eth_getBalance. |
{
"type": "object",
"required": [
"chain",
"method"
],
"properties": {
"chain": {
"type": "string",
"description": "Chain path. One of: eth, base, arb, op, bnb, polygon, avax, linea, bera, blast, scroll, zksync. REQUIRED."
},
"method": {
"type": "string",
"description": "JSON-RPC method, e.g. eth_blockNumber, eth_chainId, eth_getBalance, eth_call, eth_getTransactionByHash. Read-only methods only. REQUIRED."
},
"params": {
"type": "array",
"default": [],
"description": "Method params as a JSON array, e.g. [\"0xabc...\",\"latest\"] for eth_getBalance."
}
},
"additionalProperties": false
}Use this when you need a free public REST API for a task — weather data, crypto prices, geocoding, news, AI models, etc. Searches Skuuy's live directory of 41 health-checked public APIs (no API key required for most). Returns the API name, what it does, its category, auth requirement, docs link, and a testable sample endpoint you can call immediately. Results are verified alive by continuous edge health probes.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results to return. |
| query | string | Keywords, e.g. 'weather', 'crypto prices', 'geocoding', 'news'. |
| category | string | Filter by category domain. |
| online_only | boolean | Only return APIs currently verified online (excludes degraded/offline). |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1,
"description": "Max results to return."
},
"query": {
"type": "string",
"description": "Keywords, e.g. 'weather', 'crypto prices', 'geocoding', 'news'."
},
"category": {
"enum": [
"ai",
"development",
"weather",
"crypto",
"finance",
"geocoding",
"animals",
"anime",
"entertainment",
"food",
"news",
"science",
"social",
"sports",
"transportation"
],
"type": "string",
"description": "Filter by category domain."
},
"online_only": {
"type": "boolean",
"default": true,
"description": "Only return APIs currently verified online (excludes degraded/offline)."
}
},
"additionalProperties": false
}