skill-market

x402 skill catalog on lvlltd.com — search, quote, pay with Base USDC, unlock sealed packs.

¿Debería usar esto?

Calidad y seguridad

B
Calidad de la descripción
89%
Integridad del esquema
73%
Calidad de los nombres
87%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (12)

  • LOWTool 'get_skill_details' description lacks action verben get_skill_details
  • LOWTool 'get_eval_score' description lacks action verben get_eval_score
  • LOWTool 'install_skill_payload' description lacks action verben install_skill_payload
  • LOWTool 'intent_search' description lacks action verben intent_search
  • LOWTool 'sco_eval' description lacks action verben sco_eval
  • LOWTool 'sco_canary' description lacks action verben sco_canary
  • LOWTool 'sco_reputation' description lacks action verben sco_reputation
  • LOWTool 'list_judges' description lacks action verben list_judges
  • LOWTool 'get_capability_info' description lacks action verben get_capability_info
  • LOWTool 'get_pack_meta' description lacks action verben get_pack_meta

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

Costo de contexto

~3,973Tokens (definiciones de herramientas)
~384 BTamaño de respuesta típico
Impacto significativo en la atención (3.10% 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": {
    "skill-market": {
      "url": "https://lvlltd.com/api/mcp"
    }
  }
}

Puntos de conexión remotos

https://lvlltd.com/api/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (59)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢search_skills(q, category, max_price_usd, tag, limit)

Search lvlltd.com x402 skill catalog. Free. Returns price + free_eval URLs.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string"
    },
    "category": {
      "type": "string"
    },
    "max_price_usd": {
      "type": "number"
    },
    "tag": {
      "type": "string"
    },
    "limit": {
      "type": "number"
    }
  }
}
🟢get_skill_details(skill_id)

Public skill details + outline/sample/challenge links. Free.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "skill_id": {
      "type": "string"
    }
  },
  "required": [
    "skill_id"
  ]
}
🟢get_payment_challenge(skill_id)

Live x402 402 challenge for a skill. Does not unlock. Pay then purchase_skill.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "skill_id": {
      "type": "string"
    }
  },
  "required": [
    "skill_id"
  ]
}
🟢quote_price(skill_id)

Alias of get_payment_challenge — live x402 quote (amount, payTo, asset). Free. Full catalog.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "skill_id": {
      "type": "string"
    }
  },
  "required": [
    "skill_id"
  ]
}
🟢list_all_skills(offset, limit, category)

Paginated full catalog listing (all public skills from catalog.json — not a subset). Free.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "offset": {
      "type": "number",
      "description": "default 0"
    },
    "limit": {
      "type": "number",
      "description": "default 50, max 200"
    },
    "category": {
      "type": "string"
    }
  }
}
🟡purchase_skill(skill_id, tx_hash, from, payment_signature, ap2_mandate)

Without tx_hash: 402 + unsigned wallet_next_action (EIP-3009 PAYMENT-SIGNATURE template; no keys). With tx_hash or payment_signature: POST unlock via /api/pay (no payment bypass).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "skill_id": {
      "type": "string"
    },
    "tx_hash": {
      "type": "string"
    },
    "from": {
      "type": "string",
      "description": "Buyer wallet 0x… — fills EIP-3009 authorization.from on unsigned next-action"
    },
    "payment_signature": {
      "type": "string",
      "description": "Optional signed PAYMENT-SIGNATURE JSON after eth_signTypedData_v4"
    },
    "ap2_mandate": {
      "type": "string",
      "description": "Optional AP2 mandate JSON for authorized spend"
    }
  },
  "required": [
    "skill_id"
  ]
}
🟢verify_skill(skill_id, tx_hash)

Alias of verify_unlock — check public /api/proof ledger for confirmed unlocks (never invents volume).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "skill_id": {
      "type": "string"
    },
    "tx_hash": {
      "type": "string"
    }
  }
}
🟡install(skill_id, tx_hash, agents)

Alias of install_skill_payload — after purchase write sealed files + SKILL.md paths. Requires tx_hash.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "skill_id": {
      "type": "string"
    },
    "tx_hash": {
      "type": "string"
    },
    "agents": {
      "type": "string"
    }
  },
  "required": [
    "skill_id",
    "tx_hash"
  ]
}
🟢get_commerce_signals(sort, limit, skill_id)

Rank skills by confirmed unlock demand. Free.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "sort": {
      "type": "string"
    },
    "limit": {
      "type": "number"
    },
    "skill_id": {
      "type": "string"
    }
  }
}
⚪lookup_agent_identity(address)

