Wicked MCP

Whole Wicked suite for agents: market data, SEC filings, wallet checks, risk, identity, memory.

使うべきか

品質と安全性

B
説明の品質
97%
スキーマの完全性
86%
命名の品質
80%
ポイズニングのリスク
60%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(5)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains suspicious base64-like encoded stringwallet_sanctions_check 内
  • MEDIUMTool description contains suspicious base64-like encoded stringwallet_check 内
  • LOWTool 'registry_featured_tools' description lacks action verbregistry_featured_tools 内
  • LOWTool 'registry_tool_badge' description lacks action verbregistry_tool_badge 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~9,265トークン数(ツール定義)
~1.4 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 7.24%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "wicked-mcp": {
      "command": "npx",
      "args": [
        "@wickedlabs/wicked-mcp"
      ]
    }
  }
}

実行可能なパッケージ

npm@wickedlabs/wicked-mcp0.6.2stdio

リモートエンドポイント

https://mcp.wickedapi.com/mcpstreamable-http

できること

ツール一覧

ツール(49)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
⚪filings_freshness

[Filings Oracle] Proof of real-time: seconds since the last successful SEC poll, age of the newest filing, median and p95 ingest lag (from SEC acceptance time) over the last 200 live filings, last successful poll per form type, and rows stored — Free. Proof of real-time: seconds since the last successful SEC poll, age of the newest filing, median and p95 ingest lag (from SEC acceptance time) over the last 200 live filings, last successful poll per form type, and rows stored. **Example:** `/v1/freshness`

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪filings_latest_preview

[Filings Oracle] The 10 most recent filings across all form types (form, company, ticker, filed_at only) — Free. The 10 most recent filings across all form types (form, company, ticker, filed_at only). Full structured data, filtering and cursors need /v1/filings. **Example:** `/v1/latest-preview`

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢filings_search(form, ticker, cik, item, days, ...)

[Filings Oracle] Structured SEC filings feed (8-K, Form 4, Schedule 13D/13G, 10-K, 10-Q), ingested within about a minute of SEC acceptance — Structured SEC filings feed (8-K, Form 4, Schedule 13D/13G, 10-K, 10-Q), ingested within about a minute of SEC acceptance. Filter by form, ticker, CIK or 8-K item; page with a cursor, or long-poll with wait= to receive the next filing the moment it lands. **Example:** `/v1/filings?form=8-K&item=5.02&days=1`

入力スキーマ

