Skip to main content
Glama
bolivian-peru

@proxies-sx/mcp-server

@proxies-sx/mcp-server

npm version License: MIT

MCP (Model Context Protocol) server for AI agents to manage mobile proxy infrastructure on Proxies.sx.

This server enables AI assistants like Claude to manage your proxy ports, rotate IPs, purchase resources, and more through natural language commands. Learn more about MCP integration and x402 autonomous payments.

Two Authentication Modes

1. API Key Mode (Account Required)

Use your Proxies.sx account and API key to manage existing subscriptions.

2. x402 Payment Mode (No Account Needed)

AI agents can autonomously purchase proxies using USDC on Base or Solana networks - no account required! See our x402 documentation for details.


Related MCP server: Fluora MCP

Features

  • Account Management: Check balance, usage, and resource allocation

  • Port Management: Create, configure, delete proxy ports

  • IP Rotation: Manual and automatic rotation with customizable settings

  • Status Monitoring: Check port status, IP addresses, latency, speed

  • Billing: Purchase slots and traffic using account balance

  • Crypto Payments: Top up balance with BTC, ETH, USDT, and 50+ cryptocurrencies

  • x402 Autonomous Payments: AI agents pay with USDC - no account needed

  • Reference Data: List available countries, carriers, and cities


Installation

The easiest way to use this MCP server - no installation required:

npx @proxies-sx/mcp-server

Option 2: npm Install (Global)

Install globally to use the proxies-sx-mcp command anywhere:

npm install -g @proxies-sx/mcp-server

After installation, run with:

proxies-sx-mcp

Option 3: npm Install (Local Project)

Add to your project as a dependency:

npm install @proxies-sx/mcp-server

Then run with:

npx proxies-sx-mcp

Option 4: From Source

git clone https://github.com/bolivian-peru/proxies-sx-mcp-server.git
cd mcp-server
npm install
npm run build
npm start

What Gets Installed

When you run npm install @proxies-sx/mcp-server:

@proxies-sx/mcp-server (904 KB)
├── @modelcontextprotocol/sdk  (MCP protocol implementation)
├── viem                       (Ethereum/Base wallet operations)
└── zod                        (Input validation)

Total: ~88 MB with all dependencies

Package contents:

  • dist/ - Compiled JavaScript + TypeScript definitions

  • README.md - Documentation

  • LICENSE - MIT License

  • llm.txt - AI agent discovery document


Verify Installation

After installing, verify the package works:

# Check version
npm list @proxies-sx/mcp-server

# Test loading (should show "70 tools available" - the API-key set; 89 total with the 19 x402 wallet tools)
node -e "const t = require('@proxies-sx/mcp-server/dist/tools'); console.log(t.allToolDefinitions.length + ' tools available')"

Configuration

Environment Variables

Variable

Mode

Required

Description

PROXIES_API_KEY

API Key

Yes

Your Proxies.sx API key

AGENT_WALLET_KEY

x402

Yes

Private key for USDC payments (Base or Solana)

PROXIES_API_URL

Both

No

Custom API URL (default: https://api.proxies.sx/v1)

Mode 1: API Key Authentication

  1. Log in to client.proxies.sx

  2. Go to Account Settings

  3. Create a new API key with scopes:

    • ports:read, ports:write, ports:rotate - Port management

    • billing:read, billing:write - Purchases

    • account:read - Account info

    • traffic:read - Usage data

Mode 2: x402 Autonomous Payments

No account needed! The agent uses a crypto wallet to pay directly:

  1. Create a wallet on Base or Solana network

  2. Fund it with USDC (minimum $0.40 for 0.1 GB, or $4.00 for 1 GB)

  3. Add a small amount of ETH (Base) or SOL (Solana) for gas fees (~$0.01)

  4. Set AGENT_WALLET_KEY to your private key


Usage with Claude Desktop

API Key Mode

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "proxies-sx": {
      "command": "npx",
      "args": ["-y", "@proxies-sx/mcp-server"],
      "env": {
        "PROXIES_API_KEY": "psx_your_api_key_here"
      }
    }
  }
}

x402 Payment Mode (Autonomous)

{
  "mcpServers": {
    "proxies-sx": {
      "command": "npx",
      "args": ["-y", "@proxies-sx/mcp-server"],
      "env": {
        "AGENT_WALLET_KEY": "0x_your_private_key_here"
      }
    }
  }
}

Then restart Claude Desktop.


x402 Protocol - Autonomous AI Payments

The x402 protocol enables machine-to-machine payments using HTTP 402 Payment Required.

How It Works

┌─────────────────────────────────────────────────────────────────────────────┐
│                          x402 PAYMENT FLOW                                  │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│   1. Agent requests proxy                                                   │
│   ┌─────────────────────┐       ┌──────────────────────────────────────┐   │
│   │ MCP Server          │──────▶│ api.proxies.sx/v1/x402/proxy        │   │
│   │ @proxies-sx/mcp     │       │                                      │   │
│   └─────────────────────┘       │  Returns 402 Payment Required        │   │
│                                 │  with payment requirements           │   │
│                                 └──────────────────────────────────────┘   │
│                                              │                              │
│   2. Agent signs USDC payment                ▼                              │
│   ┌─────────────────────┐       ┌──────────────────────────────────────┐   │
│   │ Agent Wallet (viem) │       │ Payment Requirements:                │   │
│   │ Signs ERC-20 permit │       │ - Amount: $4.00 USDC (1GB)    │   │
│   └──────────┬──────────┘       │ - Network: Base or Solana            │   │
│              │                  │ - Recipient: Proxies.sx wallet       │   │
│              ▼                  └──────────────────────────────────────┘   │
│   3. Payment settled via x402.org facilitator                              │
│   ┌─────────────────────┐       ┌──────────────────────────────────────┐   │
│   │ Retry request with  │──────▶│ Payment verified & settled on-chain │   │
│   │ payment signature   │       │ (Base L2 or Solana)                  │   │
│   └──────────┬──────────┘       └──────────────────────────────────────┘   │
│              │                                                              │
│              ▼                                                              │
│   4. Proxy credentials returned                                            │
│   ┌─────────────────────────────────────────────────────────────────────┐   │
│   │ PROXY CREDENTIALS                                                    │   │
│   │ - HTTP: http://user:pass@server:8500                                │   │
│   │ - SOCKS5: socks5://user:pass@server:5500                            │   │
│   │ - Session token for management                                      │   │
│   │ - Rotation URL for IP changes                                       │   │
│   └─────────────────────────────────────────────────────────────────────┘   │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

x402 Pricing

Duration is always FREE — you only pay for traffic.

Tier

Port Price

Traffic Price

Min Purchase

Shared

FREE

$4.00/GB

0.1 GB ($0.40)

Available countries (live, measured against /v1/x402/countries): US, GB, FR, NL, PL, GE (Georgia, not Germany — same 6 countries as the Pool Gateway mbl tier; dynamic based on device availability)

Supported Networks

Network

USDC Address

Recipient

Base

0x833589fcd6edb6e08f4c7c32d4f71b54bda02913

0xF8cD900794245fc36CBE65be9afc23CDF5103042

Solana

EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v

6eUdVwsPArTxwVqEARYGCh4S2qwW2zCs7jSEDRpxydnv

x402 Tools (Detailed)

Tool

What It Does

x402_get_proxy

Purchase a mobile proxy automatically. Sends USDC on-chain, waits for confirmation, returns proxy credentials (host, port, username, password, session token, rotation token). Specify country and traffic in GB.

x402_get_pricing

Get current pricing — $4/GB. Shows minimum purchase (0.1 GB), duration rules, and available countries with live device counts.

x402_list_sessions

List all active proxy sessions for your wallet. Shows session ID, traffic used/remaining, expiration, port count, and status.

x402_check_session

Get detailed session info by ID — includes all port credentials, traffic stats, and expiration. Use this to retrieve your proxy details.

x402_wallet_balance

Check your USDC balance on Base or Solana. Shows available funds and whether you have enough for a purchase.

x402_rotate_ip

Rotate to a new IP address using the rotation token from your proxy purchase. Free, no payment needed. Returns the new IP.

x402_list_countries

List countries where proxies are available with live device counts. Currently: US, GB, FR, NL, PL, GE (Georgia).

x402_list_cities

List available cities within a specific country.

x402_list_carriers

List mobile carriers available in a country (e.g., AT&T, Verizon, T-Mobile for US).

x402_extend_session

Extend a session's duration for FREE (duration-only top-up, no USDC sent). Accepts a session ID or the x402s_ session token. All active ports in the session are extended. For more traffic (paid, $4/GB) use topup_x402_session.

x402_service_status

Health check — verifies the x402 service is running and accepting payments.

x402 Pool Gateway Tools (Detailed)

Wallet-only Pool Gateway access: pay USDC, get ONE credential that reaches every country in your tier via the username DSL (e.g. psx_xxx-mbl-us, -mbl-pl, ...). HTTP proxy on port 7000. v1 tier is mbl ($4/GB, metered, production ProxySmart modems, 6 countries: US/GB/FR/NL/PL/GE).

Tool

What It Does

x402_get_pool_access

Buy Pool Gateway access with USDC (Base or Solana). Returns one credential valid for every country in the tier, plus a session token (cached locally) for the manage tools below.

x402_pool_credit

Check remaining pool credit (allocated/used/remaining GB, enabled state, expiry). Uses the cached session token if none is provided.

x402_pool_topup

Add GB (paid, $4/GB) and/or duration (FREE) to a pool session. Pays USDC automatically when traffic is added.

x402_pool_regenerate

Rotate the pool credential secret (new password, same username). Use if the credential leaked.

x402_pool_connection

