Lumen Agent Utilities

x402 agent tools: calldata/EIP-712/x402 decoders, web→MD, ENS, DNS, PubMed, arXiv, SEC, weather

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
98%
Integridad del esquema
83%
Calidad de los nombres
81%
Riesgo de envenenamiento
80%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (3)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainen web_markdown
  • LOWTool 'eip712_decode' description lacks action verben eip712_decode

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

Costo de contexto

~2,105Tokens (definiciones de herramientas)
~729 BTamaño de respuesta típico
Impacto moderado en la atención (1.64% 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": {
    "lumenworks-decoder": {
      "url": "https://lumenworks-x402-decoder.onrender.com/mcp"
    }
  }
}

Puntos de conexión remotos

https://lumenworks-x402-decoder.onrender.com/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (14)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
⚪x402_lint(header, json)

Decode and lint an x402 PAYMENT-REQUIRED / PAYMENT-SIGNATURE / PAYMENT-RESPONSE header (base64 or JSON): kind, decoded object, errors/warnings (CAIP-2, checksum, EIP-712 domain, expiry).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "header": {
      "type": "string",
      "description": "base64 x402 header value"
    },
    "json": {
      "type": "object"
    }
  }
}
⚪eip712_decode(typedData)

Decode EIP-712 typed data: domain separator, signing digest, message, and plain-language risk notes (Permit, Permit2, EIP-3009, unlimited values).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "typedData": {
      "type": "object"
    }
  },
  "required": [
    "typedData"
  ]
}
🟢web_markdown(url, fullPage, maxChars)

Use when you need to read a public web page as clean LLM-ready Markdown: Readability main-content extraction (nav/scripts stripped) plus title, byline, excerpt, OpenGraph metadata. {fullPage:true} keeps the whole body; {maxChars} caps output (default 100k). No JavaScript rendering, no PDFs. Example: {url:"https://example.com"} -> {title:"Example Domain", markdown:"# Example Domain …"}. $0.001, no signup; not charged if the fetch fails.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL"
    },
    "fullPage": {
      "type": "boolean",
      "description": "Keep the whole body instead of Readability main content"
    },
    "maxChars": {
      "type": "number",
      "description": "Max Markdown characters (default 100000)"
    }
  },
  "required": [
    "url"
  ]
}
⚪url_unfurl(url)

Unfurl a URL: final URL after redirects, HTTP status, title, description, OpenGraph/Twitter image, site name, canonical, favicon, language, published time.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string"
    }
  },
  "required": [
    "url"
  ]
}
⚪evm_address_lookup(address)

Look up an EVM address or ENS name on Ethereum + Base: ENS forward/reverse + text records, EOA vs contract (EIP-7702 delegation flag), native balance, tx count, USDC/USDT balances, and ERC-20 name/symbol/decimals/supply if it is a token.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "0x address or ENS name"
    }
  },
  "required": [
    "address"
  ]
}
⚪domain_lookup(domain)

Domain intelligence: DNS A/AAAA/CNAME/MX/NS/TXT/CAA (DNS-over-HTTPS), SPF + DMARC, RDAP registration/expiry/registrar/status, domain age in days. Useful for phishing/fraud checks and lead qualification.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string"
    }
  },
  "required": [
    "domain"
  ]
}
🟢explain_before_sign(transaction, calldata, typedData, chainId, expected_pay_to)

Lumen Pre-Sign Check. Use before signing any EVM transaction or EIP-712 message: returns {summary, flags[], verdict} with verdict looks_ok | review | do_not_sign_unless_intended. Flags unlimited approve/increaseAllowance, EIP-2612 Permit and Permit2 (typed data and on-chain), setApprovalForAll, unknown spender, admin calls (upgradeTo/transferOwnership), zero-price Seaport orders, long deadlines, chain mismatch and x402 payTo mismatch; decodes multicall/aggregate3 inner calls one level. Example: USDC approve(spender, 2^256-1) -> do_not_sign_unless_intended, UNLIMITED_APPROVAL. Agent policy: abort on do_not_sign_unless_intended, escalate review. Informational, not a security guarantee; looks_ok does not mean safe; no simulation. $0.002, no signup, free tier 20/h; not charged if the call errors.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "transaction": {
      "type": "object",
      "description": "Unsigned EVM transaction",
      "properties": {
        "to": {
          "type": "string",
          "description": "Target contract/address (0x…)"
        },
        "data": {
          "type": "string",
          "description": "Calldata hex (0x…)"
        },
        "value": {
          "type": "string",
          "description": "Native value in wei (decimal string)"
        }
      },
      "required": [
        "data"
      ]
    },
    "calldata": {
      "type": "string",
      "description": "Shortcut: calldata hex when you have no tx object"
    },
    "typedData": {
      "type": "object",
      "description": "EIP-712 typed data {domain, types, primaryType, message} (Permit, Permit2, EIP-3009, Seaport…)"
    },
    "chainId": {
      "type": "number",
      "description": "Chain the wallet is on; used for chain-mismatch checks"
    },
    "expected_pay_to": {
      "type": "string",
      "description": "For x402/EIP-3009 payments: the payTo you expect; mismatch is flagged"
    }
  },
  "anyOf": [
    {
      "required": [
        "transaction"
      ]
    },
    {
      "required": [
        "calldata"
      ]
    },
    {
      "required": [
        "typedData"
      ]
    }
  ]
}
🟢pubmed_search(query, limit, sort, abstracts)