ERC-8004 / local identity lookup for a wallet. Additive — not required to buy.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string"
    }
  },
  "required": [
    "address"
  ]
}
🟢quote_skill(skill_id)

Alias of quote_price / get_payment_challenge — live x402 quote. Free.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "skill_id": {
      "type": "string"
    }
  },
  "required": [
    "skill_id"
  ]
}
🟢verify_unlock(skill_id, tx_hash)

Check public /api/proof ledger for confirmed unlocks (never invents volume).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "skill_id": {
      "type": "string"
    },
    "tx_hash": {
      "type": "string"
    }
  }
}
🟢get_security_scan(skill_id)

Published security scan for a skill (real findings or clean-with-honesty). Free.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "skill_id": {
      "type": "string"
    }
  },
  "required": [
    "skill_id"
  ]
}
🟢get_eval_score(skill_id)

Public eval suite pass rate if suite exists. Free.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "skill_id": {
      "type": "string"
    }
  },
  "required": [
    "skill_id"
  ]
}
⚪install_skill_payload(skill_id, tx_hash, agents)

After purchase: sealed files + SKILL.md install paths. Requires tx_hash (routes through /api/pay).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "skill_id": {
      "type": "string"
    },
    "tx_hash": {
      "type": "string"
    },
    "agents": {
      "type": "string"
    }
  },
  "required": [
    "skill_id",
    "tx_hash"
  ]
}
🟢intent_search(q, limit)

Natural-language goal → ranked skills/stacks (semantic TF-IDF). Free.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string"
    },
    "limit": {
      "type": "number"
    }
  },
  "required": [
    "q"
  ]
}
🟡list_recurring_plans(wallet)

List catalog live / update / bundle-renew / metered plans. One-time unlocks remain separate and perpetual. Free.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": "string",
      "description": "Optional — include this wallet's subs + meter"
    }
  }
}
🟢check_access(wallet, skill_id)

Resolve skill access: one_time_unlock (perpetual) > catalog_sub > bundle_renew > meter. Never confuses live access with sealed ownership.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": "string"
    },
    "skill_id": {
      "type": "string"
    }
  },
  "required": [
    "wallet",
    "skill_id"
  ]
}
⚪subscribe_plan(plan_id, wallet, action, tx_hash)

Without tx_hash: 402 challenge for a plan. With tx_hash: start/renew. Cancel: action=cancel (one step). Never revokes one-time unlocks.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "plan_id": {
      "type": "string"
    },
    "wallet": {
      "type": "string"
    },
    "action": {
      "type": "string",
      "description": "start | renew | cancel (default start)"
    },
    "tx_hash": {
      "type": "string"
    }
  },
  "required": [
    "plan_id",
    "wallet"
  ]
}
🟢a2a_discover(force)

A2A bridge: fetch the marketplace Agent Card (/.well-known/agent-card.json). Free. Use before a2a_message_send.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "force": {
      "type": "boolean",
      "description": "ignored; always live fetch"
    }
  }
}
🟡a2a_message_send(text, task_id, context_id, skill_id)

A2A bridge: send message/send to the LVL A2A agent. Supports multi-turn via task_id+context_id. Does not settle payment — use purchase_skill / x402 for money.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "User message text"
    },
    "task_id": {
      "type": "string",
      "description": "Continue multi-turn task (same as prior result.id)"
    },
    "context_id": {
      "type": "string"
    },
    "skill_id": {
      "type": "string",
      "description": "Optional DataPart skill_id for purchase continuation"
    }
  },
  "required": [
    "text"
  ]
}
🟢a2a_tasks_get(task_id, history_length)

A2A bridge: tasks/get — poll stored multi-turn task by id.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string"
    },
    "history_length": {
      "type": "number"
    }
  },
  "required": [
    "task_id"
  ]
}
🔴a2a_tasks_cancel(task_id)

A2A bridge: tasks/cancel — cancel an in-flight multi-turn task.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string"
    }
  },
  "required": [
    "task_id"
  ]
}
⚪a2a_bridge_info

A2A↔MCP bridge topology for LVL: when to use A2A vs MCP vs x402. Free.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟡meter_budget(wallet, skill_id, spend_cap_usd, action)

Get or set spend cap; or quote metered per-call x402 for a skill. Caps prevent runaway agent spend.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": "string"
    },
    "skill_id": {
      "type": "string"
    },
    "spend_cap_usd": {
      "type": "number"
    },
    "action": {
      "type": "string",
      "description": "status | set_cap | quote (default status)"
    }
  },
  "required": [
    "wallet"
  ]
}
⚪esp_discover

