vokko

Multi-protocol capability index: lookup, live refresh, pay-preflight, endpoint health.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
94%
Integridad del esquema
99%
Calidad de los nombres
87%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (1)

  • LOWTool 'find_payable' description lacks action verben find_payable

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,299Tokens (definiciones de herramientas)
~1.7 KBTamaño de respuesta típico
Impacto moderado en la atención (1.80% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "vokko": {
      "url": "https://www.vokko.eu/api/v1/mcp"
    }
  }
}

Puntos de conexión remotos

https://www.vokko.eu/api/v1/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (12)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
⚪lookup_host(domain)

Cached host report. Free. Does not 402. Body includes cache.presenceStale, cache.callabilityStale, and refresh (payable live re-probe: priceUsd, network, rest.url, mcp.tool refresh_host). Does not re-probe.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "Public hostname without a scheme. A scheme, port, path, and leading www. are stripped if present. After normalize: two or more DNS labels, each [a-z0-9] with optional interior hyphens (max 63 chars), total length at most 253. Empty input, literal IPs, and bare labels are rejected."
    }
  },
  "required": [
    "domain"
  ]
}
⚪refresh_host(domain)

Paid live re-probe named by lookup_host refresh.rest. Unpaid calls return HTTP 402 with x402Version and accepts. Price matches refresh.priceUsd ($0.02 USDC on Base by default). Vokko never pays the target.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "Public hostname without a scheme. A scheme, port, path, and leading www. are stripped if present. After normalize: two or more DNS labels, each [a-z0-9] with optional interior hyphens (max 63 chars), total length at most 253. Empty input, literal IPs, and bare labels are rejected."
    }
  },
  "required": [
    "domain"
  ]
}
🟢participation_check(domain)

Cached participation status and evidence. Not a legal finding.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "Public hostname without a scheme. A scheme, port, path, and leading www. are stripped if present. After normalize: two or more DNS labels, each [a-z0-9] with optional interior hyphens (max 63 chars), total length at most 253. Empty input, literal IPs, and bare labels are rejected."
    }
  },
  "required": [
    "domain"
  ]
}
🟢list_changes(domain, limit)

Newest-first drift. Anonymous: last 5 summaries. Subscriber for that origin: full history.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "Public hostname without a scheme. A scheme, port, path, and leading www. are stripped if present. After normalize: two or more DNS labels, each [a-z0-9] with optional interior hyphens (max 63 chars), total length at most 253. Empty input, literal IPs, and bare labels are rejected."
    },
    "limit": {
      "type": "integer",
      "description": "Optional result cap. Anonymous callers always get the last 5 summaries. A subscriber for that origin: default 20, minimum 1, maximum 50. Only a number is forwarded; other types are ignored."
    }
  },
  "required": [
    "domain"
  ]
}
⚪refresh_host_protocol(domain, protocol)

Paid live probe of one protocol. Args domain, protocol (ucp, mcp, a2a, x402, and the other detector ids). Unpaid calls return HTTP 402 at $0.005 USDC on Base. Full-host refresh_host stays $0.02.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "Public hostname without a scheme. A scheme, port, path, and leading www. are stripped if present. After normalize: two or more DNS labels, each [a-z0-9] with optional interior hyphens (max 63 chars), total length at most 253. Empty input, literal IPs, and bare labels are rejected."
    },
    "protocol": {
      "type": "string",
      "description": "Detector id, trimmed and lowercased. Must be one of ucp, acp, ap2, tap, mcp, a2a, x402, mpp, llms, ai-plugin, openapi."
    }
  },
  "required": [
    "domain",
    "protocol"
  ]
}
⚪refresh_hosts_batch(domains, mode)

Paid live re-probe of up to 10 hosts. Args domains (string array) and mode "full". Unpaid calls return one HTTP 402. Price is $0.01 + $0.002 × N USDC on Base.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domains": {
      "type": "array",
      "description": "Hostnames to re-probe. Length 1 to 10. Each item is normalized like domain; duplicates collapse after normalize. Empty after normalize is rejected.",
      "items": {
        "type": "string",
        "description": "Public hostname without a scheme. A scheme, port, path, and leading www. are stripped if present. After normalize: two or more DNS labels, each [a-z0-9] with optional interior hyphens (max 63 chars), total length at most 253. Empty input, literal IPs, and bare labels are rejected."
      }
    },
    "mode": {
      "type": "string",
      "description": "Must be the literal \"full\"."
    }
  },
  "required": [
    "domains",
    "mode"
  ]
}
🟢find_payable(query)

Alphabetical hosts whose index row includes x402. Evidence only. Not a rank and not a payable proof.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Optional case-insensitive substring filter on the host domain. Omitted or empty matches every indexed x402 host. The result list is capped at 20."
    }
  }
}
⚪pay_preflight(domain, intent)