{
  "type": "object",
  "properties": {
    "form": {
      "type": "string",
      "description": "Optional. Comma list: 8-K, 4, SCHEDULE 13D, SCHEDULE 13G, 10-K, 10-Q (amendments included). Default all."
    },
    "ticker": {
      "type": "string",
      "description": "Optional. Ticker symbol, e.g. NVDA."
    },
    "cik": {
      "type": "string",
      "description": "Optional. SEC CIK number."
    },
    "item": {
      "type": "string",
      "description": "Optional. 8-K item number, e.g. 5.02 (executive change) or 2.02 (earnings)."
    },
    "days": {
      "type": "number",
      "description": "Optional. Look back N days (default 2, max 90). Ignored when since is set."
    },
    "since": {
      "type": "number",
      "description": "Optional. Cursor from a previous response (meta.cursor): returns only filings stored after it, oldest first."
    },
    "wait": {
      "type": "number",
      "description": "Optional. With since: hold the request up to N seconds (max 25) until a new filing arrives."
    },
    "limit": {
      "type": "number",
      "description": "Optional. Max rows (default 50, max 200)."
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪filings_8k_events(category, ticker, days, since, wait, ...)

[Filings Oracle] 8-K material-event alerts classified into categories an agent can act on: earnings, exec_change, material_agreement, acquisition_disposition, bankruptcy, delisting, cybersecurity, auditor_or_restatement, control_change, financing, restructuring_impairment, shareholder_vote, governance, reg_fd, other_events — 8-K material-event alerts classified into categories an agent can act on: earnings, exec_change, material_agreement, acquisition_disposition, bankruptcy, delisting, cybersecurity, auditor_or_restatement, control_change, financing, restructuring_impairment, shareholder_vote, governance, reg_fd, other_events. Each event lists every item with its official label. **Example:** `/v1/8k-events?category=bankruptcy&days=7`

入力スキーマ

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "description": "Optional. One of the category names above. Default all."
    },
    "ticker": {
      "type": "string",
      "description": "Optional. Ticker symbol."
    },
    "days": {
      "type": "number",
      "description": "Optional. Look back N days (default 2, max 90). Ignored when since is set."
    },
    "since": {
      "type": "number",
      "description": "Optional. Cursor from meta.cursor of a previous response."
    },
    "wait": {
      "type": "number",
      "description": "Optional. With since: long-poll up to N seconds (max 25)."
    },
    "limit": {
      "type": "number",
      "description": "Optional. Max rows (default 50, max 200)."
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪filings_insider_trades(ticker, side, min_value, owner, role, ...)

[Filings Oracle] Form 4 insider transactions parsed to one row per trade: insider, role and title, security, code (P purchase, S sale, A grant ...), shares, price, dollar value, shares owned after, direct/indirect, and whether it was under a 10b5-1 plan — Form 4 insider transactions parsed to one row per trade: insider, role and title, security, code (P purchase, S sale, A grant ...), shares, price, dollar value, shares owned after, direct/indirect, and whether it was under a 10b5-1 plan. Defaults to open-market buys and sells only. **Example:** `/v1/insider-trades?side=buy&min_value=100000&exclude_10b5_1=true`

入力スキーマ

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Optional. Issuer ticker symbol."
    },
    "side": {
      "type": "string",
      "description": "Optional. buy or sell (open-market purchases / sales)."
    },
    "min_value": {
      "type": "number",
      "description": "Optional. Minimum trade value in USD."
    },
    "owner": {
      "type": "string",
      "description": "Optional. Case-insensitive substring of the insider's name."
    },
    "role": {
      "type": "string",
      "description": "Optional. director, officer or 10pct_owner."
    },
    "all_codes": {
      "type": "string",
      "description": "Optional. true to include grants, option exercises, tax withholding and gifts (default false: open-market P and S only)."
    },
    "exclude_10b5_1": {
      "type": "string",
      "description": "Optional. true to drop trades made under a pre-arranged 10b5-1 plan."
    },
    "days": {
      "type": "number",
      "description": "Optional. Look back N days (default 7, max 90). Ignored when since is set."
    },
    "since": {
      "type": "number",
      "description": "Optional. Cursor from meta.cursor of a previous response."
    },
    "wait": {
      "type": "number",
      "description": "Optional. With since: long-poll up to N seconds (max 25)."
    },
    "limit": {
      "type": "number",
      "description": "Optional. Max rows (default 50, max 200)."
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪filings_insider_summary(ticker, days)

[Filings Oracle] Insider activity rollup for one ticker over a window: open-market buy and sell counts and dollar totals, net flow, distinct buyers and sellers, a cluster-buying flag (three or more insiders buying), and the largest trades — Insider activity rollup for one ticker over a window: open-market buy and sell counts and dollar totals, net flow, distinct buyers and sellers, a cluster-buying flag (three or more insiders buying), and the largest trades. **Example:** `/v1/insider-summary?ticker=NVDA&days=30`

入力スキーマ

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Required. Issuer ticker symbol."
    },
    "days": {
      "type": "number",
      "description": "Optional. Window in days (default 30, max 90)."
    }
  },
  "required": [
    "ticker"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪filings_filing(accession)

[Filings Oracle] One filing by accession number, with its parsed items or insider transactions and the SEC document link — One filing by accession number, with its parsed items or insider transactions and the SEC document link. **Example:** `/v1/filing?accession=0001731122-26-001341`

入力スキーマ

{
  "type": "object",
  "properties": {
    "accession": {
      "type": "string",
      "description": "Required. SEC accession number, e.g. 0001731122-26-001341."
    }
  },
  "required": [
    "accession"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡wallet_sanctions_check(address)

[Wallet Oracle] Is this address on the US Treasury OFAC SDN sanctions list? Exact match against every digital-currency address OFAC publishes (EVM, Tron, Bitcoin and others), with the sanctioned entity, program, and the list's publish date — Free. Is this address on the US Treasury OFAC SDN sanctions list? Exact match against every digital-currency address OFAC publishes (EVM, Tron, Bitcoin and others), with the sanctioned entity, program, and the list's publish date. Chain-agnostic. **Example:** `/v1/sanctions-check?address=0x8589427373D6D84E98730D7795D8f6f8731FDA16`

入力スキーマ

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Required. Any wallet address (0x EVM, Tron T..., Bitcoin, Solana, ...)."
    }
  },
  "required": [
    "address"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢wallet_check(address, chain)

[Wallet Oracle] Pre-transaction counterparty check for an EVM wallet or contract: OFAC SDN screening, GoPlus malicious-address flags (phishing, drainers, laundering, mixers ...), and a live on-chain profile (EOA / contract / EIP-7702, nonce, balance, ENS, first transaction, contract verification) — Pre-transaction counterparty check for an EVM wallet or contract: OFAC SDN screening, GoPlus malicious-address flags (phishing, drainers, laundering, mixers ...), and a live on-chain profile (EOA / contract / EIP-7702, nonce, balance, ENS, first transaction, contract verification). Returns risk_level, a plain recommendation (do_not_transact / review_before_transacting / no_red_flags_found), every reason with its source, and which sources were unavailable. **Example:** `/v1/wallet-check?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&chain=ethereum`

入力スキーマ

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Required. A 0x address."
    },
    "chain": {
      "type": "string",
      "description": "Optional. ethereum, base, arbitrum, optimism, polygon (default base)."
    }
  },
  "required": [
    "address"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪reputation_status(wallet)

[Wicked Reputation] An agent's current reputation: tier, active/unbonding stake, score, slash count, founding-member badge. http_status 404 means the wallet never registered — treat as tier 'unranked'.

入力スキーマ

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": "string",
      "description": "The 0x wallet address."
    }
  },
  "required": [
    "wallet"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪reputation_statement(wallet)

[Wicked Reputation] An agent's full position plus real event ledger (stakes, unstakes, withdrawals, slashes). Does not include WickedAPI call volume or fees — see the `note` field.

入力スキーマ

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": "string",
      "description": "The 0x wallet address."
    }
  },
  "required": [
    "wallet"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢reputation_query(tier, min_stake, max_stake, min_reputation, founding_member, ...)

[Wicked Reputation] Search/rank registered agents by tier, stake, reputation or slash history. Every filter is a typed query param.

入力スキーマ

{
  "type": "object",
  "properties": {
    "tier": {
      "description": "Exact tier name, e.g. \"gold\".",
      "type": "string"
    },
    "min_stake": {
      "description": "Minimum active stake (USDC).",
      "type": "number"
    },
    "max_stake": {
      "description": "Maximum active stake (USDC).",
      "type": "number"
    },
    "min_reputation": {
      "description": "Minimum reputation score.",
      "type": "number"
    },
    "founding_member": {
      "description": "True to only show founding members.",
      "type": "boolean"
    },
    "min_slash_count": {
      "description": "Minimum slash events (1 finds agents ever slashed).",
      "type": "number"
    },
    "sort": {
      "description": "stake_amount | reputation_score | slash_count | registered_at, prefixed \"-\" (desc, default) or \"+\" (asc).",
      "type": "string"
    },
    "limit": {
      "description": "1-200, default 20.",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢reputation_tiers

[Wicked Reputation] Live tier thresholds and benefits (min stake, rate-limit multiplier, fee discount). Read at call time — thresholds are admin-configurable.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪reputation_transparency

[Wicked Reputation] Live transparency numbers: treasury address, custody model, unbonding cooldown, total stake, agents, slash events, founding-slot counts.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡registry_search_tools(api_key, category, protocol, min_score, sort, ...)

[Wicked Registry] Search x402/MCP tools by real reliability data (uptime, latency, schema conformance). Works via x402 (402 carries payment instructions) or a free API key (pass api_key, or set REGISTRY_API_KEY). No key yet? Call registry_onboarding_message then registry_create_api_key to get one yourself. For a quick free check of a known tool, use registry_lookup.

入力スキーマ

{
  "type": "object",
  "properties": {
    "api_key": {
      "description": "Free Wicked Registry API key (wr_...). Overrides REGISTRY_API_KEY.",
      "type": "string"
    },
    "category": {
      "description": "e.g. \"data\", \"crypto\".",
      "type": "string"
    },
    "protocol": {
      "description": "\"x402\", \"mcp\" or \"rest\".",
      "type": "string"
    },
    "min_score": {
      "description": "Minimum composite score 0-100; unchecked tools are excluded once set.",
      "type": "number"
    },
    "sort": {
      "description": "\"score\" (default), \"latency\" or \"recency\".",
      "type": "string"
    },
    "limit": {
      "description": "1-200, default 50.",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪registry_tool_detail(tool_id, api_key)

[Wicked Registry] One tool's full score breakdown, component history and recent real health checks. x402 or a free API key.

入力スキーマ

{
  "type": "object",
  "properties": {
    "tool_id": {
      "type": "string",
      "description": "Registry id from registry_lookup / registry_search_tools / registry_featured_tools."
    },
    "api_key": {
      "description": "Free Wicked Registry API key (wr_...). Overrides REGISTRY_API_KEY.",
      "type": "string"
    }
  },
  "required": [
    "tool_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢registry_lookup(q, endpoint, category, limit)

[Wicked Registry] Free lookup: find a tool's id and headline reliability score by name or URL fragment (q), exact endpoint URL (endpoint) or category. No key or payment. Use it to check a tool before your agent pays it; follow with registry_tool_badge or registry_tool_detail.

入力スキーマ

{
  "type": "object",
  "properties": {
    "q": {
      "description": "Name or URL fragment, at least 2 characters.",
      "type": "string"
    },
    "endpoint": {
      "description": "Exact endpoint URL of the tool you are about to call.",
      "type": "string"
    },
    "category": {
      "type": "string"
    },
    "limit": {
      "description": "1-25, default 10.",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢registry_onboarding_message(action, wallet, name, endpoint_url)

[Wicked Registry] Step 1 of self-onboarding. Returns the exact message YOU must sign (EIP-191 personal_sign) plus its timestamp, valid for about an hour. action=api_key (needs wallet) for a free API key, or action=register (needs name and endpoint_url) to list your own tool. This tool never signs anything.

入力スキーマ

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "api_key",
        "register"
      ]
    },
    "wallet": {
      "description": "Your 0x wallet address (required for api_key).",
      "type": "string"
    },
    "name": {
      "description": "Tool name (required for register).",
      "type": "string"
    },
    "endpoint_url": {
      "description": "Tool endpoint URL (required for register).",
      "type": "string"
    }
  },
  "required": [
    "action"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡registry_create_api_key(wallet, timestamp, signature, label)

[Wicked Registry] Step 2 of getting a free API key. Submit the wallet, the timestamp and YOUR signature over the message from registry_onboarding_message(action=api_key). The key (wr_...) is returned once - store it and pass it as api_key to registry_search_tools / registry_tool_detail. Up to 3 active keys per wallet; past the daily cap calls fall back to x402.

入力スキーマ

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": "string",
      "description": "0x wallet that signed the message."
    },
    "timestamp": {
      "type": "string",
      "description": "The timestamp returned with the message."
    },
    "signature": {
      "type": "string",
      "description": "0x-prefixed ECDSA signature over the message."
    },
    "label": {
      "description": "Optional label for the key.",
      "type": "string"
    }
  },
  "required": [
    "wallet",
    "timestamp",
    "signature"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪registry_featured_tools

[Wicked Registry] Top scored active tools. Public and free.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪registry_tool_badge(tool_id)

[Wicked Registry] A tool's current composite reliability score. Public and free.

入力スキーマ

{
  "type": "object",
  "properties": {
    "tool_id": {
      "type": "string",
      "description": "The tool's Wicked Registry id."
    }
  },
  "required": [
    "tool_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪registry_report_tool(tool_id, reporter, reason, evidence)

[Wicked Registry] File a complaint about a tool's reliability or behaviour. Public, rate-limited; reviewed manually, never auto-suspends.

入力スキーマ

{
  "type": "object",
  "properties": {
    "tool_id": {
      "type": "string",
      "description": "The tool's Wicked Registry id."
    },
    "reporter": {
      "type": "string",
      "description": "Your wallet address or another best-effort identifier."
    },
    "reason": {
      "type": "string",
      "description": "\"downtime\", \"incorrect_response\", \"scam_or_abuse\", \"schema_violation\" or \"other\"."
    },
    "evidence": {
      "description": "Optional note or URL.",
      "type": "string"
    }
  },
  "required": [
    "tool_id",
    "reporter",
    "reason"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢registry_register_tool(name, endpoint_url, protocol, category, description, ...)

[Wicked Registry] Register a tool you own so it gets real synthetic checks and a live score. Get the exact message to sign from registry_onboarding_message(action=register), sign it with owner_wallet, then call this. This tool never signs.

入力スキーマ

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "endpoint_url": {
      "type": "string",
      "description": "Live, publicly reachable endpoint."
    },
    "protocol": {
      "type": "string",
      "description": "\"x402\", \"mcp\" or \"rest\"."
    },
    "category": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "owner_wallet": {
      "type": "string",
      "description": "0x wallet that signed the registration message."
    },
    "signature": {
      "type": "string",
      "description": "0x-prefixed ECDSA signature over the registration message."
    },
    "timestamp": {
      "type": "string",
      "description": "ISO 8601 timestamp used in the signed message (within an hour of the call)."
    },
    "schema_url": {
      "description": "Optional JSON Schema URL enabling the schema-conformance score.",
      "type": "string"
    }
  },
  "required": [
    "name",
    "endpoint_url",
    "protocol",
    "category",
    "description",
    "owner_wallet",
    "signature",
    "timestamp"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡identity_sandbox_register

[Wicked Identity] START HERE if you have no wallet or cannot sign messages. Returns a sandbox wallet + sandbox_token (no signing, no body). Then call identity_get_challenge and identity_submit_response with wallet + sandbox_token. Sandbox results are for trying the service: signed with a separate key (identity_jwks sandbox=true) and never reported as verified. Use a real wallet for an accountable identity. Limit: 10 per IP per hour.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢identity_get_test_key(label)

[Wicked Identity] Get a free self-serve test API key (7-day expiry, 20 requests/min) to use as api_key on identity_status instead of paying via x402. Limit: 5 per IP per day.

入力スキーマ

{
  "type": "object",
  "properties": {
    "label": {
      "description": "Optional name for this key.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢identity_get_nonce(wallet)

[Wicked Identity] Real-wallet path, step 1: a one-time nonce + message to sign. Every signed identity call needs a fresh nonce (single-use, 5-minute TTL). Not needed for sandbox identities.

入力スキーマ

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": "string",
      "description": "Your 0x wallet address on Base, or the sandbox wallet from identity_sandbox_register."
    }
  },
  "required": [
    "wallet"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢identity_register(wallet, nonce, signature)

[Wicked Identity] Register a REAL wallet (no stake required). Needs your signature over identity_get_nonce's message; this tool never signs. Sandbox identities are registered by identity_sandbox_register instead.

入力スキーマ

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": "string",
      "description": "Your 0x wallet address on Base, or the sandbox wallet from identity_sandbox_register."
    },
    "nonce": {
      "type": "string",
      "description": "Nonce from a FRESH identity_get_nonce call."
    },
    "signature": {
      "type": "string",
      "description": "0x-prefixed ECDSA signature over that nonce's message."
    }
  },
  "required": [
    "wallet",
    "nonce",
    "signature"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡identity_get_challenge(wallet, nonce, signature, sandbox_token)

[Wicked Identity] Request a real time-boxed liveness challenge (constrained-generation task, 30s budget). The clock starts when this returns: answer in ONE pass via identity_submit_response before `expires_at`. Real wallet: needs a fresh signed nonce (fetch + sign the nonce for the NEXT call before calling this). Sandbox: just wallet + sandbox_token.

入力スキーマ

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": "string",
      "description": "Your 0x wallet address on Base, or the sandbox wallet from identity_sandbox_register."
    },
    "nonce": {
      "description": "Real wallet: nonce from a FRESH identity_get_nonce call. Omit for sandbox.",
      "type": "string"
    },
    "signature": {
      "description": "Real wallet: 0x-prefixed ECDSA signature over that nonce's message. Omit for sandbox.",
      "type": "string"
    },
    "sandbox_token": {
      "description": "Sandbox identity: the sandbox_token from identity_sandbox_register. Use INSTEAD of nonce/signature.",
      "type": "string"
    }
  },
  "required": [
    "wallet"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡identity_submit_response(wallet, nonce, signature, sandbox_token, challenge_id, ...)

[Wicked Identity] Submit your answer to a challenge; scored pass / fail / inconclusive. A pass returns a short-lived signed assertion_token (JWT) verifiable via identity_jwks. Real wallet: needs a DIFFERENT fresh nonce than identity_get_challenge used. Sandbox: wallet + sandbox_token.

入力スキーマ

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": "string",
      "description": "Your 0x wallet address on Base, or the sandbox wallet from identity_sandbox_register."
    },
    "nonce": {
      "description": "Real wallet: nonce from a FRESH identity_get_nonce call. Omit for sandbox.",
      "type": "string"
    },
    "signature": {
      "description": "Real wallet: 0x-prefixed ECDSA signature over that nonce's message. Omit for sandbox.",
      "type": "string"
    },
    "sandbox_token": {
      "description": "Sandbox identity: the sandbox_token from identity_sandbox_register. Use INSTEAD of nonce/signature.",
      "type": "string"
    },
    "challenge_id": {
      "type": "string",
      "description": "The challenge_id from identity_get_challenge."
    },
    "response_text": {
      "type": "string",
      "description": "Your answer exactly as the instructions specify: raw text only."
    }
  },
  "required": [
    "wallet",
    "challenge_id",
    "response_text"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡identity_status(wallet, api_key)

[Wicked Identity] Does a wallet currently hold a valid, unexpired assertion? No signature needed. Pays via x402, or pass api_key (get one free from identity_get_test_key) / set IDENTITY_API_KEY. Sandbox wallets are never `verified`; they report sandbox: true and sandbox_verified instead.

入力スキーマ

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": "string",
      "description": "The 0x wallet address."
    },
    "api_key": {
      "description": "Optional x-api-key, e.g. from identity_get_test_key.",
      "type": "string"
    }
  },
  "required": [
    "wallet"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡identity_jwks(sandbox)

[Wicked Identity] Public RS256 keys to verify an assertion_token locally. Free. Set sandbox=true for the separate key set that signs sandbox assertions.

入力スキーマ

{
  "type": "object",
  "properties": {
    "sandbox": {
      "description": "true = the sandbox key set (issuer wicked-identity-sandbox).",
      "type": "boolean"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sanity_check(claim, context, mode)

[Wicked Sanity] Verify one claim before acting on it. Verdicts: supported | contradicted | unsupported | insufficient_evidence (see `data`). confidence_score is raw consistency (a "contradicted" verdict scores near 0). Policy: act on supported; treat unsupported/insufficient_evidence as unverified; reject contradicted. x402 or SANITY_API_KEY; 429 means a rate limit — see retry_after.

入力スキーマ

{
  "type": "object",
  "properties": {
    "claim": {
      "type": "string",
      "description": "The single statement to verify (max 5,000 chars)."
    },
    "context": {
      "description": "Source text the claim(s) must be faithful to. Required for mode \"grounded\".",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ]
    },
    "mode": {
      "description": "\"grounded\" (default; check against context) or \"open\" (check against live web evidence — consistency with the web, not objective truth).",
      "type": "string"
    }
  },
  "required": [
    "claim"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sanity_check_batch(claims, context, mode)

[Wicked Sanity] Verify up to 50 claims against one shared context in a single call — prefer this over one sanity_check per sentence. `data` is a list in the same order as `claims`.

入力スキーマ

{
  "type": "object",
  "properties": {
    "claims": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "1-50 statements, each up to 5,000 chars."
    },
    "context": {
      "description": "Source text the claim(s) must be faithful to. Required for mode \"grounded\".",
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ]
    },
    "mode": {
      "description": "\"grounded\" (default; check against context) or \"open\" (check against live web evidence — consistency with the web, not objective truth).",
      "type": "string"
    }
  },
  "required": [
    "claims"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪memory_prepare(operation, wallet, params)

Wicked Memory step 1 of every call: returns the exact `message_to_sign`. Sign it with your own wallet (EIP-191 personal_sign), then call the matching memory_* tool with the SAME arguments plus the returned timestamp, nonce and your signature. Timestamp must be within 5 minutes; nonce is single-use, so prepare again for every call.

入力スキーマ

{
  "type": "object",
  "properties": {
    "operation": {
      "type": "string",
      "description": "\"store\", \"search\", \"get\", \"update\", \"history\", \"delete\" or \"deletions\"."
    },
    "wallet": {
      "type": "string",
      "description": "Your agent's 0x wallet address (memories are scoped to it)."
    },
    "params": {
      "description": "The arguments you will pass to the tool, by name, e.g. {\"content\":\"...\",\"tags\":[\"a\"]} or {\"memory_id\":\"<uuid>\"}.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "operation",
    "wallet"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡memory_store(wallet, content, timestamp, nonce, signature, ...)

[Wicked Memory] Store a memory (free, fair-use rate limited). A real embedding is computed at write time. Run memory_prepare with operation 'store' and these same arguments first.

入力スキーマ

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": "string",
      "description": "Your agent's 0x wallet address."
    },
    "content": {
      "type": "string",
      "description": "Text to remember (max 16 KB)."
    },
    "timestamp": {
      "type": "string",
      "description": "From memory_prepare."
    },
    "nonce": {
      "type": "string",
      "description": "From memory_prepare (single use)."
    },
    "signature": {
      "type": "string",
      "description": "Your wallet's signature over memory_prepare's message_to_sign."
    },
    "tags": {
      "description": "Up to 20 short tags.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "metadata": {
      "description": "Free-form JSON object (max 8 KB).",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "source": {
      "description": "Which agent/session wrote this.",
      "type": "string"
    }
  },
  "required": [
    "wallet",
    "content",
    "timestamp",
    "nonce",
    "signature"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢memory_search(wallet, q, timestamp, nonce, signature, ...)

[Wicked Memory] Semantic search over YOUR memories only, ranked by real cosine similarity. The one metered call: free with MEMORY_API_KEY, otherwise http_status 402 with x402 v2 instructions under `payment_required` (0.001 USDC on Base) — pay, then call again with the SAME arguments (a 402 does not consume the nonce) plus payment_signature.

入力スキーマ

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": "string",
      "description": "Your agent's 0x wallet address."
    },
    "q": {
      "type": "string",
      "description": "What to look for, in natural language."
    },
    "timestamp": {
      "type": "string",
      "description": "From memory_prepare."
    },
    "nonce": {
      "type": "string",
      "description": "From memory_prepare (single use)."
    },
    "signature": {
      "type": "string",
      "description": "Your wallet's signature over memory_prepare's message_to_sign."
    },
    "limit": {
      "description": "1-50, default 10.",
      "type": "number"
    },
    "tags": {
      "description": "Only memories having ALL of these tags.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "created_after": {
      "description": "ISO-8601 lower bound.",
      "type": "string"
    },
    "created_before": {
      "description": "ISO-8601 upper bound.",
      "type": "string"
    },
    "as_of": {
      "description": "ISO-8601 instant; search memory as it stood then.",
      "type": "string"
    },
    "include_superseded": {
      "description": "Also search old, superseded versions.",
      "type": "boolean"
    },
    "payment_signature": {
      "description": "x402 payment payload (base64) for the keyless path.",
      "type": "string"
    }
  },
  "required": [
    "wallet",
    "q",
    "timestamp",
    "nonce",
    "signature"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢memory_get(wallet, memory_id, timestamp, nonce, signature)

[Wicked Memory] Fetch one of your memories by id (another wallet's or a deleted id returns the same 404).

入力スキーマ

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": "string",
      "description": "Your agent's 0x wallet address."
    },
    "memory_id": {
      "type": "string",
      "description": "The memory's UUID."
    },
    "timestamp": {
      "type": "string",
      "description": "From memory_prepare."
    },
    "nonce": {
      "type": "string",
      "description": "From memory_prepare (single use)."
    },
    "signature": {
      "type": "string",
      "description": "Your wallet's signature over memory_prepare's message_to_sign."
    }
  },
  "required": [
    "wallet",
    "memory_id",
    "timestamp",
    "nonce",
    "signature"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡memory_update(wallet, memory_id, timestamp, nonce, signature, ...)

[Wicked Memory] Update without overwriting: creates a new version and closes the old one (valid_until / superseded_by). Omitted fields carry over; only the current version can be updated (409 otherwise).

入力スキーマ

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": "string",
      "description": "Your agent's 0x wallet address."
    },
    "memory_id": {
      "type": "string",
      "description": "UUID of the CURRENT version to supersede."
    },
    "timestamp": {
      "type": "string",
      "description": "From memory_prepare."
    },
    "nonce": {
      "type": "string",
      "description": "From memory_prepare (single use)."
    },
    "signature": {
      "type": "string",
      "description": "Your wallet's signature over memory_prepare's message_to_sign."
    },
    "content": {
      "description": "New text (re-embedded). Provide at least one of content/tags/metadata/source.",
      "type": "string"
    },
    "tags": {
      "description": "Replacement tags.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "metadata": {
      "description": "Replacement metadata object.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "source": {
      "description": "New source label.",
      "type": "string"
    }
  },
  "required": [
    "wallet",
    "memory_id",
    "timestamp",
    "nonce",
    "signature"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪memory_history(wallet, memory_id, timestamp, nonce, signature)

[Wicked Memory] Full version chain for a memory, oldest first, with valid_from / valid_until / superseded_by. Works from any version's id.

入力スキーマ

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": "string",
      "description": "Your agent's 0x wallet address."
    },
    "memory_id": {
      "type": "string",
      "description": "UUID of any version in the chain."
    },
    "timestamp": {
      "type": "string",
      "description": "From memory_prepare."
    },
    "nonce": {
      "type": "string",
      "description": "From memory_prepare (single use)."
    },
    "signature": {
      "type": "string",
      "description": "Your wallet's signature over memory_prepare's message_to_sign."
    }
  },
  "required": [
    "wallet",
    "memory_id",
    "timestamp",
    "nonce",
    "signature"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴memory_delete(wallet, memory_id, timestamp, nonce, signature, ...)

[Wicked Memory] PERMANENTLY hard-delete a memory (right-to-be-forgotten). Default scope "chain" removes every version; "version" only this one. Only an audit row (no content) is kept.

入力スキーマ

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": "string",
      "description": "Your agent's 0x wallet address."
    },
    "memory_id": {
      "type": "string",
      "description": "UUID of any version in the chain."
    },
    "timestamp": {
      "type": "string",
      "description": "From memory_prepare."
    },
    "nonce": {
      "type": "string",
      "description": "From memory_prepare (single use)."
    },
    "signature": {
      "type": "string",
      "description": "Your wallet's signature over memory_prepare's message_to_sign."
    },
    "scope": {
      "description": "\"chain\" (all versions, default) or \"version\".",
      "type": "string"
    },
    "reason": {
      "description": "Optional audit-log note (max 200 chars).",
      "type": "string"
    }
  },
  "required": [
    "wallet",
    "memory_id",
    "timestamp",
    "nonce",
    "signature"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪memory_deletions(wallet, timestamp, nonce, signature)

[Wicked Memory] Your deletion audit log (ids, times, reasons; never content).

入力スキーマ

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": "string",
      "description": "Your agent's 0x wallet address."
    },
    "timestamp": {
      "type": "string",
      "description": "From memory_prepare."
    },
    "nonce": {
      "type": "string",
      "description": "From memory_prepare (single use)."
    },
    "signature": {
      "type": "string",
      "description": "Your wallet's signature over memory_prepare's message_to_sign."
    }
  },
  "required": [
    "wallet",
    "timestamp",
    "nonce",
    "signature"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡paywall_signup(name, slug)

[x402 Paywall] Create a tenant account. Returns a Bearer apiKey ONCE — store it and set PAYWALL_API_KEY. Rate-limited to 5/hour per IP.

入力スキーマ

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Letters, digits, space . _ - (max 100)."
    },
    "slug": {
      "type": "string",
      "description": "Lowercase a-z0-9 and hyphens, 2-40 chars; becomes your mount path prefix /{slug}."
    }
  },
  "required": [
    "name",
    "slug"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢paywall_get_tenant

[x402 Paywall] Your tenant record (needs PAYWALL_API_KEY).

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢paywall_list_routes

[x402 Paywall] List your paywalled routes (needs PAYWALL_API_KEY).

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡paywall_create_route(price, network, payTo, method, path, ...)

[x402 Paywall] Paywall a new endpoint with x402 pay-per-call, settled in USDC straight to payTo. With upstreamUrl, paid requests are proxied to your backend. Applies live within ~20s (needs PAYWALL_API_KEY).

入力スキーマ

{
  "type": "object",
  "properties": {
    "price": {
      "type": "string",
      "description": "Decimal USD amount, e.g. \"0.01\" or \"$0.01\"."
    },
    "network": {
      "type": "string",
      "description": "CAIP-2 id: Base mainnet eip155:8453, Base Sepolia eip155:84532."
    },
    "payTo": {
      "type": "string",
      "description": "Your payout wallet (0x…). Settlement pays here directly; nothing is custodied."
    },
    "method": {
      "description": "Default GET.",
      "type": "string",
      "enum": [
        "GET",
        "POST"
      ]
    },
    "path": {
      "description": "Route path, e.g. \"/weather\".",
      "type": "string"
    },
    "asset": {
      "description": "Payment token contract; defaults to USDC on the network.",
      "type": "string"
    },
    "description": {
      "description": "Up to 200 chars: letters, digits, space . _ -",
      "type": "string"
    },
    "upstreamUrl": {
      "description": "Your https backend. Omit for the demo confirmation payload.",
      "type": "string"
    }
  },
  "required": [
    "price",
    "network",
    "payTo"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪paywall_import_routes(routes)

[x402 Paywall] Bulk upsert routes keyed on (method, path) — paywall a whole API in one call (needs PAYWALL_API_KEY).

入力スキーマ

{
  "type": "object",
  "properties": {
    "routes": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "price": {
            "type": "string",
            "description": "Decimal USD amount, e.g. \"0.01\" or \"$0.01\"."
          },
          "network": {
            "type": "string",
            "description": "CAIP-2 id: Base mainnet eip155:8453, Base Sepolia eip155:84532."
          },
          "payTo": {
            "type": "string",
            "description": "Your payout wallet (0x…). Settlement pays here directly; nothing is custodied."
          },
          "method": {
            "description": "Default GET.",
            "type": "string",
            "enum": [
              "GET",
              "POST"
            ]
          },
          "path": {
            "description": "Route path, e.g. \"/weather\".",
            "type": "string"
          },
          "asset": {
            "description": "Payment token contract; defaults to USDC on the network.",
            "type": "string"
          },
          "description": {
            "description": "Up to 200 chars: letters, digits, space . _ -",
            "type": "string"
          },
          "upstreamUrl": {
            "description": "Your https backend. Omit for the demo confirmation payload.",
            "type": "string"
          }
        },
        "required": [
          "price",
          "network",
          "payTo"
        ]
      },
      "description": "Route objects, same fields as paywall_create_route."
    }
  },
  "required": [
    "routes"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡paywall_update_route(id, price, network, payTo, method, ...)

[x402 Paywall] Partial update of a route (e.g. change price or payout wallet); applies live within ~20s (needs PAYWALL_API_KEY).

入力スキーマ

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Route id from paywall_list_routes."
    },
    "price": {
      "type": "string",
      "description": "Decimal USD amount, e.g. \"0.01\" or \"$0.01\"."
    },
    "network": {
      "type": "string",
      "description": "CAIP-2 id: Base mainnet eip155:8453, Base Sepolia eip155:84532."
    },
    "payTo": {
      "type": "string",
      "description": "Your payout wallet (0x…). Settlement pays here directly; nothing is custodied."
    },
    "method": {
      "description": "Default GET.",
      "type": "string",
      "enum": [
        "GET",
        "POST"
      ]
    },
    "path": {
      "description": "Route path, e.g. \"/weather\".",
      "type": "string"
    },
    "asset": {
      "description": "Payment token contract; defaults to USDC on the network.",
      "type": "string"
    },
    "description": {
      "description": "Up to 200 chars: letters, digits, space . _ -",
      "type": "string"
    },
    "upstreamUrl": {
      "description": "Your https backend. Omit for the demo confirmation payload.",
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴paywall_delete_route(id)

[x402 Paywall] Remove a paywalled route; applies within ~20s (needs PAYWALL_API_KEY).

入力スキーマ

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Route id from paywall_list_routes."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢paywall_list_settlements(limit)

[x402 Paywall] Your real on-chain USDC settlements (earnings) (needs PAYWALL_API_KEY).

入力スキーマ

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "Default 50, max 200.",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 49 件