ESP protocol root (Evaluate → Settle → Prove). Free. Philosophy + endpoints + canary. Prefer before settling any skill.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
⚪esp_cycle(skill_id)

Full ESP cycle for a skill: free evaluate endpoints, atomic settle challenge, public prove stats (ledger-only quality). Free to call.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "skill_id": {
      "type": "string",
      "description": "Skill or bundle id (default agent-x402-first-buy)"
    }
  }
}
⚪esp_evaluate(skill_id)

ESP Evaluate phase only — free outline/sample/canary links. Never requires payment. Settle only after this.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "skill_id": {
      "type": "string"
    }
  },
  "required": [
    "skill_id"
  ]
}
⚪sco_discover

SCO protocol root (Sealed Consensus Oracles). Free. Philosophy, foundation oracles, agent sequence. Prefer before oracle settlement.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
⚪sco_eval(oracle_id)

SCO free evaluation for an oracle: outline, free samples, ledger-only reputation. Never requires payment.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "oracle_id": {
      "type": "string",
      "description": "oracle-price | oracle-on-chain | oracle-time | oracle-proof-ledger | oracle-critic-consensus | oracle-location | oracle-vehicle"
    }
  },
  "required": [
    "oracle_id"
  ]
}
⚪sco_canary(oracle_id, providers, query)

Parallel multi-provider canary: seal challengeable packs from independent oracle providers.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "oracle_id": {
      "type": "string"
    },
    "providers": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "e.g. lvl-foundation-a, lvl-foundation-b"
    },
    "query": {
      "type": "object"
    }
  },
  "required": [
    "oracle_id"
  ]
}
⚪sco_consensus(input_cids)

Critic/consensus oracle: aggregate sealed pack cids into a higher-confidence sealed consensus pack.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "input_cids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Sealed pack cids from sco_canary"
    }
  },
  "required": [
    "input_cids"
  ]
}
⚪sco_challenge(action, target_cid, counter_proof, stake_usd, challenger_id, ...)

File or resolve an economic challenge against a sealed SCO pack. Reputation updates from ledger only.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "description": "file (default) | resolve"
    },
    "target_cid": {
      "type": "string"
    },
    "counter_proof": {
      "type": "object"
    },
    "stake_usd": {
      "type": "number"
    },
    "challenger_id": {
      "type": "string"
    },
    "challenge_cid": {
      "type": "string"
    },
    "outcome": {
      "type": "string",
      "description": "upheld | rejected | expired (resolve only)"
    },
    "reason": {
      "type": "string"
    }
  }
}
⚪sco_reputation(oracle_id)

Ledger-derived oracle reputation only (accuracy, freshness, challenge_survival, selection_rate, economic_weight). Null when no evidence.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "oracle_id": {
      "type": "string"
    }
  },
  "required": [
    "oracle_id"
  ]
}
🟢list_judges(skill_id, limit)

Recursive evaluator market — judge/verifier/critic ESP skills. Quality from public proof ledger only. Free.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "skill_id": {
      "type": "string"
    },
    "limit": {
      "type": "number"
    }
  }
}
🟡post_intent(title, description, success_criteria, bounty_usd, tags, ...)

Post a root problem/intent with success_criteria and optional bounty_usd (P1). Free to post. Settlement still x402; success only via /api/proof.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "success_criteria": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "bounty_usd": {
      "type": "number"
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "poster": {
      "type": "string"
    }
  },
  "required": [
    "success_criteria"
  ]
}
🟢get_ready

Truthful readiness probe (/api/ready). ready:true only when payment+catalog rails work.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟢get_proof(skill_id, limit)

Public on-chain unlock ledger (rows are self-funded test transactions, not customer purchases). Never invents volume. Optional skill_id filter.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "skill_id": {
      "type": "string"
    },
    "limit": {
      "type": "number"
    }
  }
}
🟢get_fleet

Fleet map: skills, open-market, music, swarm, studio bridges. Free.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟢get_sandbox(skill_id)

Sandbox/execution patterns for purchased packs. Optional skill_id for per-skill resources + packaging maturity.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "skill_id": {
      "type": "string"
    }
  }
}
🟢get_networks

Multi-chain + multi-asset + gas rails. Base live; other chains planned. Sponsored canary honesty.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟢get_escrow_meta

Open-market multi-party escrow (NOT skill payTo). LVLEscrow held-fund contract metadata.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟢get_capability_info

Short-lived capability token discovery (P1). Not an API key for purchase.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟢get_pack_meta(skill_id)

