skill-market

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

사용해야 할까요

품질 및 안전성

B
설명 품질
89%
스키마 완전성
73%
이름 품질
87%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (12)

  • LOWTool 'get_skill_details' description lacks action verbget_skill_details에서
  • LOWTool 'get_eval_score' description lacks action verbget_eval_score에서
  • LOWTool 'install_skill_payload' description lacks action verbinstall_skill_payload에서
  • LOWTool 'intent_search' description lacks action verbintent_search에서
  • LOWTool 'sco_eval' description lacks action verbsco_eval에서
  • LOWTool 'sco_canary' description lacks action verbsco_canary에서
  • LOWTool 'sco_reputation' description lacks action verbsco_reputation에서
  • LOWTool 'list_judges' description lacks action verblist_judges에서
  • LOWTool 'get_capability_info' description lacks action verbget_capability_info에서
  • LOWTool 'get_pack_meta' description lacks action verbget_pack_meta에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~3,962토큰 (도구 정의)
~384 B일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 3.10%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "skill-market": {
      "url": "https://lvlltd.com/api/mcp"
    }
  }
}

원격 엔드포인트

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

할 수 있는 일

도구 목록

도구 (59)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢search_skills(q, category, max_price_usd, tag, limit)

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

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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).

입력 스키마

{
  "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).

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

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

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

입력 스키마

{
  "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).

입력 스키마

{
  "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.

입력 스키마

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

Public eval suite pass rate if suite exists. Free.

입력 스키마

{
  "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).

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

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

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

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

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

Public confirmed-only unlock ledger. Never invents volume. Optional skill_id filter.

입력 스키마

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

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

입력 스키마

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

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

입력 스키마

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

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

입력 스키마

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

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

입력 스키마

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

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

입력 스키마

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

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

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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).

입력 스키마

{
  "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).

입력 스키마

{
  "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).

입력 스키마

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

Delete a key from agent KV memory.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

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

Cancel a long-running task by task_id.

입력 스키마

{
  "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.

입력 스키마

{
  "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.

입력 스키마

{
  "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).

입력 스키마

{
  "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.

입력 스키마

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

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

입력 스키마

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

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 59개
검증됨버전이 기록되지 않음도구 59개