Re-emit the full pool proxy credentials (host, port, username, password) for recovery.

x402_pool_usage

Get per-day bandwidth usage (MB) for a pool session over the last N days (default 30, max 365), gap-filled with zeroes.

x402_pool_pricing

Get the Pool Gateway tier catalog: tiers, $/GB, min purchase, networks, and the username DSL. No auth or wallet needed.

get_pool_stock

Public Pool Gateway stock: online endpoint counts per country (no IPs). No auth needed.


API Key Mode Tools

Account Tools

Tool

Description

get_account_summary

Get account balance and resource usage

get_account_usage

Get detailed traffic breakdown

Port Tools

Tool

Description

list_ports

List all proxy ports with filters

get_port

Get detailed port information

create_port

Create a new proxy port

delete_port

Delete a proxy port

update_port_credentials

Update port login/password

update_os_fingerprint

Set OS fingerprint spoofing

reconfigure_port

Change port location

Status Tools

Tool

Description

get_port_status

Check if port is online

get_port_ip

Get current public IP

ping_port

Test connectivity and latency

speed_test_port

Measure download/upload speed

Rotation Tools

Tool

Description

rotate_port

Rotate to new IP

check_rotation_availability

Check if rotation is available

configure_auto_rotation

Set up automatic rotation

get_rotation_history

View rotation history

get_rotation_token_url

Get public rotation URL

Billing Tools

Tool

Description

get_pricing

Get current pricing with volume discounts and slot tiers

calculate_price

Calculate price for a specific GB amount with volume discounts

purchase_shared_traffic

Buy shared traffic in GB ($4/GB base). Auto-upgrades slot tier!

Crypto Payment Tools

Tool

Description

create_crypto_payment

Create crypto payment order ($10-$1000)

check_crypto_payment_status

Check payment status by order ID

get_pending_crypto_payments

List all pending payments

cancel_crypto_payment

Cancel a pending payment

get_crypto_payment_info

Supported currencies info

Supported: BTC, ETH, USDT, USDC, LTC, DOGE, TRX, XRP, ADA, SOL, MATIC, AVAX, DOT, LINK, UNI, SHIB, and 50+ more.

Reference Tools

Tool

Description

list_available_countries

List available countries with live device counts

Utility Tools

Tool

Description

get_proxy_connection_string

Generate connection string

get_all_proxy_formats

Get all proxy formats

get_os_fingerprint_options

List OS fingerprint options

Support Tools

Tool

Description

create_support_ticket

Submit a ticket to contact human support

list_my_tickets

List all your support tickets

get_ticket

Get ticket details with conversation history

reply_to_ticket

Reply to an existing ticket

close_ticket

Close a resolved ticket

Pool Gateway Tools

For resellers and gateway users: check stock, build proxy URLs with the username token DSL, manage your own pool credentials, and manage Pool Access Keys (pak_). Minting/listing/topping-up/updating/regenerating/revealing/deleting keys and reading their usage/audit requires a reseller-role API key.

Tool

Description

pool_get_stock

Live Pool Gateway availability - online endpoint counts per country (no auth needed)

pool_build_proxy_url

Build a ready-to-use gateway proxy URL from a reseller proxyUsername + a customer pak_ key via the username token DSL (pool/country/carrier/city/iptype/sid/rot). Pure local builder, no network call. ipType (mobile/residential/datacenter) hard-filters the peer pool to one exit class — mbl is mobile-only by construction so ipType only matters for peer/any/best

pool_list_sessions

List live Pool Gateway sessions (traffic stats, exit IP, country). Pass pakId to scope to one customer

pool_close_session

Close one live gateway session by its sessionKey

pool_get_my_credentials

Get your own pool proxyUsername + ready-to-use HTTP/SOCKS5 connect strings

pool_get_my_stats

Get your own pool usage (traffic, active connections) + aggregated pool health

pool_set_proxy_password

Set or update your proxy authentication password (separate from your account login password, min 6 chars)

pool_mint_key

Mint a new Pool Access Key (pak_) for a customer. trafficCapGB null = unlimited within your pool; qualityTier: "safe" routes only premium (mbl) stock

pool_list_keys

List your Pool Access Keys (masked)

pool_update_key

Update a key's label/enabled/trafficCapGB/expiresAt/qualityTier (pass null to clear cap/expiry)

pool_topup_key

Top up a pak_ key: add traffic cap and/or extend expiry (atomic)

pool_regenerate_key

Rotate a key's secret pak_ value - the old value stops working immediately

pool_reveal_key

Reveal the full pak_ secret for a key (audit-logged as a "reveal" event)

pool_delete_key

Delete a Pool Access Key

pool_key_usage

Daily in/out MB bandwidth time-series for one key (default 30 days, max 365)

pool_key_audit

Forensic audit log for one key: create/update/topup/regenerate/reveal/delete/gateway auth events

Ops Tools (Admin)

For internal ops agents. These require an admin API key with ops:* scopes - they do nothing with a regular customer key. All write actions are capped, rate-limited, audit-logged, and require a reason; large credits go to human approval.

Tool

Description

ops_get_user

Customer 360 view: balance, gateway usage, ports, farmer note

ops_get_user_audit

Recent ops-agent actions taken on a user

ops_reconcile_payments

Read-only Stripe-vs-DB payment view for a user

ops_list_tickets

List support tickets (admin view, optional status filter)

ops_reply_ticket

Post an admin reply to a ticket, optionally emailing the customer

ops_set_slots

Set a user's shared/private port slot limits (capped)

ops_credit_balance

Credit a user's balance in USD (capped per-action + daily budget)

ops_email_user

Send a personalized email to one user (hourly rate-capped)

ops_list_farmers

List farmer AI notes (shared operational memory)

ops_get_farmer

Farmer fleet funnel (total/online/verified/listed/routable) + AI note

ops_write_farmer_note

Write/append a farmer AI note shared with future AI sessions

X402 Session Management Tools

For agents who purchase via x402 protocol. Use X-Session-Token header for authentication.

Tool

What It Does

get_x402_session

Retrieve full session details — all port credentials (host, http_port, socks_port, username, password), traffic used/remaining, expiration, active status. Uses your X-Session-Token from the purchase response.

list_x402_ports

List every port in your session with online/offline status, current IP, and traffic consumed per port.

get_x402_port_status

Check a single port's detailed status — online/offline, current public IP, traffic used, device info, and expiration time.

get_sessions_by_wallet

List all sessions (active and expired) for your wallet address. Useful for recovering session tokens or reviewing history.

get_session_status

Quick status check — is the session active, how much traffic remains, when does it expire.

replace_x402_port

Replace an offline or broken port with a new one on a different device. Completely free, max 3 replacements per session. The failed device is excluded from selection. Use when your proxy stops working.

calculate_x402_topup

Preview the cost of extending your session. Specify addTrafficGB and/or addDurationSeconds. Duration-only extensions are free ($0). Traffic costs $4/GB.

topup_x402_session

Pay USDC to extend your session with more traffic or duration. Requires a new on-chain payment. All active ports in the session are automatically extended. Replay-protected (each tx hash can only be used once).


Peer Marketplace — Earn USDC

AI agents can earn USDC by sharing their internet bandwidth as peer proxy nodes.

Two prices, never confuse them. Everywhere above, $4/GB is the SELL price — what you PAY to use a proxy. The rates below are the PAYOUT — what you EARN for sharing bandwidth. They are not the same number and should never be conflated.

Earnings by IP Type (PAYOUT — what you earn for sharing, net, no platform fee):

  • Mobile IPs: $1.80/GB (AT&T, Verizon, T-Mobile, Vodafone)

  • Residential IPs: $1.20/GB (Comcast, Spectrum, Cox)

  • Datacenter IPs: $0.30/GB (AWS, GCP, Azure, VPNs)

Payout rates are configurable in admin settings (system_settings peer_rates) — these are current defaults, not a contractual guarantee. Check the live earningsPerGB field in the registration response for the rate at registration time.

How it works:

  1. Register: POST https://api.proxies.sx/v1/peer/agents/register

  2. Get JWT token + device ID

  3. Connect to WebSocket relay: wss://relay.proxies.sx with Sec-WebSocket-Protocol: token.{JWT} header

  4. Route proxy_request messages through your connection

  5. Respond to heartbeat with heartbeat_ack

  6. Earn automatically per GB routed

Minimum payout: $5.00 USDC on Solana Full docs: https://agents.proxies.sx/peer/skill.md


Example Conversations

x402: Get a Proxy (Autonomous)

User: I need a US mobile proxy for web scraping

Claude: [Uses x402_get_pricing to calculate cost]
Claude: [Uses x402_get_proxy with country=US, duration=3600, traffic=1]

I've purchased a US mobile proxy for 1 hour with 1GB traffic.
Cost: $4.00 USDC (paid from your agent wallet on Base)

Connection Details:
  HTTP: http://x402_abc123:xyz789@tmcal1.ddns.net:8500
  SOCKS5: socks5://x402_abc123:xyz789@tmcal1.ddns.net:5500

Session ID: 695abc123...
Expires: in 1 hour

Check Account Status

User: What's my account status?
Claude: [Uses get_account_summary]
Your account balance is $45.00. You have 5/10 shared slots used and 2.5/10 GB traffic remaining.

Create a Proxy Port