Public sealed pack metadata + sealed_pack_hash (no paywall contents).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "skill_id": {
      "type": "string"
    }
  },
  "required": [
    "skill_id"
  ]
}
⚪paid_api_call(skill_id, tx_hash, op)

Metered x402 API call (nothing over $5). Without tx_hash: 402 quote. With tx_hash: records the paid call. Discovery tools stay free. New billable APIs must go through this tool.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "skill_id": {
      "type": "string",
      "description": "Catalog skill to bill (default agent-x402-first-buy, $0.05 canary)"
    },
    "tx_hash": {
      "type": "string",
      "description": "Base USDC txHash after 402 settle"
    },
    "op": {
      "type": "string",
      "description": "Optional operator label for the call"
    }
  }
}
⚪receipt_verify(receipt)

Verify a lvl-decision-receipt-v1 integrity hash. Returns match + recomputed hash. Free.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "receipt": {
      "type": "object",
      "description": "Full decision_receipt object"
    }
  },
  "required": [
    "receipt"
  ]
}
⚪receipt_mint(decision_point, verdict, reason_code, reason_message, actor_id, ...)

Mint a DecisionReceipt for an agent-side decision (same schema as access/pay). Free.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "decision_point": {
      "type": "string"
    },
    "verdict": {
      "type": "string",
      "description": "allow | refuse | challenge"
    },
    "reason_code": {
      "type": "string"
    },
    "reason_message": {
      "type": "string"
    },
    "actor_id": {
      "type": "string"
    },
    "inputs": {
      "type": "object"
    },
    "policy_version": {
      "type": "string"
    }
  },
  "required": [
    "decision_point",
    "verdict",
    "reason_code"
  ]
}
⚪memory_remember(key, value, namespace, ttl_sec)

Store a key/value in agent KV memory (namespace optional, TTL default 24h).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "key": {
      "type": "string"
    },
    "value": {},
    "namespace": {
      "type": "string"
    },
    "ttl_sec": {
      "type": "number"
    }
  },
  "required": [
    "key"
  ]
}
⚪memory_recall(key, namespace)

Recall a value from agent KV memory by key (+ optional namespace).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "key": {
      "type": "string"
    },
    "namespace": {
      "type": "string"
    }
  },
  "required": [
    "key"
  ]
}
🟢memory_list(namespace, limit)

List keys in a memory namespace (prefix list when KV supports it).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "namespace": {
      "type": "string"
    },
    "limit": {
      "type": "number"
    }
  }
}
🔴memory_forget(key, namespace)

Delete a key from agent KV memory.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "key": {
      "type": "string"
    },
    "namespace": {
      "type": "string"
    }
  },
  "required": [
    "key"
  ]
}
⚪long_running_start(goal, skill_id, actor, ttl_sec)

Start a long-running / background task (KV queue stub). Returns task_id for status/cancel.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "goal": {
      "type": "string"
    },
    "skill_id": {
      "type": "string"
    },
    "actor": {
      "type": "string"
    },
    "ttl_sec": {
      "type": "number"
    }
  },
  "required": [
    "goal"
  ]
}
🟢long_running_status(task_id)

Get status of a long-running task by task_id.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string"
    }
  },
  "required": [
    "task_id"
  ]
}
🔴long_running_cancel(task_id)

Cancel a long-running task by task_id.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string"
    }
  },
  "required": [
    "task_id"
  ]
}
⚪event_register(topic, handler_hint, ttl_sec)

Register interest in a topic (stub event bus). Returns event_id.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "topic": {
      "type": "string"
    },
    "handler_hint": {
      "type": "string"
    },
    "ttl_sec": {
      "type": "number"
    }
  },
  "required": [
    "topic"
  ]
}
🟢event_list(topic, limit)

List active event registrations for a topic.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "topic": {
      "type": "string"
    },
    "limit": {
      "type": "number"
    }
  }
}
⚪event_trigger(topic, payload)

Trigger an event on a topic with optional payload (records + surfaces registrations).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "topic": {
      "type": "string"
    },
    "payload": {}
  },
  "required": [
    "topic"
  ]
}
⚪bankr_rails

Bankr x402 Cloud rail for LVL skills (catalog/unlock/canary URLs + payTo). Does not unlock. Canonical settlement remains /api/pay. Free.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
⚪bankr_quote(skill_id)

Bankr unlock URL + LVL 402 challenge URL for a skill_id. Does not pay or unlock. Free.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "skill_id": {
      "type": "string"
    }
  },
  "required": [
    "skill_id"
  ]
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada59 herramientas
verificadoversión no registrada59 herramientas
verificadoversión no registrada59 herramientas