Search PubMed (36M+ biomedical citations): PMID, title, journal, date, authors, DOI, URL and abstract. {query, limit<=50, sort:relevance|date, abstracts:true}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "limit": {
      "type": "number"
    },
    "sort": {
      "type": "string",
      "enum": [
        "relevance",
        "date"
      ]
    },
    "abstracts": {
      "type": "boolean"
    }
  },
  "required": [
    "query"
  ]
}
🟢arxiv_search(query, limit, sort)

Search arXiv preprints: id, title, abstract, authors, categories, dates, PDF link. Supports arXiv field prefixes (ti:, au:, cat:). {query, limit<=50, sort:relevance|date}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "limit": {
      "type": "number"
    },
    "sort": {
      "type": "string",
      "enum": [
        "relevance",
        "date"
      ]
    }
  },
  "required": [
    "query"
  ]
}
⚪sec_filings(ticker, cik, forms, limit, facts)

SEC EDGAR company lookup by ticker or CIK: company profile, recent filings (filter by form e.g. 10-K, 10-Q, 8-K, 4) with document links, and latest annual XBRL facts (revenue, net income, assets, liabilities, equity, EPS, cash).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string"
    },
    "cik": {
      "type": "string"
    },
    "forms": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "limit": {
      "type": "number"
    },
    "facts": {
      "type": "boolean"
    }
  }
}
⚪weather_forecast(location, latitude, longitude, days, units)

Weather for any place name or lat/lon (Open-Meteo): current conditions plus up to 16-day daily forecast (temp min/max, precipitation and probability, wind, UV, sunrise/sunset). {location | latitude+longitude, days, units:metric|imperial}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "location": {
      "type": "string",
      "description": "Place name, e.g. Berlin (geocoded)"
    },
    "latitude": {
      "type": "number",
      "description": "Latitude (use with longitude instead of location)"
    },
    "longitude": {
      "type": "number",
      "description": "Longitude"
    },
    "days": {
      "type": "number",
      "description": "Forecast days, 1-16 (default 7)"
    },
    "units": {
      "type": "string",
      "enum": [
        "metric",
        "imperial"
      ],
      "description": "Default metric"
    }
  },
  "anyOf": [
    {
      "required": [
        "location"
      ]
    },
    {
      "required": [
        "latitude",
        "longitude"
      ]
    }
  ]
}
🟢polymarket_markets(query, limit)

Read-only Polymarket prediction-market data: search by {query} or top active markets by 24h volume. Returns question, outcomes with implied probabilities, 24h/total volume, liquidity, end date, URL. Data only, no trading.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "limit": {
      "type": "number"
    }
  }
}
⚪calldata_decode(data, signature)

Use when you hold raw EVM calldata and need to know what function it calls: returns selector, matching signatures (built-in + openchain/4byte) and ABI-decoded args for each candidate; unknown selectors return signaturesFound:0 instead of an error. Optional {signature} override. Example: 0xa9059cbb… -> transfer(address,uint256) with args. $0.002, no signup; not charged if the call errors.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "data": {
      "type": "string",
      "description": "Calldata hex starting with the 4-byte selector (0x…)"
    },
    "signature": {
      "type": "string",
      "description": "Optional function signature override, e.g. transfer(address,uint256)"
    }
  },
  "required": [
    "data"
  ]
}
🟢x402_payment_safety_check(url, method, payment_required, expected_pay_to, expected_network, ...)

FREE, deterministic pre-payment check for an x402 endpoint. Give {url} (we fetch its unpaid 402) and/or {payment_required} (402 JSON or base64 header), plus optional expected_pay_to, expected_network, max_price_usdc, listed_price_usdc, facilitator_url, client_config {max_per_call_usdc, max_daily_usdc, idempotency_key, allow_any_pay_to}. Returns verdict ok/review/do_not_pay with checks: HTTPS/health, payTo validity & mismatch, unknown asset/network, price sanity vs cap/listing, timeout/replay window, multiple payTo, unknown facilitator, missing spend caps/idempotency. Nothing is stored; inputs that look like private keys are rejected.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string"
    },
    "method": {
      "type": "string",
      "enum": [
        "POST",
        "GET"
      ]
    },
    "payment_required": {},
    "expected_pay_to": {
      "type": "string"
    },
    "expected_network": {
      "type": "string"
    },
    "max_price_usdc": {
      "type": "number"
    },
    "listed_price_usdc": {
      "type": "number"
    },
    "facilitator_url": {
      "type": "string"
    },
    "client_config": {
      "type": "object"
    }
  }
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada14 herramientas