User: Create a new shared proxy in Poland
Claude: [Uses list_available_countries to find Poland's ID]
Claude: [Uses create_port with countryId and type=shared]
Port created! Here are your connection details:
  HTTP: http://user123:pass456@proxy.example.com:8080
  SOCKS5: socks5://user123:pass456@proxy.example.com:1080

Rotate IP

User: Rotate the IP on my main proxy
Claude: [Uses list_ports to find the port]
Claude: [Uses rotate_port]
IP rotated successfully! New IP: 185.123.xxx.xxx

Top Up Balance with Crypto

User: I need to add $50 to my balance using crypto
Claude: [Uses create_crypto_payment with amount=50]
I've created a crypto payment order for $50. Here's your payment link:
https://pay.coingate.com/invoice/abc123

Supported: BTC, ETH, USDT, and 50+ more cryptocurrencies.
Balance will be credited automatically once confirmed.

x402: Check Session Status

User: How much traffic have I used on my session?
Claude: [Uses get_x402_session with sessionToken]

Your x402 session status:
  Status: Active
  Traffic: 0.35/1.0 GB used (35%)
  Expires: in 45 minutes

Ports:
  - Proxy US-1: http://x402_abc:xyz@tmcal1.ddns.net:8500
    Rotation URL: https://api.proxies.sx/rotate/tok_...

Contact Human Support

User: I'm having issues with my proxy not connecting, can you open a ticket?
Claude: [Uses create_support_ticket]

I've created a support ticket for you:
  Ticket ID: 695abc...
  Subject: Proxy Connection Issues
  Status: Open

The Proxies.sx support team will respond as soon as possible.
You can use `get_ticket` to check for updates.

API Endpoints

x402 Endpoints (No Auth Required)

Method

Endpoint

Description

GET/POST

/v1/x402/health

Service health check

GET/POST

/v1/x402/pricing

Get pricing info

GET/POST

/v1/x402/calculate

Calculate cost

GET/POST

/v1/x402/proxy

Purchase proxy (402 flow)

GET

/v1/x402/session/:id

Get session by ID

GET

/v1/x402/session/tx/:txHash

Get session by tx hash

GET

/v1/x402/sessions/wallet/:wallet

List sessions by wallet

GET

/v1/x402/sessions/:id/status

Get session status

x402 Session Management (Session Token Auth)

Use X-Session-Token header with the token from purchase response:

Method

Endpoint

Description

GET

/v1/x402/manage/session

Get session details + ports

GET

/v1/x402/manage/session/credit

Check remaining credit

GET

/v1/x402/manage/ports

List all ports in session

GET

/v1/x402/manage/ports/:id/status

Get detailed port status

POST

/v1/x402/manage/ports/recreate

Recreate deleted port

POST

/v1/x402/manage/ports/replace

Replace offline port (free, max 3)

GET

/v1/x402/manage/session/topup/calculate

Preview top-up cost

POST

/v1/x402/manage/session/topup

Pay to extend session

API Key Endpoints

Method

Endpoint

Description

GET

/v1/ports

List all ports

POST

/v1/ports

Create port

GET

/v1/ports/:id

Get port details

DELETE

/v1/ports/:id

Delete port

POST

/v1/ports/:id/rotate

Rotate port

GET

/v1/account

Get account info

Full API documentation: proxies.sx/docs


Development

# Install dependencies
npm install

# Run in development mode
npm run dev

# Build for production
npm run build

# Run tests
npm test

# Lint code
npm run lint

Proxies.sx

Contact & Support

x402 Protocol

  • x402 Specification: x402.org - HTTP 402 payment protocol

  • x402 Registry: x402scan.com - Discover x402 services


Troubleshooting

"Authentication required" Error

This is expected behavior when no credentials are provided:

Failed to start MCP server: Authentication required. Set one of:
  Mode 1 (API Key):
    - PROXIES_API_KEY: Your API key from https://client.proxies.sx/account
  Mode 2 (x402 Wallet):
    - AGENT_WALLET_KEY: Your wallet private key for USDC payments

Solution: Provide authentication via environment variable:

# With API key
PROXIES_API_KEY=psx_your_key npx @proxies-sx/mcp-server

# With x402 wallet
AGENT_WALLET_KEY=0x_your_private_key npx @proxies-sx/mcp-server

Node.js ExperimentalWarning

If you see this warning on Node.js 23+:

ExperimentalWarning: CommonJS module ... is loading ES Module ... using require()

This is harmless - it's a Node.js warning about ESM/CommonJS interop, not an error. To suppress:

NODE_NO_WARNINGS=1 npx @proxies-sx/mcp-server

npm Install Fails

If npm install fails:

# Clear npm cache
npm cache clean --force

# Try installing again
npm install @proxies-sx/mcp-server

# Or use a specific registry
npm install @proxies-sx/mcp-server --registry https://registry.npmjs.org

Package Not Found

If you get "package not found" error:

# Check if package exists
npm view @proxies-sx/mcp-server

# Update npm
npm install -g npm@latest

# Try again
npm install @proxies-sx/mcp-server

Verify Package Integrity

# Check installed version
npm list @proxies-sx/mcp-server

# Verify package loads correctly
node -e "require('@proxies-sx/mcp-server/dist/tools')" && echo "OK"

# Check tool count (should be 70 - the API-key set; x402 wallet tools add 19 more for 89 total)
node -e "console.log(require('@proxies-sx/mcp-server/dist/tools').allToolDefinitions.length)"

Claude Desktop Not Detecting MCP Server

  1. Ensure config file is in correct location:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  2. Verify JSON syntax is valid

  3. Restart Claude Desktop completely (quit and reopen)

  4. Check Claude Desktop logs for errors


About Proxies.sx

Proxies.sx provides premium mobile 4G/5G proxy infrastructure for web scraping, ad verification, social media automation, and more. Our MCP server enables seamless integration with AI assistants, and our x402 protocol support allows AI agents to autonomously purchase and manage proxies without human intervention.


License

MIT License - see LICENSE file.


Built with love by Proxies.sx

Available Tools

44 tools
calculate_priceA

Calculate the price for a specific GB amount with volume discounts applied

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount of traffic in GB to calculate price for
isPrivateNotrue for private traffic ($8/GB base), false for shared ($4/GB base)

TDQS

A3.8/5.0
Behavior3/5

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

Mentions volume discounts, but no annotation coverage; could disclose read-only nature or error handling. Basic transparency but room for improvement.

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?

One concise sentence with no extraneous information; front-loaded with the core action.

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

Completeness4/5

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

Adequately covers the tool's purpose for a simple 2-param tool, but missing detail on return value format (e.g., number vs. object, currency).

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

Parameters3/5

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

Schema coverage is 100% with clear parameter descriptions. The description adds 'volume discounts applied' but doesn't add significant meaning beyond schema.

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 verb (calculate), resource (price), and specific scope (GB amount with volume discounts). It distinguishes from siblings like purchase_private_traffic and get_pricing.

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

Usage Guidelines3/5

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

Usage is implied (calculating price before purchase), but no explicit guidance on when to use vs. alternatives like get_pricing, or prerequisites.

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

calculate_x402_topupA

Calculate the cost to top up a session with additional traffic and/or duration. Duration extensions are free, traffic costs $4/GB (shared) or $8/GB (private).

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionTokenYesSession token from purchase response
addTrafficGBNoAdditional traffic in GB (min 0.1)
addDurationSecondsNoAdditional duration in seconds (min 3600 = 1 hour)

TDQS

A3.7/5.0
Behavior3/5

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

Discloses pricing model (free duration, $4/$8 per GB). Does not explicitly state read-only nature, return format, or error conditions. Without annotations, more transparency would be beneficial.

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?

Two sentences, zero waste. Front-loaded with purpose, efficient delivery of key pricing detail.

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

Completeness3/5

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

Lacks output format description, which is crucial for a calculation tool. Also missing prerequisites and error handling. Adequate but not fully comprehensive for use without additional context.

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

Parameters3/5

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

Schema already covers parameters with descriptions (100% coverage). Description adds pricing context but does not deepen understanding of individual parameters beyond schema.

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?

Description clearly states it calculates top-up cost for additional traffic/duration. Distinct from sibling tools like topup_x402_session (which likely performs the top-up) and calculate_price (for new purchases).

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

Usage Guidelines3/5

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

Implied usage: use before performing actual top-up with topup_x402_session. However, no explicit when-to-use, when-not-to-use, or mention of alternatives. Agent must infer from context.

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

cancel_crypto_paymentB

Cancel a pending crypto payment order. Only orders with "new" status (awaiting payment) can be canceled.

ParametersJSON Schema
NameRequiredDescriptionDefault
orderIdYesThe order ID to cancel

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided; description only states the valid status for cancellation. Does not disclose irreversible nature, authentication needs, rate limits, or what happens if status is not 'new'. This is minimal behavioral context.

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?

One sentence, front-loaded with purpose and condition. No redundant information, perfectly concise.

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

Completeness4/5

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

For a simple tool with one parameter and no output schema, the description covers the essential behavior and constraint. Lacks error handling or return value info, but is adequate given low complexity.

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

Parameters3/5

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

Schema coverage is 100% with a description for the single parameter. The tool description adds no extra meaning beyond the schema, so it meets the baseline without additional value.

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

Purpose4/5

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

Description clearly states the verb (cancel) and resource (pending crypto payment order), and specifies a status condition. It implicitly differentiates from siblings like create_crypto_payment and check_crypto_payment_status, but does not explicitly mention alternatives.

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

Usage Guidelines3/5

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

Provides a specific condition for usage (only orders with 'new' status can be canceled), but does not include when not to use or reference alternative tools like check_crypto_payment_status for verifying order state.

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

check_crypto_payment_statusB

Check the status of a crypto payment order

ParametersJSON Schema
NameRequiredDescriptionDefault
orderIdYesThe order ID to check (e.g., topup_abc123_1702134567890)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must convey behavioral traits. It states only 'Check the status', omitting what statuses are returned, whether the operation is read-only, or any side effects. The lack of detail is a significant gap.

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?

The description is a single concise sentence that directly states the tool's purpose with no extraneous content.

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

Completeness3/5

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

For a simple one-parameter tool with no output schema, the description is minimally adequate but fails to explain what 'status' entails (e.g., possible values). Given sibling tools exist, more context would help.

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

Parameters3/5

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

Schema coverage is 100% with a description for orderId that includes an example. The description adds no further meaning beyond the schema, so baseline 3 is appropriate.

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 a specific verb ('Check') and resource ('crypto payment order'), and distinguishes from sibling tools like create_crypto_payment, cancel_crypto_payment, and get_crypto_payment_info by focusing on status checking.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as get_crypto_payment_info or get_pending_crypto_payments. It does not mention conditions, prerequisites, or exclusions.

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

check_rotation_availabilityA

Check if a port can be rotated right now (cooldown, circuit breaker status)

ParametersJSON Schema
NameRequiredDescriptionDefault
portIdYesThe port ID to check

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool checks cooldown and circuit breaker status, but does not describe the return value (e.g., boolean, object with details), side effects, or required permissions. For a simple read-only check, the description is adequate but not thorough.

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?

The description is a single, clear sentence with no unnecessary words. It is front-loaded with the core purpose and includes specific details (cooldown, circuit breaker status) in parentheses.

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

Completeness3/5

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

The tool is simple with one parameter and no output schema, but the description does not mention what the output looks like (e.g., returns a boolean or a status object). This omission leaves the agent guessing about the return format, which is a gap for a check-style tool.

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

Parameters3/5

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

The single parameter `portId` is described in the schema as 'The port ID to check', and the description does not add additional meaning beyond that. With 100% schema coverage, a baseline score of 3 is appropriate.

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 action ('Check') and the resource ('port rotation availability'), and specifies what is checked ('cooldown, circuit breaker status'). It effectively distinguishes from sibling tools like `rotate_port` (which performs the rotation) and `get_rotation_history` (which shows past rotations).

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

Usage Guidelines3/5

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

The description implies usage (check before rotating) but does not explicitly state when to use this tool versus alternatives, nor does it provide conditions for when not to use it. No direct guidance on prerequisites or follow-up actions.

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

close_ticketA

Close a support ticket when your issue is resolved

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYesThe ticket ID to close

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only states the action without disclosing behavioral traits such as irreversibility, required permissions, or side effects.

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?

The description is a single, focused sentence with no wasted words, front-loading the key action and condition.

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

Completeness3/5

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

While the tool is simple, the description lacks information about return values or expected outcomes, which would help an agent verify success.

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

Parameters3/5

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

Schema coverage is 100% and the parameter description in the schema is clear; the tool description adds no additional meaning beyond the schema.

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 verb 'Close' and the resource 'support ticket', distinguishing it from sibling tools like create, get, list, and reply.

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

Usage Guidelines3/5

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

The description provides a context 'when your issue is resolved' but does not explicitly state when not to use the tool or mention alternatives, leaving some ambiguity.

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

configure_auto_rotationB

Configure automatic rotation settings for a port

ParametersJSON Schema
NameRequiredDescriptionDefault
portIdYesThe port ID to configure
enabledYesEnable or disable auto-rotation
intervalMinutesNoRotation interval in minutes (5-1440)
matchCarrierNoOnly rotate to devices with the same carrier
matchCityNoOnly rotate to devices in the same city

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states 'Configure' without disclosing side effects: whether settings overwrite existing ones, what happens when disabled, or if it affects active rotations. Minimal behavioral context.

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

Conciseness4/5

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

Single sentence is concise and front-loaded. However, it lacks structure (e.g., bullet points for constraints) and could be more informative without adding verbosity.

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

Completeness2/5

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

Given the tool has 5 parameters (2 required) and no output schema or annotations, the description is too sparse. It does not explain return behavior, result format, or constraints beyond the schema, leaving the agent with insufficient information.

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

Parameters3/5

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

Schema coverage is 100% with each parameter documented. The description adds no additional meaning beyond what the schema already provides, so baseline score of 3 is appropriate.

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 'Configure automatic rotation settings for a port' clearly states the action (configure), the resource (auto rotation settings), and the target (a port). It effectively distinguishes from sibling tools like 'rotate_port' (which performs an immediate rotation) and 'check_rotation_availability' (which checks feasibility).

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'rotate_port' or 'check_rotation_availability'. There is no mention of prerequisites, context, or exclusions, leaving the agent without decision support.

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

create_crypto_paymentA

Create a crypto payment order to top up balance. Returns a payment URL where the user can pay with BTC, ETH, USDT, and 50+ other cryptocurrencies. After payment, balance is credited automatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount to top up in USD (10-1000)

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided. Description discloses return of payment URL and automatic balance credit but omits details on expiration, fees, or failure handling.

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?

Two sentences front-load the purpose and workflow with no unnecessary words.

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

Completeness4/5

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

For a simple one-parameter tool with related siblings, the description adequately explains the creation-to-payment flow, though it could mention amount range (already in schema) and prerequisites.

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

Parameters3/5

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

Schema coverage is 100% with description for amount. The tool description adds 'to top up balance' which is already implied, providing no extra meaning beyond schema.

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 creates a crypto payment order to top up balance, and distinguishes from siblings like cancel_crypto_payment and check_crypto_payment_status.

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

Usage Guidelines3/5

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

The description implies usage for topping up balance but provides no guidance on when not to use or how it compares to alternative payment methods like calculate_x402_topup.

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

create_portA

Create a new proxy port in a specific country. Requires available slots and optionally carrier/city targeting.

ParametersJSON Schema
NameRequiredDescriptionDefault
countryIdYesCountry ID for the port (use list_available_countries to get IDs)
typeYesPort type (shared or private)
carrierIdNoOptional carrier ID for specific carrier targeting
cityIdNoOptional city ID for specific city targeting
expiresInDaysNoPort expiration in days (1-365, default: 30)
osFingerprintNoOptional OS fingerprint spoofing

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses the need for available slots and optional targeting but does not mention creation side effects (e.g., port ID generation), error handling, or costs. Some transparency is present but incomplete.

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?

The description is a single, concise sentence that front-loads the primary purpose. Every phrase adds value, with no extraneous content.

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

Completeness3/5

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

Given the 6 parameters and no output schema, the description could provide more context about the creation outcome (e.g., returns port ID), error conditions, or required permissions. It covers the main constraints but lacks full completeness.

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

Parameters3/5

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

Schema coverage is 100%, and the description does not add additional meaning beyond what the schema already provides. The baseline of 3 is appropriate.

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 verb 'Create' and the resource 'proxy port', with specific details about country, available slots, and optional targeting. This distinguishes it from sibling tools like delete_port, get_port, list_ports, etc.

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

Usage Guidelines3/5

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

The description mentions 'Requires available slots' as a precondition, implying the agent should check slot availability. However, it does not explicitly state when to use this tool versus alternatives or provide any when-not-to-use guidance.

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

create_support_ticketA

Submit a support ticket to contact human support. Use this when you need help from the Proxies.sx team, encounter issues you cannot resolve, or have billing/account questions.

ParametersJSON Schema
NameRequiredDescriptionDefault
subjectYesBrief description of the issue (5-200 characters)
messageYesDetailed description of your issue or question (20-5000 characters)
categoryNoTicket category (default: technical)
priorityNoIssue priority (default: medium)

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must cover behavioral transparency. It states that the tool submits a ticket to human support, indicating a non-destructive create action. However, it does not disclose details like authentication requirements, rate limits, or expected response time.

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?

The description is concise and efficient, consisting of two short sentences that convey the essential information without any wasted words.

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

Completeness4/5

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

Given the lack of output schema and annotations, the description covers the tool's purpose and usage context well. However, it omits what happens after submission (e.g., whether a ticket ID is returned), which could be important for the agent.

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

Parameters3/5

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

The input schema has 100% coverage with descriptions for all 4 parameters. The description does not add additional meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.

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's purpose: 'Submit a support ticket to contact human support.' It distinguishes itself from sibling tools like close_ticket and reply_to_ticket by focusing on ticket creation.

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

Usage Guidelines4/5

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

The description explicitly advises when to use the tool: 'Use this when you need help from the Proxies.sx team, encounter issues you cannot resolve, or have billing/account questions.' While it doesn't explicitly state when not to use it, the context is clear.

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

delete_portB

Delete a proxy port by ID. This will remove the port from the proxy server.

ParametersJSON Schema
NameRequiredDescriptionDefault
portIdYesThe port ID to delete

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided. The description only states it removes the port, but does not disclose irreversibility, side effects, or authorization requirements for this destructive action.

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?

Two concise sentences with no wasted words. Efficiently communicates the core purpose.

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

Completeness2/5

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

Given the destructive nature and lack of annotations, the description should include more behavioral details (e.g., permanence, effects, response) to be complete.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already describes the parameter. The description adds no extra meaning beyond the schema.

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 action 'Delete' and the resource 'proxy port', distinguishing it from siblings like create_port or get_port.

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

Usage Guidelines2/5

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

No guidance on when to use this tool, prerequisites, or alternatives. Implied usage but lacks explicit context.

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

get_account_summaryA

Get account summary including balance, email, and resource usage (slots and traffic for shared/private categories)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

The description discloses the output fields but does not mention read-only nature, authentication requirements, or rate limits. With no annotations, the burden falls on the description; it is adequate but lacking in behavioral depth.

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?

The description is a single 16-word sentence that front-loads the purpose. No redundant or unnecessary information, achieving maximal conciseness.

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

Completeness4/5

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

For a simple read tool with no parameters and no output schema, the description covers the key output fields. Could be slightly improved by specifying 'current balance' or 'cumulative usage', but overall sufficient.

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?

There are no parameters, so the description does not need to clarify parameters. Baseline score of 4 is appropriate as it adds no ambiguity.

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 retrieves an account summary including balance, email, and resource usage. It differentiates from sibling tools like get_account_usage and get_pricing by listing specific fields.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention exclusions or context, leaving the agent to infer from the name alone.

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

get_account_usageA

Get detailed traffic usage breakdown by category (shared vs private)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations provided, so description must cover behavioral traits; it only states purpose without mentioning auth needs, rate limits, or side effects.

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 sentence directly states purpose with no wasted words; perfectly front-loaded and concise.

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

Completeness3/5

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

Adequately explains what the tool outputs but lacks details on format, time period, or potential aggregations; sufficient for basic selection.

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?

Zero parameters, so baseline is 4; description adds value by detailing the output breakdown (shared vs private), which is not in the schema.

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 uses a specific verb and resource ('Get detailed traffic usage breakdown by category (shared vs private)'), clearly differentiating from siblings like get_account_summary.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool vs alternatives, but the context implies it's for traffic breakdown; lacks exclusion criteria or alternative suggestions.

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

get_all_proxy_formatsC

Get all common proxy formats for a port (useful for different applications)

ParametersJSON Schema
NameRequiredDescriptionDefault
portIdYesThe port ID to generate formats for
serverHostYesThe proxy server hostname (required)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so description must carry full burden. It only states the function but does not disclose whether this is a read-only operation, any side effects, or the nature of the returned formats. Agent lacks key behavioral context.

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

Conciseness4/5

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

Description is a single, concise sentence that directly states the tool's purpose. No extraneous information. Slightly more detail could improve completeness without sacrificing conciseness.

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

Completeness3/5

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

Given simple parameters and no output schema, the description is minimally adequate. However, it lacks detail about what 'common proxy formats' entails and does not hint at the return structure, which could help the agent.

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

Parameters3/5

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

Schema coverage is 100%, so both parameters are already described in the schema. The description adds no extra meaning beyond what the schema provides, earning a baseline score of 3.

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

Purpose4/5

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

Description clearly states it retrieves 'all common proxy formats' for a port and notes usefulness for different applications. Verb 'get' and resource 'proxy formats' are specific. While it doesn't explicitly differentiate from sibling tool 'get_proxy_connection_string', the distinction is inferable.

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

Usage Guidelines2/5

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

Description gives no guidance on when to use this tool versus alternatives like get_proxy_connection_string, nor does it mention prerequisites or restrictions. The phrase 'useful for different applications' is vague.

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

get_crypto_payment_infoA

Get information about crypto payment availability and supported currencies

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It implies a read-only operation but does not disclose authentication needs, rate limits, or specifics of 'availability'. Adequate but not rich.

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?

A single, concise sentence that front-loads the purpose. No redundant words.

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

Completeness4/5

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

Given the lack of parameters and output schema, the description provides a reasonable high-level explanation of the returned information (availability and currencies). It is sufficient for a simple info tool, though mentioning output structure could improve completeness.

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?

The input schema has zero parameters, so no parameter descriptions are needed. The description adds no param info, but that's acceptable since none exist. Baseline for 0 params is 4.

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 retrieves information about crypto payment availability and supported currencies. It uses a specific verb ('get') and resource, and distinguishes from sibling tools like check_crypto_payment_status and create_crypto_payment.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., check_crypto_payment_status, get_pending_crypto_payments). It simply describes the functionality without context for selection.

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

