Skip to main content
Glama
Jambozx

OnlineCyberTools MCP (280+ filterable tools)

by Jambozx

security_proxy_test_single

Test a single proxy server for reachability, speed, anonymity, SSL support, and IP leakage. Returns a full JSON result with live network state.

Instructions

Proxy Tester (Single Proxy). Test ONE proxy server synchronously and return its full result in a single JSON response. Makes outbound HTTP and HTTPS connections through the supplied proxy to measure reachability, speed, anonymity, SSL support, IP leakage, the outgoing IP it presents, and geolocation, so the result reflects live network state and varies between calls. Use security_proxy_parse first to normalise raw input; use security_proxy_test to batch many proxies into one JSON response, or security_proxy_test_stream to stream incremental per-proxy progress for a large list; use this when you only need to check a single proxy. CAPTCHA-gated and rate-limited (anonymous 2/min, 10/hour, 30/day; CAPTCHA after 5/hour).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
proxyYesThe single proxy to test, as a structured record (run security_proxy_parse to produce this shape from a raw line).
originalIpNoYour real public IP, used to score anonymity and detect IP leakage. Optional; defaults to the server-detected client IP when omitted.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
successNoTrue when the test ran (a failed proxy connection still returns success true with status failed).
dataNoPer-proxy test outcome.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed7 schema fields changedv0.5.1
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / properties / options
      Removed value: -{
      -  "properties": {
      -    "concurrency": {
      -      "type": "integer"
      -    },
      -    "retryAttempts": {
      -      "type": "integer"
      -    }
      -  },
      -  "required": [
      -    "concurrency",
      -    "retryAttempts"
      -  ],
      -  "type": "object"
      -}
    • addedInput schema / properties / originalIp
      Added value: +{
      +  "description": "Your real public IP, used to score anonymity and detect IP leakage. Optional; defaults to the server-detected client IP when omitted.",
      +  "format": "ipv4",
      +  "type": "string"
      +}
    • removedInput schema / properties / proxies
      Removed value: -{
      -  "type": "string"
      -}
    • addedInput schema / properties / proxy
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "The single proxy to test, as a structured record (run security_proxy_parse to produce this shape from a raw line).",
      +  "properties": {
      +    "host": {
      +      "description": "Proxy hostname or IP address. Required, non-empty.",
      +      "type": "string"
      +    },
      +    "password": {
      +      "description": "Optional password for proxies that require authentication.",
      +      "type": "string"
      +    },
      +    "port": {
      +      "description": "Proxy TCP port. Required integer in the range 1-65535.",
      +      "maximum": 65535,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    "protocol": {
      +      "description": "Proxy protocol. Optional; defaults to http when omitted.",
      +      "enum": [
      +        "http",
      +        "https",
      +        "socks4",
      +        "socks5"
      +      ],
      +      "type": "string"
      +    },
      +    "username": {
      +      "description": "Optional username for proxies that require authentication.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "host",
      +    "port"
      +  ],
      +  "type": "object"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "proxies",
      -  "options"
      -]New value: +[
      +  "proxy"
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "data": {
      +      "description": "Per-proxy test outcome.",
      +      "properties": {
      +        "anonymity": {
      +          "description": "Anonymity level inferred from forwarded headers and IP leakage.",
      +          "enum": [
      +            "elite",
      +            "anonymous",
      +            "transparent",
      +            "unknown"
      +          ],
      +          "type": "string"
      +        },
      +        "errors": {
      +          "description": "Error messages collected during testing.",
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "headers": {
      +          "description": "Response headers seen through the proxy.",
      +          "type": "object"
      +        },
      +        "ip_leak": {
      +          "description": "True if the original IP leaked through the proxy.",
      +          "type": "boolean"
      +        },
      +        "location": {
      +          "description": "Geolocation of the proxy host, or null.",
      +          "type": [
      +            "object",
      +            "null"
      +          ]
      +        },
      +        "outgoing_ip": {
      +          "description": "Public IP the proxy presents to targets. Present when status is working.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "proxy": {
      +          "description": "The parsed proxy that was tested (host, port, optional protocol/username/password).",
      +          "type": "object"
      +        },
      +        "speed": {
      +          "description": "HTTP response time in milliseconds, or null if the proxy failed.",
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "ssl_support": {
      +          "description": "True if an HTTPS request through the proxy succeeded.",
      +          "type": "boolean"
      +        },
      +        "status": {
      +          "description": "Whether a connection through the proxy succeeded.",
      +          "enum": [
      +            "working",
      +            "failed"
      +          ],
      +          "type": "string"
      +        },
      +        "test_details": {
      +          "description": "Raw per-stage diagnostics (http, https, ip_detection).",
      +          "type": "object"
      +        },
      +        "tested_at": {
      +          "description": "Server timestamp of the test (Y-m-d H:i:s).",
      +          "type": "string"
      +        },
      +        "total_test_time": {
      +          "description": "Total test duration in milliseconds.",
      +          "type": "number"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "success": {
      +      "description": "True when the test ran (a failed proxy connection still returns success true with status failed).",
      +      "type": "boolean"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observedv0.1.0

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true. Description elaborates that it makes outbound connections, measures live network state, varies between calls, and is rate-limited. This adds useful context beyond annotations, though it could mention idempotence explicitly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single paragraph efficiently covers purpose, functionality, usage guidelines, and constraints. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (network testing, live results, rate limits, CAPTCHA), the description addresses all key aspects: what it does, how to use it, limitations, and alternative tools. Output schema existence is noted but not needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema defines 2 parameters with full descriptions. Description adds value by linking proxy parameter to security_proxy_parse and clarifying optional originalIp defaults. No contradictions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool tests a single proxy synchronously, returning full results. It specifies measured attributes (reachability, speed, anonymity, etc.) and differentiates from sibling tools like security_proxy_test, security_proxy_test_stream, and security_proxy_parse.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises to use security_proxy_parse first, and contrasts this tool with batch and streaming alternatives. Also mentions CAPTCHA and rate limits, providing clear when-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Jambozx/onlinecybertools-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server