Can an agent pay at this host? Rails, endpoint, price, freshness. Unpaid calls return HTTP 402 at $0.001 USDC. Same resource URL as the REST route.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "Public hostname without a scheme. A scheme, port, path, and leading www. are stripped if present. After normalize: two or more DNS labels, each [a-z0-9] with optional interior hyphens (max 63 chars), total length at most 253. Empty input, literal IPs, and bare labels are rejected."
    },
    "intent": {
      "type": "string",
      "enum": [
        "checkout",
        "api",
        "any"
      ],
      "description": "Payment intent filter. Omit or send empty to default to any. Must be checkout, api, or any."
    }
  },
  "required": [
    "domain"
  ]
}
⚪endpoint_health(url, method)

Is this paid API up, and what does it charge right now? Unpaid calls return HTTP 402 at $0.001 USDC. Same resource URL as the REST route.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Absolute https URL, max 2048 characters. Port must be omitted or 443. Userinfo is rejected. Private, loopback, and literal IP hosts are refused."
    },
    "method": {
      "type": "string",
      "enum": [
        "GET",
        "POST"
      ],
      "description": "HTTP method to probe. Omit or send empty to default to GET. Must be GET or POST."
    }
  },
  "required": [
    "url"
  ]
}
🟢find_provider(query, maxPriceUsd, network, type, limit)

Cheapest live x402 providers for a task. Placement is never sold. Unpaid calls return HTTP 402 at $0.005 USDC. Same resource URL as the REST route.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Search string. After trim: 1 to 200 characters. Whitespace is collapsed."
    },
    "maxPriceUsd": {
      "type": "number",
      "minimum": 0,
      "description": "Optional numeric upper bound on a matched provider's advertised priceUsd. Must be finite and at least 0."
    },
    "network": {
      "type": "string",
      "description": "CAIP-2 of the live settlement network. Omit or send empty to use the configured default. A non-empty value must equal the schema enum exactly.",
      "enum": [
        "eip155:8453"
      ]
    },
    "type": {
      "type": "string",
      "enum": [
        "http",
        "mcp",
        "any"
      ],
      "description": "Provider transport filter. Omit or send empty to default to any. Must be http, mcp, or any."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "description": "Optional maximum number of results. Integer from 1 to 20. Omit to default to 10."
    }
  },
  "required": [
    "query"
  ]
}
🟢payto_check(domain, address, network)

Does this payTo address belong to the domain? Evidence, not a guarantee. Unpaid calls return HTTP 402 at $0.002 USDC. Same resource URL as the REST route.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "Public hostname without a scheme. A scheme, port, path, and leading www. are stripped if present. After normalize: two or more DNS labels, each [a-z0-9] with optional interior hyphens (max 63 chars), total length at most 253. Empty input, literal IPs, and bare labels are rejected."
    },
    "address": {
      "type": "string",
      "description": "0x-prefixed 40-hex-character EVM address."
    },
    "network": {
      "type": "string",
      "description": "CAIP-2 of the live settlement network. Omit or send empty to use the configured default. A non-empty value must equal the schema enum exactly.",
      "enum": [
        "eip155:8453"
      ]
    }
  },
  "required": [
    "domain",
    "address"
  ]
}
⚪verify_receipt(txHash, tx, payTo, amount, amountUsd, ...)

Did this USDC transfer settle to the expected address and amount? Unpaid calls return HTTP 402 at $0.001 USDC. Same resource URL as the REST route.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "txHash": {
      "type": "string",
      "description": "0x-prefixed 64-hex-character transaction hash. Required by the validator (tx is an accepted alias)."
    },
    "tx": {
      "type": "string",
      "description": "Alias of txHash. Same 0x-prefixed 64-hex format. If both are sent they must match case-insensitively."
    },
    "payTo": {
      "type": "string",
      "description": "Expected recipient. 0x-prefixed 40-hex-character EVM address."
    },
    "amount": {
      "type": "string",
      "description": "Atomic USDC amount: 1 to 30 digits, no leading zeros. Exactly one of amount or amountUsd is required."
    },
    "amountUsd": {
      "type": "string",
      "description": "Decimal USDC amount: up to 12 digits before the point and up to 6 after. Exactly one of amount or amountUsd is required."
    },
    "asset": {
      "type": "string",
      "description": "USDC (case-insensitive) or the USDC contract address for the selected network. Omit to default to USDC."
    },
    "network": {
      "type": "string",
      "description": "CAIP-2 of the live settlement network. Omit or send empty to use the configured default. A non-empty value must equal the schema enum exactly.",
      "enum": [
        "eip155:8453"
      ]
    }
  },
  "required": [
    "payTo"
  ]
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada12 herramientas