get_os_fingerprint_optionsA

Get available OS fingerprint options for spoofing

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations exist, so the description bears full burden. It only states 'Get' which implies a read operation, but offers no details on rate limits, data freshness, or any other behavioral traits.

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?

The description is a single sentence with 7 words, no redundant information. It is front-loaded and concise.

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

Completeness3/5

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

With no parameters, no output schema, and no annotations, the description is adequate for a simple list retrieval. However, it could optionally describe the return format or range of options to improve completeness.

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?

The tool has zero parameters, and schema coverage is 100% by default. The description does not need to add parameter semantics, earning a baseline of 4.

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 verb 'Get' and the resource 'OS fingerprint options', and specifies the purpose 'for spoofing'. It distinguishes from sibling tool update_os_fingerprint which modifies the setting.

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

Usage Guidelines3/5

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

The description implies usage before update_os_fingerprint, but provides no explicit guidance on when to use or when not. No alternatives or prerequisites are mentioned.

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

get_pending_crypto_paymentsB

Get all pending crypto payments (new, pending, or confirming status)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must convey behavioral traits. It states what statuses are included but does not disclose whether the operation is read-only, the response structure, or any other side effects. For a simple read operation, this is minimal.

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?

The description is a single, concise sentence with no unnecessary words. It efficiently communicates the tool's purpose and the relevant statuses.

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

