MCP 服务器

Wicked MCP

io.github.choaticpixels/wicked-mcp

此 MCP 可以做什么

Provides wallet-based agent identity, reputation, signed persistent memory, tool reliability registry, claim verification, and crypto market data.

identity_get_challenge
Request a real, time-boxed agent-liveness challenge from Wicked Identity for an already-registered wallet. Read the returned `instructions` carefully — it's a constrained-generation task (exact word count + a letter-sum constraint) with a tight time budget (`time_budget_seconds`, default 12s); submit your answer via identity_submit_response before `expires_at`. Requires a real signature over identity_get_nonce's message — this tool does not sign anything itself. Args: wallet: Your agent's 0x wallet address on Base — must already be registered via identity_register. nonce: The nonce from a fresh identity_get_nonce call. signature: The 0x-prefixed ECDSA signature over that nonce's message.
输入模式
{'type': 'object', 'title': 'identity_get_challengeArguments', 'required': ['wallet', 'nonce', 'signature'], 'properties': {'nonce': {'type': 'string', 'title': 'Nonce'}, 'wallet': {'type': 'string', 'title': 'Wallet'}, 'signature': {'type': 'string', 'title': 'Signature'}}}
输出模式
{'type': 'object', 'title': 'identity_get_challengeDictOutput', 'additionalProperties': True}
identity_get_nonce
Get a one-time nonce + message to sign for Wicked Identity — the first step before identity_register, identity_get_challenge, or identity_submit_response, each of which needs a FRESH nonce (single-use, short TTL — don't reuse one across calls). Args: wallet: Your agent's 0x wallet address on Base.
输入模式
{'type': 'object', 'title': 'identity_get_nonceArguments', 'required': ['wallet'], 'properties': {'wallet': {'type': 'string', 'title': 'Wallet'}}}
输出模式
{'type': 'object', 'title': 'identity_get_nonceDictOutput', 'additionalProperties': True}
identity_jwks
Get Wicked Identity's public JWKS (RS256 keys) — use this to verify an assertion_token's signature locally with a standard JWT library, independent of calling identity_status. Public, free, no key needed.
输入模式
{'type': 'object', 'title': 'identity_jwksArguments', 'properties': {}}
输出模式
{'type': 'object', 'title': 'identity_jwksDictOutput', 'additionalProperties': True}
identity_register
Register your wallet with Wicked Identity — a lightweight identity record, no stake required. Requires a real signature over the exact message identity_get_nonce returned; this tool does not sign anything itself. Args: wallet: Your agent's 0x wallet address on Base. nonce: The nonce from a fresh identity_get_nonce call. signature: The 0x-prefixed ECDSA signature over that nonce's message.
输入模式
{'type': 'object', 'title': 'identity_registerArguments', 'required': ['wallet', 'nonce', 'signature'], 'properties': {'nonce': {'type': 'string', 'title': 'Nonce'}, 'wallet': {'type': 'string', 'title': 'Wallet'}, 'signature': {'type': 'string', 'title': 'Signature'}}}
输出模式
{'type': 'object', 'title': 'identity_registerDictOutput', 'additionalProperties': True}
identity_status
Check whether a wallet currently holds a valid, unexpired Wicked Identity assertion — the read-only check any third party can run on someone else's wallet, no signature needed. Works unauthenticated via x402 (a 402 response carries payment instructions in its body) or with a free-tier key set via IDENTITY_API_KEY. Args: wallet: The 0x wallet address to check.
输入模式
{'type': 'object', 'title': 'identity_statusArguments', 'required': ['wallet'], 'properties': {'wallet': {'type': 'string', 'title': 'Wallet'}}}
输出模式
{'type': 'object', 'title': 'identity_statusDictOutput', 'additionalProperties': True}
identity_submit_response
Submit your answer to a Wicked Identity challenge. Scored honestly as pass / fail / inconclusive — never forced to a binary result. On pass, the response includes a short-lived signed assertion_token (a standard JWT) that anyone can verify against identity_jwks, and identity_status will report your wallet as verified until it expires. Requires a real signature over identity_get_nonce's message — this tool does not sign anything itself. Note this is a DIFFERENT nonce call than the one used for identity_get_challenge; fetch a fresh one. Args: wallet: Your agent's 0x wallet address on Base. nonce: The nonce from a fresh identity_get_nonce call. signature: The 0x-prefixed ECDSA signature over that nonce's message. challenge_id: The challenge_id from identity_get_challenge. response_text: Your answer, exactly as the challenge's instructions specify (e.g. raw lowercase words, no extra commentary).
输入模式
{'type': 'object', 'title': 'identity_submit_responseArguments', 'required': ['wallet', 'nonce', 'signature', 'challenge_id', 'response_text'], 'properties': {'nonce': {'type': 'string', 'title': 'Nonce'}, 'wallet': {'type': 'string', 'title': 'Wallet'}, 'signature': {'type': 'string', 'title': 'Signature'}, 'challenge_id': {'type': 'string', 'title': 'Challenge Id'}, 'response_text': {'type': 'string', 'title': 'Response Text'}}}
输出模式
{'type': 'object', 'title': 'identity_submit_responseDictOutput', 'additionalProperties': True}
memory_delete
PERMANENTLY delete a memory (hard delete; right-to-be-forgotten). The content is not recoverable; only an audit row (no content) is kept. The default scope "chain" removes EVERY version of the memory; "version" removes only this one. Call memory_prepare with operation "delete" and the same arguments first. Args: wallet: Your agent's 0x wallet address. memory_id: UUID of any version in the chain. timestamp: From memory_prepare. nonce: From memory_prepare (single use). signature: Your wallet's signature over memory_prepare's message_to_sign. scope: "chain" (all versions, default) or "version" (just this row). reason: Optional note recorded in the audit log (max 200 chars).
输入模式
{'type': 'object', 'title': 'memory_deleteArguments', 'required': ['wallet', 'memory_id', 'timestamp', 'nonce', 'signature'], 'properties': {'nonce': {'type': 'string', 'title': 'Nonce'}, 'scope': {'type': 'string', 'title': 'Scope', 'default': 'chain'}, 'reason': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Reason', 'default': None}, 'wallet': {'type': 'string', 'title': 'Wallet'}, 'memory_id': {'type': 'string', 'title': 'Memory Id'}, 'signature': {'type': 'string', 'title': 'Signature'}, 'timestamp': {'type': 'string', 'title': 'Timestamp'}}}
输出模式
{'type': 'object', 'title': 'memory_deleteDictOutput', 'additionalProperties': True}
memory_deletions
Your deletion audit log (ids, times, reasons; never content). Call memory_prepare with operation "deletions" first. Args: wallet: Your agent's 0x wallet address. timestamp: From memory_prepare. nonce: From memory_prepare (single use). signature: Your wallet's signature over memory_prepare's message_to_sign.
输入模式
{'type': 'object', 'title': 'memory_deletionsArguments', 'required': ['wallet', 'timestamp', 'nonce', 'signature'], 'properties': {'nonce': {'type': 'string', 'title': 'Nonce'}, 'wallet': {'type': 'string', 'title': 'Wallet'}, 'signature': {'type': 'string', 'title': 'Signature'}, 'timestamp': {'type': 'string', 'title': 'Timestamp'}}}
输出模式
{'type': 'object', 'title': 'memory_deletionsDictOutput', 'additionalProperties': True}
memory_get
Fetch one of your memories by id. Another wallet's id (or a deleted one) returns the same 404 as an id that never existed. Call memory_prepare with operation "get" and params {"memory_id": ...} first. Args: wallet: Your agent's 0x wallet address. memory_id: The memory's UUID. timestamp: From memory_prepare. nonce: From memory_prepare (single use). signature: Your wallet's signature over memory_prepare's message_to_sign.
输入模式
{'type': 'object', 'title': 'memory_getArguments', 'required': ['wallet', 'memory_id', 'timestamp', 'nonce', 'signature'], 'properties': {'nonce': {'type': 'string', 'title': 'Nonce'}, 'wallet': {'type': 'string', 'title': 'Wallet'}, 'memory_id': {'type': 'string', 'title': 'Memory Id'}, 'signature': {'type': 'string', 'title': 'Signature'}, 'timestamp': {'type': 'string', 'title': 'Timestamp'}}}
输出模式
{'type': 'object', 'title': 'memory_getDictOutput', 'additionalProperties': True}
memory_history
Full version chain for a memory, oldest first, with each version's `valid_from` / `valid_until` / `superseded_by`. Works from any version's id. Call memory_prepare with operation "history" first. Args: wallet: Your agent's 0x wallet address. memory_id: UUID of any version in the chain. timestamp: From memory_prepare. nonce: From memory_prepare (single use). signature: Your wallet's signature over memory_prepare's message_to_sign.
输入模式
{'type': 'object', 'title': 'memory_historyArguments', 'required': ['wallet', 'memory_id', 'timestamp', 'nonce', 'signature'], 'properties': {'nonce': {'type': 'string', 'title': 'Nonce'}, 'wallet': {'type': 'string', 'title': 'Wallet'}, 'memory_id': {'type': 'string', 'title': 'Memory Id'}, 'signature': {'type': 'string', 'title': 'Signature'}, 'timestamp': {'type': 'string', 'title': 'Timestamp'}}}
输出模式
{'type': 'object', 'title': 'memory_historyDictOutput', 'additionalProperties': True}
memory_prepare
Step 1 of every Wicked Memory call: get the exact message to sign. Wicked Memory is persistent, wallet-scoped memory for agents (store, semantic search, versioned history, hard delete). Each call needs a fresh wallet signature; this server never signs or holds a key. Sign `message_to_sign` with your wallet (EIP-191 personal_sign), then call the matching tool (memory_store, memory_search, ...) with the SAME arguments plus the returned `timestamp`, `nonce` and your `signature`. The timestamp must be within 5 minutes and the nonce is single-use, so prepare again for every call. Args: operation: One of "store", "search", "get", "update", "history", "delete", "deletions". wallet: Your agent's 0x wallet address (your memories are scoped to it). params: The same arguments you will pass to the tool, by name, e.g. {"content": "...", "tags": ["a"]} for store, {"q": "..."} for search, {"memory_id": "<uuid>"} for get/update/history/delete.
输入模式
{'type': 'object', 'title': 'memory_prepareArguments', 'required': ['operation', 'wallet'], 'properties': {'params': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Params', 'default': None}, 'wallet': {'type': 'string', 'title': 'Wallet'}, 'operation': {'type': 'string', 'title': 'Operation'}}}
输出模式
{'type': 'object', 'title': 'memory_prepareDictOutput', 'additionalProperties': True}
memory_search
Semantic search over YOUR memories (scoped to `wallet`; no other wallet's memories are ever returned). Ranked by real cosine similarity computed at query time (`score`). Call memory_prepare with operation "search" and these same arguments first. Access: this is the one metered endpoint. With a free-tier key (MEMORY_API_KEY, if this server has one) it is free and rate-limited; otherwise it returns http_status 402 with x402 payment instructions under `payment_required` (0.001 USDC on Base). To pay: build and sign the x402 payment from `payment_required`, then call this tool AGAIN with the SAME arguments (same timestamp/nonce/signature, which a 402 does not consume) plus `payment_signature`. By default only currently-active versions are searched; use `as_of` to search memory as it stood at a past instant, or include_superseded=true for every version. Args: wallet: Your agent's 0x wallet address. q: What to look for, in natural language. timestamp: From memory_prepare. nonce: From memory_prepare (single use). signature: Your wallet's signature over memory_prepare's message_to_sign. limit: 1-50 results (default 10). tags: Only memories having ALL of these tags. created_after: ISO-8601 lower bound on creation time. created_before: ISO-8601 upper bound on creation time. as_of: ISO-8601 instant; search the versions valid at that moment. include_superseded: Also search old, superseded versions. payment_signature: x402 payment payload (base64) for the keyless path.
输入模式
{'type': 'object', 'title': 'memory_searchArguments', 'required': ['wallet', 'q', 'timestamp', 'nonce', 'signature'], 'properties': {'q': {'type': 'string', 'title': 'Q'}, 'tags': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'title': 'Tags', 'default': None}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'As Of', 'default': None}, 'limit': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Limit', 'default': None}, 'nonce': {'type': 'string', 'title': 'Nonce'}, 'wallet': {'type': 'string', 'title': 'Wallet'}, 'signature': {'type': 'string', 'title': 'Signature'}, 'timestamp': {'type': 'string', 'title': 'Timestamp'}, 'created_after': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Created After', 'default': None}, 'created_before': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Created Before', 'default': None}, 'payment_signature': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Payment Signature', 'default': None}, 'include_superseded': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Include Superseded', 'default': None}}}
输出模式
{'type': 'object', 'title': 'memory_searchDictOutput', 'additionalProperties': True}
memory_store
Store a memory in Wicked Memory (free; fair-use rate limited). Call memory_prepare with operation "store" and these same arguments first, sign its message, then pass timestamp/nonce/signature here. A real embedding is computed at write time. Returns the stored memory (`data.id`, validity window, ...). Args: wallet: Your agent's 0x wallet address (scopes the memory). content: The text to remember (max 16 KB). timestamp: From memory_prepare. nonce: From memory_prepare (single use). signature: Your wallet's signature over memory_prepare's message_to_sign. tags: Up to 20 short tags for filtering. metadata: Free-form JSON object (max 8 KB). source: Which agent/session wrote this.
输入模式
{'type': 'object', 'title': 'memory_storeArguments', 'required': ['wallet', 'content', 'timestamp', 'nonce', 'signature'], 'properties': {'tags': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'title': 'Tags', 'default': None}, 'nonce': {'type': 'string', 'title': 'Nonce'}, 'source': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Source', 'default': None}, 'wallet': {'type': 'string', 'title': 'Wallet'}, 'content': {'type': 'string', 'title': 'Content'}, 'metadata': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Metadata', 'default': None}, 'signature': {'type': 'string', 'title': 'Signature'}, 'timestamp': {'type': 'string', 'title': 'Timestamp'}}}
输出模式
{'type': 'object', 'title': 'memory_storeDictOutput', 'additionalProperties': True}
memory_update
Update a memory WITHOUT overwriting it: creates a new version and closes the old one (`valid_until` / `superseded_by`), so history is kept. Omitted fields carry over. Returns `previous` and `current`. Only the current version can be updated (409 otherwise, naming the current id). Call memory_prepare with operation "update" and the same arguments first. Args: wallet: Your agent's 0x wallet address. memory_id: UUID of the CURRENT version to supersede. timestamp: From memory_prepare. nonce: From memory_prepare (single use). signature: Your wallet's signature over memory_prepare's message_to_sign. content: New text (re-embedded). Provide at least one of content/tags/metadata/source. tags: Replacement tags. metadata: Replacement metadata object. source: New source label.
输入模式
{'type': 'object', 'title': 'memory_updateArguments', 'required': ['wallet', 'memory_id', 'timestamp', 'nonce', 'signature'], 'properties': {'tags': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'title': 'Tags', 'default': None}, 'nonce': {'type': 'string', 'title': 'Nonce'}, 'source': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Source', 'default': None}, 'wallet': {'type': 'string', 'title': 'Wallet'}, 'content': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Content', 'default': None}, 'metadata': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Metadata', 'default': None}, 'memory_id': {'type': 'string', 'title': 'Memory Id'}, 'signature': {'type': 'string', 'title': 'Signature'}, 'timestamp': {'type': 'string', 'title': 'Timestamp'}}}
输出模式
{'type': 'object', 'title': 'memory_updateDictOutput', 'additionalProperties': True}
registry_featured_tools
Get Wicked Registry's top scored active tools. Public, free, no key or payment required — a quick look before calling registry_search_tools with a specific filter.
输入模式
{'type': 'object', 'title': 'registry_featured_toolsArguments', 'properties': {}}
输出模式
{'type': 'object', 'title': 'registry_featured_toolsDictOutput', 'additionalProperties': True}
registry_register_tool
Register a tool you own with Wicked Registry so it starts getting real synthetic checks and a live reliability score. Requires a real signature over the exact message: "Wicked Registry — Tool Registration\nname: {name}\nendpoint: {endpoint_url}\ntimestamp: {timestamp}" signed by owner_wallet. This tool does not sign anything itself — you (or your agent's own wallet) must produce that signature first; a client-asserted wallet with no valid signature is rejected. Args: name: Tool name. endpoint_url: The tool's live, publicly reachable endpoint — checked on an interval once registered. protocol: One of "x402", "mcp", "rest". category: Free-text category, e.g. "data", "crypto". description: What the tool does. owner_wallet: The 0x wallet address that signed the registration message. signature: The 0x-prefixed ECDSA signature over the registration message. timestamp: ISO 8601 timestamp used in the signed message — must be within 10 minutes of the call. schema_url: Optional URL to a JSON Schema the tool's response validates against — enables the schema-conformance score component. Omit if the tool doesn't publish one.
输入模式
{'type': 'object', 'title': 'registry_register_toolArguments', 'required': ['name', 'endpoint_url', 'protocol', 'category', 'description', 'owner_wallet', 'signature', 'timestamp'], 'properties': {'name': {'type': 'string', 'title': 'Name'}, 'category': {'type': 'string', 'title': 'Category'}, 'protocol': {'type': 'string', 'title': 'Protocol'}, 'signature': {'type': 'string', 'title': 'Signature'}, 'timestamp': {'type': 'string', 'title': 'Timestamp'}, 'schema_url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Schema Url', 'default': None}, 'description': {'type': 'string', 'title': 'Description'}, 'endpoint_url': {'type': 'string', 'title': 'Endpoint Url'}, 'owner_wallet': {'type': 'string', 'title': 'Owner Wallet'}}}
输出模式
{'type': 'object', 'title': 'registry_register_toolDictOutput', 'additionalProperties': True}
registry_report_tool
File a real complaint about a tool's reliability or behavior with Wicked Registry. Public, rate-limited, no auth required. Reviewed manually by an admin — filing a report does not auto-suspend the tool. Args: tool_id: The tool's Wicked Registry id. reporter: Your wallet address, or another best-effort identifier. reason: One of "downtime", "incorrect_response", "scam_or_abuse", "schema_violation", "other". evidence: Optional free-text note or URL supporting the report.
输入模式
{'type': 'object', 'title': 'registry_report_toolArguments', 'required': ['tool_id', 'reporter', 'reason'], 'properties': {'reason': {'type': 'string', 'title': 'Reason'}, 'tool_id': {'type': 'string', 'title': 'Tool Id'}, 'evidence': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Evidence', 'default': None}, 'reporter': {'type': 'string', 'title': 'Reporter'}}}
输出模式
{'type': 'object', 'title': 'registry_report_toolDictOutput', 'additionalProperties': True}
registry_search_tools
Search Wicked Registry for x402/MCP tools by real, live reliability data (uptime, latency, schema conformance — never fabricated). Works unauthenticated via x402 (a 402 response carries payment instructions in its body) or with a free-tier key set via REGISTRY_API_KEY. Args: category: Filter by category, e.g. "data", "crypto". protocol: Filter by protocol — "x402", "mcp", or "rest". min_score: Minimum composite score (0-100). Tools with no check history yet are excluded once this is set, rather than treated as a 0. sort: One of "score" (default), "latency", "recency". limit: Max results, 1-200. Defaults to 50.
输入模式
{'type': 'object', 'title': 'registry_search_toolsArguments', 'properties': {'sort': {'type': 'string', 'title': 'Sort', 'default': 'score'}, 'limit': {'type': 'integer', 'title': 'Limit', 'default': 50}, 'category': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Category', 'default': None}, 'protocol': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Protocol', 'default': None}, 'min_score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Min Score', 'default': None}}}
输出模式
{'type': 'object', 'title': 'registry_search_toolsDictOutput', 'additionalProperties': True}
registry_tool_badge
Get a tool's current composite reliability score. Public, free, no key or payment required — the same badge a tool owner embeds on their own docs. Args: tool_id: The tool's Wicked Registry id.
输入模式
{'type': 'object', 'title': 'registry_tool_badgeArguments', 'required': ['tool_id'], 'properties': {'tool_id': {'type': 'string', 'title': 'Tool Id'}}}
输出模式
{'type': 'object', 'title': 'registry_tool_badgeDictOutput', 'additionalProperties': True}
registry_tool_detail
Get one tool's full score breakdown, component history, and recent real health checks from Wicked Registry. Works unauthenticated via x402, or with a free-tier key set via REGISTRY_API_KEY. Args: tool_id: The tool's Wicked Registry id, from registry_search_tools or registry_featured_tools.
输入模式
{'type': 'object', 'title': 'registry_tool_detailArguments', 'required': ['tool_id'], 'properties': {'tool_id': {'type': 'string', 'title': 'Tool Id'}}}
输出模式
{'type': 'object', 'title': 'registry_tool_detailDictOutput', 'additionalProperties': True}
reputation_query
Search/rank registered agents by tier, stake, reputation, or slash history. A safe, parameterized alternative to raw SQL — every filter is a typed query param, there's no query-injection surface. Args: tier: Exact tier name to filter to, e.g. "gold". min_stake / max_stake: Active-stake bounds in USDC. min_reputation: Minimum reputation score. founding_member: True to only show founding members. min_slash_count: Minimum number of slash events (e.g. 1 to find agents that have ever been slashed). sort: Field to sort by, optionally prefixed "-" (descending, default) or "+" (ascending). One of stake_amount, reputation_score, slash_count, registered_at. limit: Max results, 1-200. Defaults to 20.
输入模式
{'type': 'object', 'title': 'reputation_queryArguments', 'properties': {'sort': {'type': 'string', 'title': 'Sort', 'default': '-stake_amount'}, 'tier': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Tier', 'default': None}, 'limit': {'type': 'integer', 'title': 'Limit', 'default': 20}, 'max_stake': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Max Stake', 'default': None}, 'min_stake': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Min Stake', 'default': None}, 'min_reputation': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Min Reputation', 'default': None}, 'founding_member': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Founding Member', 'default': None}, 'min_slash_count': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Min Slash Count', 'default': None}}}
输出模式
{'type': 'object', 'title': 'reputation_queryDictOutput', 'additionalProperties': True}
reputation_statement
Get an agent's full position + real event ledger (stakes, unstakes, withdrawals, slashes) from Wicked Reputation's own records. Does NOT include WickedAPI call volume or fees paid — see the `note` field in the response for exactly what this does and doesn't cover. Args: wallet: The agent's 0x wallet address on Base.
输入模式
{'type': 'object', 'title': 'reputation_statementArguments', 'required': ['wallet'], 'properties': {'wallet': {'type': 'string', 'title': 'Wallet'}}}
输出模式
{'type': 'object', 'title': 'reputation_statementDictOutput', 'additionalProperties': True}
reputation_status
Get an agent's current reputation: tier, active/unbonding stake, reputation score, slash count, founding-member badge. Returns http_status 404 for a wallet that has never registered — treat that the same as tier "unranked", not an error. Args: wallet: The agent's 0x wallet address on Base.
输入模式
{'type': 'object', 'title': 'reputation_statusArguments', 'required': ['wallet'], 'properties': {'wallet': {'type': 'string', 'title': 'Wallet'}}}
输出模式
{'type': 'object', 'title': 'reputation_statusDictOutput', 'additionalProperties': True}
reputation_tiers
Get Wicked Reputation's live tier thresholds and benefits (min stake required, rate-limit multiplier, fee-discount %). Read at call time rather than assumed — thresholds are admin-configurable.
输入模式
{'type': 'object', 'title': 'reputation_tiersArguments', 'properties': {}}
输出模式
{'type': 'object', 'title': 'reputation_tiersDictOutput', 'additionalProperties': True}
reputation_transparency
Get Wicked Reputation's live transparency numbers: treasury address, custody model, block-explorer link, unbonding cooldown, total active stake, total agents, total slash events, founding-slot counts.
输入模式
{'type': 'object', 'title': 'reputation_transparencyArguments', 'properties': {}}
输出模式
{'type': 'object', 'title': 'reputation_transparencyDictOutput', 'additionalProperties': True}
sanity_check
Verify a claim before you act on it or hand it downstream. Every verdict comes from a real model inference run at request time (HHEM entailment) — never cached or guessed. Two modes: - "grounded" (default): is the claim faithful to the `context` you supply? `context` is REQUIRED. This is a scoreable question. - "open": is the claim consistent with live web evidence found right now (real Tavily search, then the same model)? `context` is ignored. This is consistency with current web content, NOT objective truth — a claim can be well-supported by the web and still be wrong. Reading the result (in `data`): - `verdict`: "supported" (consistent with the source), "contradicted" (clearly inconsistent), "unsupported" (not supported but not clearly contradicted — treat as unverified), or "insufficient_evidence" (open mode found nothing usable; says nothing about whether the claim is true). - `confidence_score`: the raw consistency score in [0, 1] — near 1 = consistent with the source, near 0 = inconsistent. It is NOT confidence-in-the-verdict: a "contradicted" verdict has a score near 0. It is 0.0 for "insufficient_evidence". - `evidence`: the audit trail (context snippet, or web citations). Suggested policy: act on "supported"; treat "unsupported" and "insufficient_evidence" as unverified; reject or regenerate on "contradicted". Access: the public mcp.wickedapi.com server uses a shared, rate-limited key, so this returns real verdicts directly -- but the shared budget is small (about 20 requests/minute and 30 open-mode checks/day across ALL users; grounded mode is not counted against the daily limit). An http_status 429 means that shared budget is used up: retry after the Retry-After seconds, run this server locally with your own SANITY_API_KEY, or pay per call via x402 directly. A server with no key configured returns an http_status 402 carrying x402 payment instructions under `payment_required` instead. Args: claim: The single statement to verify (max 5,000 characters). context: Source text the claim must be faithful to — a string or a list of strings. Required for mode "grounded". mode: "grounded" (check against `context`) or "open" (check against live web evidence).
输入模式
{'type': 'object', 'title': 'sanity_checkArguments', 'required': ['claim'], 'properties': {'mode': {'type': 'string', 'title': 'Mode', 'default': 'grounded'}, 'claim': {'type': 'string', 'title': 'Claim'}, 'context': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'title': 'Context', 'default': None}}}
输出模式
{'type': 'object', 'title': 'sanity_checkDictOutput', 'additionalProperties': True}
sanity_check_batch
Verify several claims in one call — use this for a multi-sentence output instead of calling sanity_check once per sentence. Split the output into individual claims, pass the source as `context`, and every claim is checked against it. One payment / one rate-limit hit covers the whole batch, and grounded batches are scored far faster than N separate calls. Returns `data` as a list with one result per claim, in the same order as `claims`; each result is shaped exactly like sanity_check's (see that tool for how to read `verdict`, `confidence_score` and `evidence`). In "open" mode a separate live web search runs per claim, so large open batches are slow. Access: the public mcp.wickedapi.com server uses a shared, rate-limited key, so this returns real verdicts directly -- but the shared budget is small (about 20 requests/minute and 30 open-mode checks/day across ALL users; grounded mode is not counted against the daily limit). An http_status 429 means that shared budget is used up: retry after the Retry-After seconds, run this server locally with your own SANITY_API_KEY, or pay per call via x402 directly. A server with no key configured returns an http_status 402 carrying x402 payment instructions under `payment_required` instead. Args: claims: 1-50 statements to verify, each up to 5,000 characters. context: Shared source text for every claim — a string or a list of strings. Required for mode "grounded". mode: "grounded" (check against `context`) or "open" (check against live web evidence).
输入模式
{'type': 'object', 'title': 'sanity_check_batchArguments', 'required': ['claims'], 'properties': {'mode': {'type': 'string', 'title': 'Mode', 'default': 'grounded'}, 'claims': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Claims'}, 'context': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'title': 'Context', 'default': None}}}
输出模式
{'type': 'object', 'title': 'sanity_check_batchDictOutput', 'additionalProperties': True}
wickedapi_funding_oi
Get perpetual-futures funding rate and open interest for a crypto symbol. Args: symbol: Base crypto symbol, e.g. BTC, ETH, SOL — mapped to the <SYMBOL>USDT perpetual on Binance/Bybit.
输入模式
{'type': 'object', 'title': 'wickedapi_funding_oiArguments', 'required': ['symbol'], 'properties': {'symbol': {'type': 'string', 'title': 'Symbol'}}}
输出模式
{'type': 'object', 'title': 'wickedapi_funding_oiDictOutput', 'additionalProperties': True}
wickedapi_momentum
Get WickedAPI's momentum score for a symbol. Args: symbol: One of BTC, ETH, SOL, SUI, NVDA, IBIT, COIN, QQQ, TQQQ, DIA. timeframe: One of 15m, 1h, 4h, 1D, 1W. Defaults to 1h.
输入模式
{'type': 'object', 'title': 'wickedapi_momentumArguments', 'required': ['symbol'], 'properties': {'symbol': {'type': 'string', 'title': 'Symbol'}, 'timeframe': {'type': 'string', 'title': 'Timeframe', 'default': '1h'}}}
输出模式
{'type': 'object', 'title': 'wickedapi_momentumDictOutput', 'additionalProperties': True}
wickedapi_price
Get the current price for a symbol (crypto or stock) from WickedAPI. Args: symbol: e.g. BTC, ETH, SUI, NVDA, SPY. asset_class: "stock" or "crypto" — required for symbols outside the curated list, optional otherwise.
输入模式
{'type': 'object', 'title': 'wickedapi_priceArguments', 'required': ['symbol'], 'properties': {'symbol': {'type': 'string', 'title': 'Symbol'}, 'asset_class': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Asset Class', 'default': None}}}
输出模式
{'type': 'object', 'title': 'wickedapi_priceDictOutput', 'additionalProperties': True}
已添加
memory_deletions
2026年10月4日 02:40
已添加
memory_delete
2026年10月4日 02:40
已添加
memory_history
2026年10月4日 02:40
已添加
memory_update
2026年10月4日 02:40
已添加
memory_get
2026年10月4日 02:40
已添加
memory_search
2026年10月4日 02:40
已添加
memory_store
2026年10月4日 02:40
已添加
memory_prepare
2026年10月4日 02:40
已添加
sanity_check_batch
2026年10月4日 02:40
已添加
sanity_check
2026年10月4日 02:40
已添加
identity_jwks
2026年10月4日 02:40
已添加
identity_status
2026年10月4日 02:40
已添加
identity_submit_response
2026年10月4日 02:40
已添加
identity_get_challenge
2026年10月4日 02:40
已添加
identity_register
2026年10月4日 02:40
已添加
identity_get_nonce
2026年10月4日 02:40
已添加
registry_register_tool
2026年10月4日 02:40
已添加
registry_report_tool
2026年10月4日 02:40
已添加
registry_tool_badge
2026年10月4日 02:40
已添加
registry_featured_tools
2026年10月4日 02:40
已添加
registry_tool_detail
2026年10月4日 02:40
已添加
registry_search_tools
2026年10月4日 02:40
已添加
reputation_transparency
2026年10月4日 02:40
已添加
reputation_tiers
2026年10月4日 02:40
已添加
reputation_query
2026年10月4日 02:40
已添加
reputation_statement
2026年10月4日 02:40
已添加
reputation_status
2026年10月4日 02:40
已添加
wickedapi_funding_oi
2026年10月4日 02:40
已添加
wickedapi_momentum
2026年10月4日 02:40
已添加
wickedapi_price
2026年10月4日 02:40