Completeness4/5

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

Given the simplicity of the tool (no parameters, no output schema), the description sufficiently covers what the tool does and the scope of results. It lacks details about the return format, but that is acceptable for such a straightforward tool.

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

Parameters3/5

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

The input schema has zero parameters and is fully covered (100%). Since there are no parameters, the description cannot add additional meaning beyond the schema. The baseline of 3 is appropriate.

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

Purpose4/5

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

The description clearly states that the tool retrieves all pending crypto payments with the statuses 'new', 'pending', or 'confirming'. This is specific and distinct from sibling tools like 'get_crypto_payment_info' which likely returns details of a single payment, but it does not explicitly differentiate itself.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as 'check_crypto_payment_status' or 'get_crypto_payment_info'. The agent must infer usage from the tool name alone.

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

get_portB

Get detailed information about a specific port by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
portIdYesThe port ID to retrieve

TDQS

B3.2/5.0
Behavior2/5

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

The description says 'Get detailed information' but does not specify what fields or data are returned. Without an output schema or annotations, the agent lacks details on the response structure, permissions, or potential errors.

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?

The description is a single, well-structured sentence that immediately conveys the action and object. No wasted words.

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

Completeness2/5

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

For a tool with no output schema, the description should at least summarize the type of detail returned (e.g., configuration, status, IP, etc.). It does not, leaving the agent uninformed about what to expect from the response.

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

Parameters3/5

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

The input schema already describes the single parameter 'portId' as 'The port ID to retrieve'. The description adds no additional semantic meaning, so the baseline score of 3 (given 100% schema coverage) is appropriate.

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 retrieves detailed information about a specific port by ID. It is distinct from sibling tools like 'list_ports' (which lists all) and 'get_port_status' (which gets only status).

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

Usage Guidelines2/5

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

No usage context is provided; the description does not explain when to use this tool versus alternatives like 'list_ports' or 'get_port_status'. There is no guidance on prerequisites or caveats.

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

get_port_ipB

Get the current public IP address of a port

ParametersJSON Schema
NameRequiredDescriptionDefault
portIdYesThe port ID to check

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only implies a read operation but does not disclose permissions, latency, or side effects.

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?

The description is a single sentence with no extraneous information, fully front-loaded.

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

Completeness3/5

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

For a simple read operation with one parameter, the description meets minimal requirements. However, it lacks context about the port concept and output shape, making it adequate but not comprehensive.

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

Parameters3/5

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

Schema coverage is 100% for the single parameter, which already includes a description. The tool description adds no additional parameter context or examples, so baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool retrieves the current public IP address for a given port, using a specific verb and resource. However, it does not explicitly differentiate from sibling tools like get_port_status.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as ping_port or get_port_status. Given multiple port-related siblings, this omission is significant.

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

get_port_statusA

Check if a port is online or offline on the proxy server

ParametersJSON Schema
NameRequiredDescriptionDefault
portIdYesThe port ID to check

TDQS

A3.5/5.0
Behavior3/5

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

No annotations provided, so description must disclose behavioral traits. It implies a read-only query but does not mention authentication, error handling, or side effects. Minimal transparency beyond purpose.

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 sentence, zero waste, directly states purpose. Efficient and well-structured.

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

Completeness3/5

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

Given the simplicity (1 param, no output schema), the description explains what the tool does but does not hint at return format or behavior when port doesn't exist. Slightly incomplete for full contextual understanding.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. Description adds no additional meaning about the portId parameter beyond what schema already provides.

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 checks if a port is online or offline on the proxy server, using specific verb and resource. It distinguishes from siblings like get_port (retrieves details), list_ports (lists all), and ping_port (connectivity test).

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

Usage Guidelines2/5

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

No guidance on when to use this tool compared to alternatives like ping_port or get_port. Does not mention prerequisites or typical usage scenarios.

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

get_pricingA

Get current pricing including base prices ($4/GB shared, $8/GB private), volume discounts (10-40%), slot tiers, and your current tier progression. Slots are FREE and unlock based on cumulative GB purchases.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, description discloses key behaviors: includes pricing details, mentions slots are free and how they unlock. Doesn't cover auth or side effects, but for a read-only tool this is sufficient.

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?

Two sentences, no wasted words. Front-loaded with the core purpose, then adds specific details. Perfectly concise.

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

Completeness4/5

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

Comprehensive for a zero-parameter info tool: covers pricing components and unlock mechanics. No output schema, but description adequately describes return content. Could mention output format, but not critical.

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?

No parameters exist, so schema coverage is 100%. Description adds value by explaining what the tool returns (base prices, discounts, tiers, progression), which is not in the schema.

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?

Clearly states action (get) and resource (current pricing), listing specific details (base prices, discounts, tiers). Distinguishes from sibling 'calculate_price' as it retrieves the current pricing structure rather than computing a custom price.

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

Usage Guidelines4/5

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

Implies usage for viewing current pricing, but doesn't explicitly contrast with 'calculate_price' or other tools. The description clearly indicates it's for retrieving static pricing info, so usage is still clear.

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

get_proxy_connection_stringB

Generate a ready-to-use proxy connection string for a port (HTTP or SOCKS5)

ParametersJSON Schema
NameRequiredDescriptionDefault
portIdYesThe port ID to generate connection string for
protocolNoProtocol to use (default: http)
serverHostYesThe proxy server hostname (required)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It mentions generating a connection string but does not clarify if it validates the port, requires the port to exist, or what happens on error. The term 'generate' could be misleading if it merely retrieves a pre-existing string.

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

Conciseness4/5

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

The description is a single concise sentence that front-loads the key purpose. No extraneous information, but some structure like lists or sections could improve readability without adding length.

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

Completeness3/5

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

Given no output schema, the description does not explain the format of the returned connection string, nor does it cover error conditions or limitations. It covers the basic purpose but lacks completeness for a tool with three parameters.

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

Parameters3/5

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

Schema coverage is 100% as all three parameters have descriptions. The description adds no extra meaning beyond the schema; it only repeats the protocol enum values. Baseline is 3 for high coverage.

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 uses the specific verb 'Generate' and clearly identifies the resource as a proxy connection string for a port, with explicit mention of protocols HTTP and SOCKS5. This clearly distinguishes it from sibling tools that manage ports but do not generate connection strings.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as get_port or other proxy-related tools. It lacks preconditions, exclusions, or hints about scenarios where this tool is appropriate or not.

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

get_rotation_historyB

Get the rotation history for a port

ParametersJSON Schema
NameRequiredDescriptionDefault
portIdYesThe port ID to get history for
limitNoMaximum number of entries to return (default: 10)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Only states it's a read operation but lacks details on pagination, rate limits, or what 'rotation history' entails. Minimal behavioral disclosure.

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

Conciseness4/5

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

Single sentence is concise and front-loaded. However, it could be expanded to include behavioral context without losing conciseness.

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

Completeness2/5

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

For a simple tool with 2 params and no output schema, the description is minimal. It does not explain the content of the history response or any usage constraints. Lacks completeness.

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

Parameters3/5

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

Schema description coverage is 100%, so schema already documents both parameters. Description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.

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?

Description clearly states the action ('Get'), resource ('rotation history'), and scope ('for a port'). It distinguishes from siblings like 'rotate_port' and 'check_rotation_availability'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., 'rotate_port', 'check_rotation_availability'). The description only states what it does, not when it's appropriate.

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

get_rotation_token_urlA

Get the public rotation URL for a port (can be used without authentication)

ParametersJSON Schema
NameRequiredDescriptionDefault
portIdYesThe port ID to get rotation URL for

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses the key behavioral trait that no authentication is required. For a simple read-only getter, this is sufficient, though it could mention idempotency or the nature of the URL (e.g., temporary).

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?

The description is a single sentence that contains all essential information: what the tool does and a key behavioral note. Every word earns its place with no fluff.

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

Completeness4/5

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

Given the tool's simplicity (one parameter, no output schema), the description is fairly complete. It explains the purpose and the no-auth requirement. It could mention the return value format, but overall it is adequate.

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

Parameters3/5

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

The input schema has 100% coverage with a description for the only parameter 'portId'. The tool description does not add any additional meaning beyond what is already in the schema, so baseline 3 is appropriate.

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 verb 'Get' and the resource 'public rotation URL for a port'. It also distinguishes itself by noting that it can be used without authentication, differentiating it from sibling tools like 'rotate_port' that likely require auth.

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

Usage Guidelines4/5

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

The description implicitly tells when to use the tool: when you need the rotation URL for a port and want to do so without authentication. It does not explicitly mention when not to use it, but context from sibling tools makes it clear that this is for obtaining the URL rather than performing the rotation.

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

get_sessions_by_walletB

List all x402 sessions associated with your wallet address. Useful for recovering session info.

ParametersJSON Schema
NameRequiredDescriptionDefault
walletAddressYesYour wallet address (EVM 0x... or Solana base58)
statusNoFilter by status (default: active)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It only states 'List all...' without mentioning side effects, permissions, rate limits, or error behavior. For a read operation, it implicitly suggests safety but doesn't confirm.

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

Conciseness4/5

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

The description is concise with two sentences, no redundant information. The second sentence adds utility context without being overly verbose.

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

Completeness3/5

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

Given no output schema, the description could detail return values or pagination. However, the tool's complexity is low (2 params, no nested objects), so the minimal description is adequate but lacks completeness for an agent needing full context.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description does not add new meaning beyond what the schema already provides; it merely restates the parameter context ('your wallet address').

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's purpose: 'List all x402 sessions associated with your wallet address.' It uses a specific verb ('list') and resource ('x402 sessions'), distinguishing it from sibling tools like get_session_status or list_x402_ports.

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

Usage Guidelines3/5

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

The description includes 'Useful for recovering session info,' which gives a hint of use case but lacks explicit guidance on when to use this tool versus alternatives, no when-not-to-use, and no prerequisites or context.

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

get_session_statusB

Get quick status check for a session including traffic usage and expiration

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYesThe session ID

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided so description must disclose behavior. Only says 'quick status check' without specifying read-only nature, permissions, or side effects. Insufficient for a mutating-context tool.

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 sentence, 11 words, front-loaded with key information. No fluff.

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

Completeness3/5

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

No output schema and no annotations; description covers returned info (traffic usage, expiration) but lacks format, error handling, or additional context. Adequate but not thorough.

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

Parameters3/5

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

Schema coverage is 100% with a single parameter described as 'The session ID'. Tool description adds no extra semantic meaning beyond the schema, so baseline 3.

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?

Clearly states the action (Get), the resource (session status), and what it includes (traffic usage and expiration). Distinct from sibling tools like get_account_usage or get_port_status.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like get_x402_session or get_sessions_by_wallet. Missing context for decision-making.

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

get_ticketA

Get details of a specific support ticket including all replies

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYesThe ticket ID

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves details and replies, implying a read operation, but does not disclose whether there are side effects, authorization requirements, rate limits, or error behaviors. It is factually correct but minimal.

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?

The description is a single sentence of 11 words, with no fluff. It is optimally concise and front-loaded with key information.

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

Completeness3/5

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

For a simple read operation with one parameter and no output schema, the description is adequate but leaves room for improvement. It tells the user what they get (details and replies) but does not mention the return format, possible error states, or pagination behavior. Slightly under-informative for a standalone tool.

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

Parameters3/5

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

Schema description coverage is 100% for the single parameter (ticketId), so the schema already provides its meaning. The description adds no further semantics for the parameter beyond what the schema states. Baseline score of 3 is appropriate.

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 'Get details of a specific support ticket including all replies' clearly states the verb (Get), the resource (a specific support ticket), and the scope (including all replies). It effectively distinguishes from sibling tools like 'list_my_tickets' (which lists tickets) and 'close_ticket' or 'reply_to_ticket'.

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

Usage Guidelines3/5

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

The description implies usage when needing full details of a single ticket, but it does not explicitly state when to use this tool over alternatives like 'list_my_tickets' (for summaries) or provide exclusion criteria. No guidance on prerequisites or limitations.

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

get_x402_port_statusB

Get detailed status of a specific port including traffic usage and connection info

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionTokenYesSession token from purchase response
portIdYesThe port ID to check

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states a read operation (get status) but does not disclose any behavioral traits such as permissions, side effects, or response format. Minimal transparency.

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?

The description is a single sentence of 14 words, efficiently conveying the core purpose. It is front-loaded and contains no unnecessary information.

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

Completeness3/5

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

For a simple read tool with two parameters and no output schema, the description is adequate but lacks important context such as usage guidelines and behavioral details. It covers the basics but has clear gaps.

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

Parameters3/5

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

Schema coverage is 100% with both parameters described. The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action (Get) and the resource (detailed status of a specific port) with specifics (traffic usage and connection info). However, it does not differentiate from sibling tools like get_port, get_port_status, which may cause confusion about when to use this tool.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools for port status (get_port, get_port_status, get_port_ip), a clear usage context is missing.

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

get_x402_sessionA

Get details of your x402 session including all ports. Use this after purchase to retrieve your proxy credentials and session info. Requires the session token from the purchase response.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionTokenYesSession token from purchase response (starts with x402s_)

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, description carries full burden. It discloses that it retrieves proxy credentials and session info, requiring a token. No side effects or auth details beyond token are needed. Adequate for a read operation.

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?

Two concise sentences, front-loaded with purpose, then usage guidance. Every sentence adds value with no extraneous words.

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

Completeness4/5

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

For a simple read tool with one parameter and no output schema, description covers purpose, when to use, what it returns (proxy credentials, session info, ports). Lacks explicit return format but sufficient for the complexity.

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

Parameters3/5

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

Schema description coverage is 100% for sessionToken. Description reinforces the parameter's origin ('from purchase response') but adds no new semantic meaning beyond that. Meets baseline for high coverage.

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?

Clearly states verb 'Get details' and resource 'x402 session' with scope 'including all ports'. Effectively distinguishes from sibling tools like get_x402_port_status (single port) and list_x402_ports (list).

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

Usage Guidelines4/5

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

Explicitly says 'Use this after purchase' and notes the required session token from the purchase response. Provides clear context for when to use, though does not enumerate exclusions or alternatives.

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

list_available_countriesA

List countries where proxy ports can be created (only shows countries with available devices)

ParametersJSON Schema
NameRequiredDescriptionDefault
isPrivateNoFilter for private devices (true) or shared devices (false). Default: false (shared)

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided. Description adds the behavioral detail that only countries with available devices are shown, but does not disclose other traits like authentication needs, rate limits, or specifics of availability criteria.

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?

One sentence that is perfectly front-loaded and contains no extraneous information. Every word adds value.

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

Completeness4/5

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

For a simple list tool with one optional parameter and no output schema, the description covers the core functionality. It could mention output format or content, but is largely adequate.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameter is fully documented in the schema. The description does not add any additional meaning beyond what the schema already provides, earning a baseline score.

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

Purpose4/5

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

Description clearly states the verb 'List' and resource 'countries where proxy ports can be created', with an additional filter 'only shows countries with available devices'. This distinguishes it from a generic country list, though no explicit comparison to sibling tools is provided.

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

Usage Guidelines3/5

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

Implies usage when needing countries for port creation with device availability. Does not specify when not to use or mention alternative tools among siblings, leaving the agent to infer context.

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

list_my_ticketsA

List all your support tickets to check status and responses from support team

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must fully disclose behavior. It correctly identifies this as a read-only list operation but omits details like ordering, pagination, or authentication requirements. Adequate for a simple tool.

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?

The description is a single, concise sentence front-loaded with the verb. Every word is meaningful; no wasted text.

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

Completeness4/5

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

For a parameterless list tool with no output schema, the description adequately covers the purpose. It does not mention potential limits like pagination, but that is acceptable for such a simple operation.

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?

The input schema has zero parameters, so the description does not need to add parameter meaning. Baseline score of 4 is appropriate; no additional information required.

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 action ('List'), the resource ('your support tickets'), and the purpose ('to check status and responses'). It effectively distinguishes from siblings like 'get_ticket' (single ticket) and 'close_ticket'.

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

Usage Guidelines3/5

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

The description implies usage for checking ticket status and responses but does not explicitly state when not to use or mention alternatives like 'get_ticket' for a specific ticket. Usage context is clear but lacking exclusions.

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

list_portsA

List all proxy ports with optional filters. Returns port names, types, status, locations, and expiration.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFilter by port type
statusNoFilter by port status
countryIdNoFilter by country ID
carrierIdNoFilter by carrier ID
limitNoMaximum number of ports to return (default: 50)

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It correctly describes the read-only behavior and output fields, but lacks details on pagination, ordering, or rate limits. The default limit (50) is only in the schema, not the description.

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?

The description is a single, efficient sentence that front-loads the main action and includes key return fields. No unnecessary words.

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

Completeness4/5

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

For a list tool with 5 optional parameters and no output schema, the description adequately explains the purpose and output. It could mention the default limit, but otherwise complete.

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

Parameters3/5

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

Schema coverage is 100% with all parameters described. The description does not add additional meaning beyond the schema, so baseline score of 3 is appropriate.

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 lists all proxy ports with optional filters, and specifies the returned fields (names, types, status, locations, expiration). It distinguishes from sibling tools like get_port, create_port, delete_port by being a list operation.

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

Usage Guidelines3/5

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

No explicit when-to-use or alternatives are provided. The context implies usage for listing ports, but no guidance on when to use this vs. other port tools (e.g., get_port for a single port).

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

list_x402_portsA

List all ports in your x402 session with connection strings and expiration times

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionTokenYesSession token from purchase response

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It implies a read-only list operation, which is adequate, but does not explicitly state idempotency, safety, or any side effects. For a simple list, this is minimally sufficient.

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?

One sentence of 12 words, front-loaded with the verb and resource, no unnecessary information. Every word earns its place.

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

Completeness4/5

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

Given the low complexity (one parameter, no output schema, no nested objects), the description is complete: it states the action, scope, and what is returned. It could optionally mention the output format, but that is not critical for a list tool.

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

Parameters3/5

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

Schema description coverage is 100% (the single parameter 'sessionToken' is described as 'Session token from purchase response'). The tool description adds no additional meaning to the parameter beyond what the schema provides, so baseline score of 3 applies.

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 it lists all ports in an x402 session and specifies the included information (connection strings, expiration times). This distinguishes it from sibling tools like 'list_ports' which may list ports generally.

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

Usage Guidelines3/5

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

The description implies when to use (to see ports in an x402 session) but does not provide explicit guidance on when not to use or mention alternatives like 'list_ports' or 'get_port'. No exclusions or conditionals are stated.

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

ping_portB

Test the connectivity and latency of a port

ParametersJSON Schema
NameRequiredDescriptionDefault
portIdYesThe port ID to ping

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so the description must disclose behavioral traits. It mentions testing connectivity and latency but fails to specify whether the tool is read-only, destructive, or what side effects (if any) occur. The implication of a test is non-destructive, but this is not explicit.

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 sentence with no wasted words. Front-loaded with the core action. Efficient.

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

Completeness3/5

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

The tool is simple with one parameter and no output schema. The description covers the basic purpose but omits what the output (e.g., latency values, success/failure) looks like. Could be more complete for an AI agent to fully understand the result.

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

Parameters3/5

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

Schema coverage is 100% with one parameter. The description does not add meaning beyond the schema's parameter description, which already says 'The port ID to ping'. Baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states the verb 'Test' and the resource 'a port', specifying connectivity and latency. While it distinguishes from generic status checks, it could more explicitly differentiate from sibling 'speed_test_port'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'speed_test_port' or 'get_port_status'. The description does not mention prerequisites or exclusions.

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

purchase_private_trafficA

Purchase private traffic in GB using account balance. Buying traffic also unlocks more FREE slot capacity based on tier thresholds.

ParametersJSON Schema
NameRequiredDescriptionDefault
quantityGBYesAmount of traffic in GB to purchase

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses the side effect of unlocking free slot capacity, but omits details like cost deduction, error conditions (e.g., insufficient balance), or return value.

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?

Two concise sentences, first focusing on primary action, second on a notable benefit. No unnecessary words.

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

Completeness4/5

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

Covers main action and key side effect for a simple one-parameter tool. Could mention outcome details (e.g., traffic added) but sufficient given no output schema.

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 already describes quantityGB. Description adds context that it is in GB and payment uses account balance, improving understanding beyond the schema.

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?

Clearly states the verb 'Purchase', resource 'private traffic in GB', and payment method 'using account balance'. Distinguishes from sibling 'purchase_shared_traffic' by specifying 'private'.

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

Usage Guidelines3/5

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

No explicit when-to-use or when-not-to guidance. While 'private traffic' suggests a specific use case, it does not compare with alternatives like 'purchase_shared_traffic' or mention prerequisites.

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

purchase_shared_trafficA

Purchase shared traffic in GB using account balance. Buying traffic also unlocks more FREE slot capacity based on tier thresholds.

ParametersJSON Schema
NameRequiredDescriptionDefault
quantityGBYesAmount of traffic in GB to purchase

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. Mentions unlocking slot capacity as a side effect, but does not disclose if purchase is immediate, reversible, or has limits. Safety and behavioral implications are partially covered.

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?

Two concise sentences: first states main purpose, second adds a key side effect. No unnecessary words.

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

Completeness4/5

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

For a simple 1-parameter purchase with no output schema, the description covers purpose and a key effect. Could mention immediate impact or confirmation, but adequate given low complexity.

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

Parameters3/5

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

Schema coverage is 100% and the description aligns with the schema's parameter description. No additional meaning or constraints beyond what is in the schema.

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?

Description clearly states the action (purchase) and resource (shared traffic) and method (account balance). Distinguishes from private traffic via the sibling list and mentions unlocking slot capacity, which is specific to shared traffic.

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

Usage Guidelines3/5

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

Description implies usage to gain slot capacity but does not explicitly state when to use shared vs private traffic or exclude scenarios. No mention of alternatives like purchase_private_traffic.

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

reconfigure_portB

Reconfigure a port to use a different location (country, carrier, city)

ParametersJSON Schema
NameRequiredDescriptionDefault
portIdYesThe port ID to reconfigure
countryIdYesNew country ID
carrierIdNoOptional new carrier ID
cityIdNoOptional new city ID

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so the description must cover behavioral traits. It only says 'reconfigure' without disclosing side effects, required permissions, or consequences like downtime or data loss.

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 sentence, front-loaded with the action and resource, no extraneous words.

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

Completeness2/5

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

For a mutation tool with no output schema, the description lacks details on what happens after reconfiguration, whether the port is reset, or how to confirm success.

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

Parameters3/5

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

Schema coverage is 100% with parameter descriptions. The description adds minimal value beyond the schema, simply restating that location components (country, carrier, city) are involved.

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 action (reconfigure) and resource (port) with specific fields (country, carrier, city), distinguishing it from siblings like rotate_port or update_port_credentials.

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

Usage Guidelines3/5

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

The description implies usage for changing port location but does not provide explicit when-to-use, when-not-to-use, or alternative tools. No guidance on prerequisites or exclusions.

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

replace_x402_portA

Replace an offline/broken proxy port with a new one on a different device. Free, max 3 replacements per session. The broken port is deleted and a new port is created on a different device.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionTokenYesSession token from purchase response (starts with x402s_)
portIdNoSpecific port ID to replace (optional - defaults to first offline port)
countryNoCountry code for new port (e.g., US)
cityNoCity code for new port
carrierNoCarrier code for new port

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries full behavioral burden. It discloses that the operation deletes the old port and creates a new one on a different device, and includes a session limit (max 3). This gives adequate transparency about the destructive nature and constraints.

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?

Two concise sentences that front-load the core purpose and key constraints. Every sentence adds value without redundancy or fluff.

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

Completeness3/5

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

No output schema is provided, and the description does not mention what the tool returns (e.g., new port details). While it covers the operation well, it lacks information about the response, leaving the agent to guess. With no output schema, this gap reduces completeness.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds context about the overall operation but does not provide additional parameter-specific details beyond what the schema already provides. No improvement over baseline.

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 uses specific verbs ('replace', 'delete', 'create') and resources ('offline/broken proxy port', 'new port on a different device'). It clearly differentiates from sibling tools like delete_port (only deletes), create_port (only creates), and reconfigure_port (modifies settings) by combining deletion and creation in one operation.

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

Usage Guidelines4/5

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

Explicitly states when to use: when a port is offline/broken. Also provides constraints: free, max 3 replacements per session. However, it does not explicitly mention when not to use or list alternatives, though the context implies it's for replacement scenarios only.

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

reply_to_ticketB

Reply to an existing support ticket

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYesThe ticket ID to reply to
messageYesYour reply message (10-5000 characters)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only says 'reply' without mentioning permissions, effects (e.g., does it notify the ticket owner?), constraints (e.g., can you reply to a closed ticket?), or idempotency.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no wasted words. However, given the lack of behavioral guidance, a bit more detail could be added without harming conciseness.

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

Completeness2/5

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

For a simple two-parameter tool with no output schema, the description is very brief. It lacks essential behavioral context (e.g., effect on ticket status, required permissions) that would help an agent use the tool correctly.

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

Parameters3/5

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

Schema coverage is 100%, so the parameters are already well-documented. The description adds no extra meaning beyond what the schema provides, meeting the baseline expectation.

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 action ('reply') and resource ('existing support ticket'), distinguishing it from siblings like 'create_support_ticket' or 'close_ticket'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs. alternatives (e.g., when to reply vs. create a new ticket), nor any exclusions or prerequisites.

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

rotate_portA

Rotate a port to a new modem/device. This changes the IP address while keeping port credentials and settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
portIdYesThe port ID to rotate

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It correctly discloses that the tool changes the IP and preserves credentials/settings. However, it omits important behavioral details such as whether the action causes downtime, requires the port to be active, or affects existing sessions. Some transparency is present but incomplete.

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?

The description is extremely concise, consisting of just two sentences that immediately convey the core action and its effect. There is no unnecessary information, and the key points are front-loaded.

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

Completeness4/5

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

For a simple tool with one parameter and no output schema, the description provides sufficient context about what the tool does and its effect. It explains the outcome (IP change, preservation of credentials) adequately. Minor gaps like missing usage guidelines prevent a perfect score.

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

Parameters3/5

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

The only parameter (portId) is fully described in the schema (coverage 100%), and the description adds no additional meaning or constraints beyond what the schema already provides. Thus, a baseline score of 3 is appropriate.

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 action ('rotate a port to a new modem/device') and the resource ('port'). It explains what changes (IP address) and what stays the same (credentials and settings), distinguishing it from sibling tools like reconfigur_port or update_port_credentials.

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

Usage Guidelines2/5

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

The description does not provide explicit guidance on when to use this tool versus alternatives. It lacks context about prerequisites, scenarios, or conditions that would help an agent decide to choose this tool over others like reconfigure_port.

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

speed_test_portB

Run a speed test on a port to measure download/upload speeds

ParametersJSON Schema
NameRequiredDescriptionDefault
portIdYesThe port ID to test

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It discloses that the tool measures speeds but does not mention if it is read-only, if it requires permissions, or any side effects (e.g., network load). The behavioral profile is incomplete.

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

Conciseness4/5

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

The description is a single, clear sentence with no wasted words. It is front-loaded with the verb and resource. Slightly more detail could improve it, but it is efficient.

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

Completeness3/5

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

For a simple one-parameter tool with no output schema, the description provides adequate understanding. However, it lacks usage guidelines and behavioral disclosure, which are important for an agent to select and invoke correctly among siblings.

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

Parameters3/5

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

Schema coverage is 100%, so the description adds minimal value beyond the schema. It mentions 'download/upload speeds' but does not elaborate on portId further. Baseline 3 is appropriate.

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 it runs a speed test on a port to measure download/upload speeds, specifying a verb and resource. It distinguishes from siblings like ping_port (ping) or get_port_status (status check).

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

Usage Guidelines3/5

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

The description implies usage when speed measurement is needed, but provides no explicit guidance on when to use this tool versus alternatives like ping_port or get_port_status. No exclusions or prerequisites are mentioned.

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

topup_x402_sessionA

Top up a session with additional traffic and/or duration. Requires a Payment-Signature (tx hash) for traffic top-ups. Duration-only extensions are free.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionTokenYesSession token from purchase response
paymentSignatureYesBlockchain tx hash (Solana signature or Base tx hash)
addTrafficGBNoAdditional traffic in GB
addDurationSecondsNoAdditional duration in seconds

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It discloses the requirement of a payment signature for traffic additions and that duration-only extensions are free, which is critical behavioral information. However, it lacks details on return behavior, error conditions, idempotency, or what happens if the session is expired.

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?

Two sentences, no fluff. The first sentence states the purpose concisely, and the second adds essential condition information. Every sentence earns its place.

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

Completeness4/5

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

Given the tool's moderate complexity (4 parameters, no output schema), the description covers core functionality and a key condition. It does not explain return values or operational prerequisites (e.g., session must exist), but it is largely sufficient for a focused mutation tool.

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 coverage is 100%, so baseline is 3. The description adds value beyond the schema by explaining that 'paymentSignature' is required only for traffic top-ups (though the schema marks it required unconditionally), and clarifies that 'addTrafficGB' and 'addDurationSeconds' are optional. This nuance aids the agent in understanding parameter relationships.

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's purpose: 'Top up a session with additional traffic and/or duration.' It uses a specific verb ('top up') and resource ('session'), distinguishing it from sibling tools like 'get_x402_session' (retrieval) and 'calculate_x402_topup' (calculation).

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

Usage Guidelines4/5

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

The description provides clear guidance on when to use this tool: it notes that payment signature is required for traffic top-ups and that duration-only extensions are free. This helps the agent understand the payment condition, though it does not explicitly contrast with alternatives or specify when not to use it.

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

update_os_fingerprintA

Update the OS fingerprint (p0f) for a port to spoof the operating system

ParametersJSON Schema
NameRequiredDescriptionDefault
portIdYesThe port ID to update
osFingerprintYesOS fingerprint value (empty string to disable)

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It indicates a mutation ('Update') but does not disclose side effects, authorization requirements, error conditions (e.g., if port does not exist), or whether the change is immediate. This leaves significant behavioral ambiguity.

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?

The description is a single, well-structured sentence that immediately conveys the tool's purpose. No redundant or irrelevant information is included.

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

Completeness3/5

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

For a tool with 2 parameters and no output schema or annotations, the description is adequate but incomplete. It lacks information about return values, error handling, or preconditions (e.g., port must exist and be owned by user). The sibling tools like 'get_port' could supplement, but the description does not reference them.

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 coverage is 100% with both parameters described. The description adds context by explaining that the fingerprint is used to 'spoof the operating system', which clarifies the intent of the osFingerprint parameter beyond the enum list. It does not elaborate on the format (e.g., 'os:version'), but the enum values are self-descriptive.

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 verb 'Update' and the resource 'OS fingerprint (p0f) for a port', specifying the action 'to spoof the operating system'. It effectively distinguishes from sibling tools like 'update_port_credentials' or 'reconfigure_port' by focusing on the OS fingerprint.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The sibling set includes 'get_os_fingerprint_options', which could be used to retrieve available values before updating, but the description does not mention prerequisites or when to choose this tool over others.

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

update_port_credentialsB

Update the login and/or password for a proxy port

ParametersJSON Schema
NameRequiredDescriptionDefault
portIdYesThe port ID to update
proxyLoginNoNew proxy login username
proxyPasswordNoNew proxy password

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It discloses the mutation (update) but does not elaborate on side effects, such as whether updating credentials invalidates existing sessions or requires specific permissions. It is minimal and lacks behavioral context.

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?

The description is a single short sentence that immediately conveys the action and resource. It is front-loaded and contains no unnecessary words.

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

Completeness3/5

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

For a simple update tool with no output schema, the description is mostly adequate but lacks explicit mention that at least one of proxyLogin or proxyPassword should be provided, and does not cover error scenarios (e.g., port not found). It is incomplete for a mutation tool without annotations.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents the parameters. The description adds marginal value by confirming that login and/or password can be updated, but does not provide additional meaning beyond the schema, meeting the baseline for high coverage.

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 verb 'Update' and the resource 'login and/or password for a proxy port', distinguishing it from sibling tools like 'create_port' or 'delete_port'. It is specific and unambiguous.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., 'reconfigure_port' for other settings) or prerequisites (e.g., port must exist). The description only states what it does, not when or when not to use it.

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

TDQS

A3.5/5.0
Disambiguation4/5

Most tools have clear, distinct purposes, but there is some overlap between status-checking tools (get_port_status, ping_port, speed_test_port) and info retrieval tools (get_port, get_port_ip, get_proxy_connection_string) that could cause minor confusion.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern (e.g., create_port, get_port, list_ports, rotate_port). The naming is predictable and easy to navigate.

Tool Count3/5

44 tools is a large surface area for an MCP server. While the variety of operations (ports, billing, support, sessions) justifies many tools, the count feels heavy and could benefit from consolidation of some related actions.

Completeness4/5

The tool set covers the full port lifecycle (create, read, update, delete, rotate, test) along with billing, tickets, and x402 sessions. Minor gaps exist (e.g., no bulk operations or advanced analytics), but core workflows are well-represented.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/bolivian-peru/proxies-sx-mcp-server'

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