Aayat AI
AI agent tools: crypto token safety, web search with cited answers, live library docs. Free trial.
我該用這個嗎
品質與安全性
發現項目(14)
- HIGH
- LOW在 token-safety 中
- LOW在 token-report 中
- LOW在 wallet-risk 中
- LOW在 search-answer 中
- LOW在 search-open 中
- LOW在 docs-lib 中
- LOW在 docs-answer 中
- LOW在 find-best-tool 中
- LOW在 token-price 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"aayat-ai": {
"url": "https://aayatai.com/mcp"
}
}
}遠端端點
https://aayatai.com/mcpstreamable-http它能做什麼
工具清單
工具(15)
🟢token-safety(address, chain, detail)
Is this token safe to buy? Honeypot and sell-tax test, holder concentration, liquidity and locks, mint/freeze powers, proxy/upgradeable contract, with a 0-100 safety score and plain-English flags. ★ One of our best tools. Rug-pull and scam check for any token on Base, Solana, Ethereum, BNB, Arbitrum, Polygon, Optimism or Avalanche. Checks honeypot, buy/sell tax, mint/freeze authority, hidden owner, proxy, blacklist, holder concentration, locked liquidity, pool age and market data, then gives flags, a 0-100 safety score and a verdict. Use first for a quick verdict on whether one token (by contract address) is a scam or rug pull. Instead, use `token-report` ($0.10) for holders, whales, liquidity and news too. Answers may be cached for up to 10 minutes. Price: $0.02 USDC per call (x402 or prepaid credits); failed calls are free. In the free trial.
輸入結構描述
{
"type": "object",
"properties": {
"address": {
"type": "string",
"maxLength": 64,
"description": "Token contract address (0x...) or Solana mint address."
},
"chain": {
"type": "string",
"enum": [
"base",
"solana",
"ethereum",
"bsc",
"arbitrum",
"polygon",
"optimism",
"avalanche"
],
"default": "base",
"description": "Blockchain: base, solana, ethereum, bsc, arbitrum, polygon, optimism, avalanche."
},
"detail": {
"type": "string",
"enum": [
"full",
"brief"
],
"default": "full",
"description": "brief = key fields only (same price)"
}
},
"required": [
"address"
],
"additionalProperties": false,
"examples": [
{
"address": "0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed",
"chain": "base"
}
]
}輸出結構描述
{
"type": "object",
"properties": {
"trust": {
"type": "object",
"description": "Third-party text, cleaned: read trust.notice; removed = what we stripped."
},
"address": {
"type": "string"
},
"chain": {
"type": "string",
"description": "The blockchain network queried."
},
"verdict": {
"type": "string",
"enum": [
"high-risk",
"caution",
"low-risk",
"unknown"
]
},
"summary": {
"type": "string",
"description": "One plain line to show a person: verdict, what's fine, main risks, what couldn't be checked."
},
"noVerdict": {
"type": "boolean",
"description": "True when the verdict is 'unknown' (not enough data to judge)."
},
"verdictReason": {
"type": "string",
"description": "Why: red flags found, which checks couldn't run, or insufficient data."
},
"score": {
"type": [
"integer",
"null"
],
"minimum": 0,
"maximum": 100,
"description": "100 = no issues found. null when any check couldn't run (see checksNotRun): then read the verdict and summary."
},
"dataComplete": {
"type": "boolean",
"description": "false when some checks couldn't run; see checksNotRun."
},
"checksNotRun": {
"type": "array",
"items": {
"type": "string"
},
"description": "Checks that couldn't run (data source blocked, empty or not covered)."
},
"flags": {
"type": "array",
"items": {
"type": "object",
"properties": {
"level": {
"type": "string",
"enum": [
"danger",
"warning",
"info"
]
},
"code": {
"type": "string"
},
"message": {
"type": "string"
}
}
}
},
"contract": {
"type": "object",
"description": "Raw contract findings from the scanner."
},
"holders": {
"type": "object",
"properties": {
"count": {
"type": [
"number",
"null"
]
},
"top10Percent": {
"type": [
"number",
"null"
]
},
"top": {
"type": "array"
}
}
},
"liquidity": {
"type": "object",
"properties": {
"lockedPercent": {
"type": [
"number",
"null"
]
},
"lpHolders": {
"type": [
"number",
"null"
]
}
}
},
"market": {
"type": "object",
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"symbol": {
"type": [
"string",
"null"
]
},
"priceUsd": {
"type": [
"number",
"null"
]
},
"priceNative": {
"type": [
"number",
"null"
],
"description": "Price in the pair's quote token."
},
"liquidityUsd": {
"type": [
"number",
"null"
],
"description": "Total DEX liquidity across all pairs; null when unknown (only a price was available), never a false $0."
},
"volume24hUsd": {
"type": [
"number",
"null"
]
},
"priceChange": {
"type": "object",
"description": "Percent change over 5m, 1h, 6h, 24h."
},
"txns24h": {
"type": [
"object",
"null"
],
"properties": {
"buys": {
"type": "integer"
},
"sells": {
"type": "integer"
}
}
},
"marketCapUsd": {
"type": [
"number",
"null"
]
},
"fdvUsd": {
"type": [
"number",
"null"
]
},
"pairs": {
"type": [
"integer",
"null"
],
"description": "Number of DEX trading pairs; null when unknown."
},
"topPair": {
"type": [
"object",
"null"
]
},
"oldestPairCreatedAt": {
"type": [
"string",
"null"
]
},
"links": {
"type": "object"
},
"marketSource": {
"type": "string",
"description": "DexScreener, GeckoTerminal or DefiLlama (price only)."
},
"liquidityKnown": {
"type": "boolean",
"description": "False when only a price was available."
},
"poolsAsOf": {
"type": "string",
"description": "Present when pool data is the last known (DEX sources busy): when it was fetched."
},
"priceSource": {
"type": "string",
"description": "Where the price came from, when not the pools' own source."
},
"marketNote": {
"type": "string",
"description": "Plain sentence when pools are last-known data: their age and where the price came from."
}
}
},
"sources": {
"type": "array",
"items": {
"type": "string"
},
"description": "Every source used, with saved answers marked and dated."
},
"freshness": {
"type": "object",
"description": "When each part was checked: security (the scanner; a saved answer is at most 10 minutes old, and slow-changing findings such as owner, mint, holders and LP lock up to 24 hours, with their age in sources) and market.",
"properties": {
"checkedAt": {
"type": "string"
},
"security": {
"type": "object",
"properties": {
"source": {
"type": "string"
},
"asOf": {
"type": "string"
},
"ageSeconds": {
"type": "integer"
}
}
},
"market": {
"type": "object",
"description": "asOf/ageSeconds: the price; poolsAsOf/poolsAgeSeconds: liquidity, volume and pools (can be older when only the price could be refreshed).",
"properties": {
"source": {
"type": "string"
},
"asOf": {
"type": "string"
},
"ageSeconds": {
"type": "integer"
},
"poolsAsOf": {
"type": "string"
},
"poolsAgeSeconds": {
"type": "integer"
}
}
}
}
},
"disclaimer": {
"type": "string",
"description": "Limits of this answer; not financial, legal or security advice."
},
"checkedAt": {
"type": "string",
"description": "When the check ran (ISO 8601 time)."
},
"schemaVersion": {
"type": "string",
"const": "token-safety@1",
"description": "Output version (\"<tool>@<n>\"): additive changes only within a version; a new number for anything breaking, the old one kept 90 days."
}
},
"required": [
"address",
"chain",
"verdict",
"score",
"flags",
"holders",
"liquidity",
"market",
"sources",
"freshness"
]
}🟢token-report(address, chain, detail)
Everything about a token in one answer: safety, who holds it, liquidity, price action, whales and smart money, and news buzz, with an overall rating. ★ One of our best tools. Full token report, live: safety (honeypot, taxes, owner powers), holders (concentration, exchange/fund/locked share), liquidity (depth, locks, pools), price action, social/news buzz and smart-money signals (trade sizes, buy pressure, exchange and fund flows, whale transfers), with an overall rating and headline, in one call. 8 chains incl. Base, Solana, Ethereum. Use for a complete, live picture of one token before a decision. Instead, use `token-safety` ($0.02) for the scam check only. Answers may be cached for up to 20 seconds. Price: $0.10 USDC per call (x402 or prepaid credits); failed calls are free. Paid only (not in the free trial). Try token-safety free first.
輸入結構描述
{
"type": "object",
"properties": {
"address": {
"type": "string",
"maxLength": 64,
"description": "Token contract address (0x...) or Solana mint address."
},
"chain": {
"type": "string",
"enum": [
"base",
"solana",
"ethereum",
"bsc",
"arbitrum",
"polygon",
"optimism",
"avalanche"
],
"default": "base",
"description": "Blockchain: base, solana, ethereum, bsc, arbitrum, polygon, optimism, avalanche."
},
"detail": {
"type": "string",
"enum": [
"full",
"brief"
],
"default": "full",
"description": "brief = key fields only (same price)"
}
},
"required": [
"address"
],
"additionalProperties": false,
"examples": [
{
"address": "0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed",
"chain": "base"
}
]
}輸出結構描述
{
"type": "object",
"properties": {
"trust": {
"type": "object",
"description": "Third-party text, cleaned: read trust.notice; removed = what we stripped."
},
"address": {
"type": "string"
},
"chain": {
"type": "string",
"description": "The blockchain network queried."
},
"tier": {
"type": "string",
"enum": [
"cached",
"live",
"deep"
]
},
"name": {
"type": [
"string",
"null"
]
},
"symbol": {
"type": [
"string",
"null"
]
},
"summary": {
"type": "object",
"description": "Overall rating (avoid, caution, ok, unknown), one-line headline, highlights and risks.",
"properties": {
"rating": {
"type": "string",
"enum": [
"avoid",
"caution",
"ok",
"unknown"
]
},
"headline": {
"type": "string"
},
"highlights": {
"type": "array",
"items": {
"type": "string"
}
},
"risks": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"safety": {
"type": "object",
"properties": {
"verdict": {
"type": "string"
},
"score": {
"type": [
"integer",
"null"
],
"description": "null when the contract scan or liquidity data was unavailable"
},
"verdictReason": {
"type": "string"
},
"checksNotRun": {
"type": "array",
"items": {
"type": "string"
}
},
"flags": {
"type": "array",
"items": {
"type": "object",
"properties": {
"level": {
"type": "string"
},
"code": {
"type": "string"
},
"message": {
"type": "string"
}
}
}
},
"contract": {
"type": "object"
}
}
},
"holders": {
"type": [
"object",
"null"
],
"description": "Holder count, top-1/top-10 concentration, sellable top-10, supply by kind (exchange, fund/market maker, pool, locked, contract, wallet), labelled top holders."
},
"liquidity": {
"type": "object",
"description": "Total USD, depth rating, locked %, liquidity/market cap, top pools."
},
"priceAction": {
"type": "object",
"description": "Price, % change 5m/1h/6h/24h, trend, volume and buys/sells per window, buy/sell ratio, volume/liquidity."
},
"buzz": {
"type": "object",
"description": "0-100 buzz score, website and socials, paid DexScreener promotion and boosts, Hacker News mentions in 30 days."
},
"smartMoney": {
"type": "object",
"description": "Bias (bullish/bearish/neutral), signals, exchange, DEX and fund/market-maker flows, large transfers, top traders (when available)."
},
"market": {
"type": "object",
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"symbol": {
"type": [
"string",
"null"
]
},
"priceUsd": {
"type": [
"number",
"null"
]
},
"priceNative": {
"type": [
"number",
"null"
],
"description": "Price in the pair's quote token."
},
"liquidityUsd": {
"type": [
"number",
"null"
],
"description": "Total DEX liquidity across all pairs; null when unknown (only a price was available), never a false $0."
},
"volume24hUsd": {
"type": [
"number",
"null"
]
},
"priceChange": {
"type": "object",
"description": "Percent change over 5m, 1h, 6h, 24h."
},
"txns24h": {
"type": [
"object",
"null"
],
"properties": {
"buys": {
"type": "integer"
},
"sells": {
"type": "integer"
}
}
},
"marketCapUsd": {
"type": [
"number",
"null"
]
},
"fdvUsd": {
"type": [
"number",
"null"
]
},
"pairs": {
"type": [
"integer",
"null"
],
"description": "Number of DEX trading pairs; null when unknown."
},
"topPair": {
"type": [
"object",
"null"
]
},
"oldestPairCreatedAt": {
"type": [
"string",
"null"
]
},
"links": {
"type": "object"
},
"marketSource": {
"type": "string",
"description": "DexScreener, GeckoTerminal or DefiLlama (price only)."
},
"liquidityKnown": {
"type": "boolean",
"description": "False when only a price was available."
},
"poolsAsOf": {
"type": "string",
"description": "Present when pool data is the last known (DEX sources busy): when it was fetched."
},
"priceSource": {
"type": "string",
"description": "Where the price came from, when not the pools' own source."
},
"marketNote": {
"type": "string",
"description": "Plain sentence when pools are last-known data: their age and where the price came from."
}
}
},
"sources": {
"type": "array",
"items": {
"type": "string"
},
"description": "Where the data came from."
},
"disclaimer": {
"type": "string",
"description": "Limits of this answer; not financial, legal or security advice."
},
"generatedAt": {
"type": "string",
"description": "When this answer was produced (ISO 8601 time)."
},
"schemaVersion": {
"type": "string",
"const": "token-report@1",
"description": "Output version (\"<tool>@<n>\"): additive changes only within a version; a new number for anything breaking, the old one kept 90 days."
}
},
"required": [
"address",
"chain",
"tier",
"summary",
"safety",
"liquidity",
"priceAction",
"buzz",
"smartMoney",
"market"
]
}🟢wallet-risk(address, chain)
Before you pay, trade with or accept funds from an address: sanctions, hacks, phishing, mixers and scam links, with a clear verdict. Screens a wallet or contract address before you pay, trade with or accept funds from it: sanctions (OFAC), theft/hacks, phishing, money laundering, mixers, scams, fake tokens and malicious contracts, with a verdict (high-risk, suspicious, clean). Base, Ethereum, Solana, BNB, Arbitrum, Polygon, Optimism, Avalanche. Use before sending funds to, or accepting funds from, an address. Answers may be cached for up to 10 minutes. Price: $0.005 USDC per call (x402 or prepaid credits); failed calls are free. In the free trial.
輸入結構描述
{
"type": "object",
"properties": {
"address": {
"type": "string",
"maxLength": 64,
"description": "Wallet or contract address."
},
"chain": {
"type": "string",
"enum": [
"base",
"solana",
"ethereum",
"bsc",
"arbitrum",
"polygon",
"optimism",
"avalanche"
],
"default": "base",
"description": "Blockchain: base, solana, ethereum, bsc, arbitrum, polygon, optimism, avalanche."
}
},
"required": [
"address"
],
"additionalProperties": false,
"examples": [
{
"address": "0x098B716B8Aaf21512996dC57EB0615e2383E2f96",
"chain": "ethereum"
}
]
}輸出結構描述
{
"type": "object",
"properties": {
"trust": {
"type": "object",
"description": "Third-party text, cleaned: read trust.notice; removed = what we stripped."
},
"address": {
"type": "string"
},
"chain": {
"type": "string",
"description": "The blockchain network queried."
},
"verdict": {
"type": "string",
"enum": [
"high-risk",
"suspicious",
"clean",
"unknown"
]
},
"flags": {
"type": "array",
"items": {
"type": "object",
"properties": {
"level": {
"type": "string"
},
"code": {
"type": "string"
},
"message": {
"type": "string"
}
}
}
},
"maliciousContractsCreated": {
"type": "integer"
},
"dataSources": {
"type": "array",
"items": {
"type": "string"
}
},
"source": {
"type": "string"
},
"checkedAt": {
"type": "string",
"description": "When the check ran (ISO 8601 time)."
},
"schemaVersion": {
"type": "string",
"const": "wallet-risk@1",
"description": "Output version (\"<tool>@<n>\"): additive changes only within a version; a new number for anything breaking, the old one kept 90 days."
}
},
"required": [
"address",
"chain",
"verdict",
"flags"
]
}🟢gas(chains)
What a send, token transfer or swap costs right now on each major chain, and which chain is cheapest. Live network fees on Ethereum, Base, Arbitrum, Optimism, Polygon, BNB, Avalanche, Solana and Bitcoin: slow/standard/fast fee rates, congestion and trend, and the USD cost of a send, token transfer and swap on each, plus the cheapest chain now. Pick chains with chains (e.g. base,solana); all by default. Use to pick the cheapest chain, or a good moment, to send or swap. Answers may be cached for up to 15 seconds. Price: $0.002 USDC per call (x402 or prepaid credits); failed calls are free. In the free trial.
輸入結構描述
{
"type": "object",
"properties": {
"chains": {
"type": "string",
"maxLength": 120,
"description": "Comma-separated chains (default all): ethereum, base, arbitrum, optimism, polygon, bsc, avalanche, solana, bitcoin."
}
},
"additionalProperties": false,
"examples": [
{
"chains": "base,ethereum,solana"
}
]
}輸出結構描述
{
"type": "object",
"properties": {
"chains": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chain": {
"type": "string"
},
"symbol": {
"type": "string"
},
"nativeUsd": {
"type": [
"number",
"null"
]
},
"unit": {
"type": "string"
},
"baseFee": {
"type": [
"number",
"null"
]
},
"speeds": {
"type": "object",
"description": "slow, standard, fast fee rates in `unit`."
},
"congestion": {
"type": "string",
"enum": [
"low",
"normal",
"high"
]
},
"trend": {
"type": "string",
"enum": [
"rising",
"falling",
"steady"
]
},
"costs": {
"type": "object",
"description": "Cost of common actions at standard speed: {native, usd}."
}
}
}
},
"cheapest": {
"type": "object",
"description": "Cheapest chain now for a transfer and a swap (USD)."
},
"unavailable": {
"type": "array",
"description": "Chains whose fee source did not answer."
},
"source": {
"type": "string"
},
"checkedAt": {
"type": "string",
"description": "When the check ran (ISO 8601 time)."
},
"schemaVersion": {
"type": "string",
"const": "gas@1",
"description": "Output version (\"<tool>@<n>\"): additive changes only within a version; a new number for anything breaking, the old one kept 90 days."
}
},
"required": [
"chains",
"cheapest"
]
}🟢search-answer(q, pages, detail)
Ask anything: it searches, reads the best pages and writes a short answer with citations. ★ One of our best tools. Search, read and summarise in one call (open-sources tier): finds pages via Wikipedia, Hacker News, DuckDuckGo and Stack Overflow, reads the top ones (robots.txt respected) and writes a concise cited answer, plus pages read and all results. q is your question; pages (1-5, default 3) is how many pages to read. Moves to full-web search (and price) when a premium index is connected. Use when you want a written answer with sources, not a list of links. Instead, use `search-open` ($0.002) for links only. Answers may be cached for up to 30 minutes. Price: $0.03 USDC per call (x402 or prepaid credits); failed calls are free. Paid only (not in the free trial). Try search-open free first.
輸入結構描述
{
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 3,
"maxLength": 300,
"description": "Question or topic to research."
},
"pages": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"default": 3,
"description": "How many top result pages to read (1-5)."
},
"detail": {
"type": "string",
"enum": [
"full",
"brief"
],
"default": "full",
"description": "brief = key fields only (same price)"
}
},
"required": [
"q"
],
"additionalProperties": false,
"examples": [
{
"q": "What is the HTTP 402 status code used for?",
"pages": 3
}
]
}輸出結構描述
{
"type": "object",
"properties": {
"trust": {
"type": "object",
"description": "Third-party text, cleaned: read trust.notice; removed = what we stripped."
},
"query": {
"type": "string"
},
"answer": {
"type": "string",
"description": "Markdown answer; [n] cites pagesRead with that n."
},
"pagesRead": {
"type": "array",
"items": {
"type": "object",
"properties": {
"n": {
"type": "integer"
},
"title": {
"type": "string"
},
"url": {
"type": "string"
},
"read": {
"type": "boolean"
},
"note": {
"type": "string"
}
}
}
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"url": {
"type": "string"
},
"snippet": {
"type": "string"
},
"source": {
"type": "string",
"description": "Which index found it."
},
"publishedAt": {
"type": [
"string",
"null"
]
}
}
}
},
"provider": {
"type": "string",
"description": "Which index found the pages: brave, serper, exa, tavily or open."
},
"sources": {
"type": "array",
"items": {
"type": "object"
},
"description": "Where the data came from."
},
"answeredAt": {
"type": "string"
},
"schemaVersion": {
"type": "string",
"const": "search-answer@1",
"description": "Output version (\"<tool>@<n>\"): additive changes only within a version; a new number for anything breaking, the old one kept 90 days."
}
},
"required": [
"query",
"answer",
"pagesRead",
"results",
"provider"
]
}🟢search-open(q, limit, detail)
Fast, cheap search across Wikipedia, Hacker News, DuckDuckGo and Stack Overflow. ★ One of our best tools. Lowest-cost search tier: Wikipedia articles, Hacker News stories, DuckDuckGo instant answers and Stack Overflow questions (quota permitting) in one call, merged, de-duplicated and ranked, with titles, links, snippets and dates. Good for facts and for tech news and discussion (Hacker News). q is the search words; limit caps results; detail=brief trims fields. Use for quick facts, tech and programming lookups where results up to an hour old are fine. Instead, use `search-answer` ($0.03) for a written answer with citations. Answers may be cached for up to 1 hour. Price: $0.002 USDC per call (x402 or prepaid credits); failed calls are free. In the free trial.
輸入結構描述
{
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 2,
"maxLength": 300,
"description": "What to search for."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"default": 10,
"description": "Most results to return."
},
"detail": {
"type": "string",
"enum": [
"full",
"brief"
],
"default": "full",
"description": "brief = key fields only (same price)"
}
},
"required": [
"q"
],
"additionalProperties": false,
"examples": [
{
"q": "HTTP 402 payment required",
"limit": 10
}
]
}輸出結構描述
{
"type": "object",
"properties": {
"trust": {
"type": "object",
"description": "Third-party text, cleaned: read trust.notice; removed = what we stripped."
},
"query": {
"type": "string"
},
"provider": {
"type": "string",
"description": "brave, serper or exa (premium index) or open (free sources)."
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"url": {
"type": "string"
},
"snippet": {
"type": "string"
},
"source": {
"type": "string",
"description": "Which index found it."
},
"publishedAt": {
"type": [
"string",
"null"
]
}
}
}
},
"count": {
"type": "integer",
"description": "Number of items returned."
},
"sources": {
"type": "array",
"items": {
"type": "object"
},
"description": "Which sources answered."
},
"searchedAt": {
"type": "string"
},
"schemaVersion": {
"type": "string",
"const": "search-open@1",
"description": "Output version (\"<tool>@<n>\"): additive changes only within a version; a new number for anything breaking, the old one kept 90 days."
}
},
"required": [
"query",
"provider",
"results",
"count",
"sources"
]
}🟢docs-lib(library, ecosystem, topic, tokens)
Stop your assistant using stale APIs: the latest docs for any npm, PyPI, crates or Go library, trimmed to your topic. ★ One of our best tools. Up-to-date docs for any npm, PyPI, crates or Go library: finds the project's own llms.txt and docs pages (or the latest release's README), keeps only the sections relevant to topic within a tokens budget, and returns them with sources and the current version. library is the package name; ecosystem defaults to npm. Use before writing code against a library, to read its current docs on a topic. Instead, use `docs-answer` ($0.02) for a direct answer to one question; `docs-find` ($0.003) for docs locations only. Answers may be cached for up to 6 hours. Price: $0.005 USDC per call (x402 or prepaid credits); failed calls are free. In the free trial.
輸入結構描述
{
"type": "object",
"properties": {
"library": {
"type": "string",
"minLength": 1,
"maxLength": 214,
"description": "Library/package name as published, e.g. hono, fastapi, serde, github.com/gin-gonic/gin."
},
"ecosystem": {
"type": "string",
"enum": [
"npm",
"pypi",
"crates",
"go"
],
"default": "npm",
"description": "Package ecosystem: npm, pypi, crates (Rust) or go (Go modules)."
},
"topic": {
"type": "string",
"maxLength": 200,
"description": "What you need, e.g. routing, authentication, streaming responses (default: overview)."
},
"tokens": {
"type": "integer",
"minimum": 500,
"maximum": 12000,
"default": 4000,
"description": "Most tokens of documentation to return."
}
},
"required": [
"library"
],
"additionalProperties": false,
"examples": [
{
"library": "hono",
"ecosystem": "npm",
"topic": "cors middleware",
"tokens": 3000
}
]
}輸出結構描述
{
"type": "object",
"properties": {
"trust": {
"type": "object",
"description": "Third-party text, cleaned: read trust.notice; removed = what we stripped."
},
"library": {
"type": "string"
},
"ecosystem": {
"type": "string",
"description": "The package ecosystem (npm, pypi, crates or go)."
},
"version": {
"type": [
"string",
"null"
],
"description": "Latest published version the docs were matched to."
},
"topic": {
"type": [
"string",
"null"
]
},
"content": {
"type": "string",
"description": "Markdown documentation, each part headed by an HTML comment naming its source."
},
"tokens": {
"type": "integer",
"description": "Estimated tokens in content."
},
"truncated": {
"type": "boolean",
"description": "True if relevant material was left out to fit the budget."
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"llms.txt",
"llms-full.txt",
"docs-page",
"readme"
]
}
}
},
"description": "Where the data came from."
},
"homepage": {
"type": [
"string",
"null"
]
},
"fetchedAt": {
"type": "string",
"description": "When the data was fetched from its source (ISO 8601 time)."
},
"schemaVersion": {
"type": "string",
"const": "docs-lib@1",
"description": "Output version (\"<tool>@<n>\"): additive changes only within a version; a new number for anything breaking, the old one kept 90 days."
}
},
"required": [
"library",
"ecosystem",
"version",
"content",
"tokens",
"sources"
]
}🟢docs-answer(library, ecosystem, question)
An answer written only from a library's current docs, with a code example and sources. ★ One of our best tools. Reads the project's current docs (llms.txt, docs pages or latest README) for any npm, PyPI, crates or Go library and answers from them alone, with a code example, the version it applies to and cited sources; says so when the docs don't cover it. library is the package name, question your question; ecosystem defaults to npm. Use for a direct answer to one how-to question about a library, from its current docs. Instead, use `docs-lib` ($0.005) for the docs to read yourself. Answers may be cached for up to 6 hours. Price: $0.02 USDC per call (x402 or prepaid credits); failed calls are free. Paid only (not in the free trial). Try docs-lib free first.
輸入結構描述
{
"type": "object",
"properties": {
"library": {
"type": "string",
"minLength": 1,
"maxLength": 214,
"description": "Library/package name as published, e.g. hono, fastapi, serde, github.com/gin-gonic/gin."
},
"ecosystem": {
"type": "string",
"enum": [
"npm",
"pypi",
"crates",
"go"
],
"default": "npm",
"description": "Package ecosystem: npm, pypi, crates (Rust) or go (Go modules)."
},
"question": {
"type": "string",
"minLength": 5,
"maxLength": 1000,
"description": "Your question, e.g. How do I enable CORS for one route?"
}
},
"required": [
"library",
"question"
],
"additionalProperties": false,
"examples": [
{
"library": "hono",
"ecosystem": "npm",
"question": "How do I enable CORS for only the /api routes?"
}
]
}輸出結構描述
{
"type": "object",
"properties": {
"trust": {
"type": "object",
"description": "Third-party text, cleaned: read trust.notice; removed = what we stripped."
},
"library": {
"type": "string"
},
"ecosystem": {
"type": "string",
"description": "The package ecosystem (npm, pypi, crates or go)."
},
"version": {
"type": [
"string",
"null"
]
},
"question": {
"type": "string"
},
"answer": {
"type": "string",
"description": "Markdown answer; [n] cites sources[n-1]."
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"llms.txt",
"llms-full.txt",
"docs-page",
"readme"
]
}
}
},
"description": "Where the data came from."
},
"docsTokens": {
"type": "integer"
},
"fetchedAt": {
"type": "string",
"description": "When the data was fetched from its source (ISO 8601 time)."
},
"schemaVersion": {
"type": "string",
"const": "docs-answer@1",
"description": "Output version (\"<tool>@<n>\"): additive changes only within a version; a new number for anything breaking, the old one kept 90 days."
}
},
"required": [
"library",
"version",
"question",
"answer",
"sources"
]
}🟢find-best-tool(job, kind, maxPrice, limit)
Describe a task and get the best pay-per-call APIs and MCP tools for it, ranked with prices and reliability. Find the best tool for a job. Describe the task in plain English (e.g. 'check if a token is a rug pull', 'scrape a page to markdown', 'cheap LLM chat') and get a short ranked list of pay-per-call x402 APIs and MCP servers side by side: what each does, exactly how to use it, price, reliability from our own checks, and why it fits. Neutral: ranking is never paid, and you call and pay each tool directly. Use to find pay-per-call APIs and MCP tools from any provider for a task. Answers may be cached for up to 10 minutes. Price: $0.002 USDC per call (x402 or prepaid credits); failed calls are free. In the free trial.
輸入結構描述
{
"type": "object",
"properties": {
"job": {
"type": "string",
"minLength": 3,
"maxLength": 300,
"description": "The job, in plain English."
},
"kind": {
"type": "string",
"enum": [
"any",
"api",
"mcp"
],
"default": "any",
"description": "any, api (x402 pay-per-call APIs only) or mcp (MCP servers only)."
},
"maxPrice": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Highest price per call in USD, for pay-per-call APIs."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"default": 5,
"description": "How many options to return."
}
},
"required": [
"job"
],
"additionalProperties": false,
"examples": [
{
"job": "check if a token is a rug pull",
"kind": "any",
"limit": 5
}
]
}輸出結構描述
{
"type": "object",
"properties": {
"trust": {
"type": "object",
"description": "Third-party text, cleaned: read trust.notice; removed = what we stripped."
},
"job": {
"type": "string"
},
"answer": {
"type": "string",
"description": "One-paragraph recommendation an assistant can act on."
},
"results": {
"type": "array",
"description": "Best first. kind, name, does, howToUse (one line), price, reliability, why, link.",
"items": {
"type": "object",
"properties": {
"rank": {
"type": "integer"
},
"kind": {
"type": "string",
"enum": [
"x402 API",
"MCP server"
]
},
"name": {
"type": "string"
},
"does": {
"type": "string"
},
"howToUse": {
"type": "string"
},
"price": {
"type": "string"
},
"reliability": {
"type": "string"
},
"why": {
"type": "string"
},
"link": {
"type": [
"string",
"null"
]
},
"usageTerms": {
"type": [
"object",
"null"
],
"description": "The seller's declared usage terms (resale, caching, attribution...) for tools on our marketplace; null = not declared."
}
}
}
},
"searched": {
"type": "object",
"description": "How many x402 APIs and MCP servers were considered, and what we understood: understoodAs (the kind of job), action (send, receive, validate, assess or read) and channel (sms, whatsapp, email...), or null."
},
"sponsored": {
"type": "object",
"description": "At most one paid placement matching the job, clearly labelled; never part of the ranked results."
},
"note": {
"type": "string",
"description": "Extra context about this answer."
},
"schemaVersion": {
"type": "string",
"const": "find-best-tool@1",
"description": "Output version (\"<tool>@<n>\"): additive changes only within a version; a new number for anything breaking, the old one kept 90 days."
}
},
"required": [
"job",
"answer",
"results"
]
}🟢token-price(address, symbol, chain)
Live price of any token on Base, Solana, Ethereum, BNB, Arbitrum, Polygon, Optimism or Avalanche from DEX data: USD price, total liquidity, 24h volume, buys/sells, price change (5m/1h/6h/24h), market cap, FDV, pair count and pool age. For a full rug-pull check use token-safety. Use when you only need a token's current price, liquidity and volume. Instead, use `token-safety` ($0.02) to check it is safe. Answers may be cached for up to 30 seconds. Price: $0.005 USDC per call (x402 or prepaid credits); failed calls are free. In the free trial.
輸入結構描述
{
"type": "object",
"properties": {
"address": {
"type": "string",
"maxLength": 64,
"description": "Token contract address (0x...) or Solana mint address. Give this or symbol."
},
"symbol": {
"type": "string",
"minLength": 2,
"maxLength": 20,
"description": "Or a symbol (ETH, BTC, SOL, PEPE). If several tokens share it, the answer lists the top matches and asks for chain or address (not charged)."
},
"chain": {
"type": "string",
"enum": [
"base",
"solana",
"ethereum",
"bsc",
"arbitrum",
"polygon",
"optimism",
"avalanche"
],
"description": "Chain of the token (base when an address is given without one)."
}
},
"required": [],
"additionalProperties": false,
"examples": [
{
"address": "0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed",
"chain": "base"
}
]
}輸出結構描述
{
"type": "object",
"properties": {
"trust": {
"type": "object",
"description": "Third-party text, cleaned: read trust.notice; removed = what we stripped."
},
"address": {
"type": "string"
},
"chain": {
"type": "string",
"description": "The blockchain network queried."
},
"found": {
"type": "boolean",
"description": "False if no source has a market or price for the token."
},
"name": {
"type": [
"string",
"null"
]
},
"symbol": {
"type": [
"string",
"null"
]
},
"priceUsd": {
"type": [
"number",
"null"
]
},
"priceNative": {
"type": [
"number",
"null"
],
"description": "Price in the pair's quote token."
},
"liquidityUsd": {
"type": [
"number",
"null"
],
"description": "Total USD liquidity across pools; null when unknown (only a price was available), never a false $0."
},
"volume24hUsd": {
"type": [
"number",
"null"
],
"description": "24h volume in USD; null when unknown."
},
"priceChange": {
"type": "object",
"description": "Percent change over 5m, 1h, 6h, 24h."
},
"txns24h": {
"type": [
"object",
"null"
],
"description": "24h buys and sells; null when unknown."
},
"marketCapUsd": {
"type": [
"number",
"null"
]
},
"fdvUsd": {
"type": [
"number",
"null"
]
},
"pairs": {
"type": [
"integer",
"null"
],
"description": "Number of pools; null when unknown."
},
"topPair": {
"type": [
"object",
"null"
]
},
"oldestPairCreatedAt": {
"type": [
"string",
"null"
]
},
"links": {
"type": "object"
},
"marketSource": {
"type": "string",
"description": "DexScreener, GeckoTerminal or DefiLlama (price only)."
},
"liquidityKnown": {
"type": "boolean",
"description": "False when only a price was available."
},
"poolsAsOf": {
"type": "string",
"description": "Present when pool data is the last known (DEX sources busy): when it was fetched."
},
"priceSource": {
"type": "string",
"description": "Where the price came from, when not the pools' own source."
},
"marketNote": {
"type": "string",
"description": "Plain sentence when pools are last-known data: their age and where the price came from."
},
"liquidityNote": {
"type": "string",
"description": "Present when liquidity is unknown, saying why."
},
"resolvedFrom": {
"type": "object",
"description": "When a symbol was given: the symbol, the chosen chain and address, its name and status (verified, likely-real, unverified), a note, and up to 3 alternatives with the same symbol."
},
"source": {
"type": "string"
},
"fetchedAt": {
"type": "string",
"description": "When the price was fetched from its source (older than servedAt when served from our shared cache)."
},
"servedAt": {
"type": "string",
"description": "When this answer was served."
},
"schemaVersion": {
"type": "string",
"const": "token-price@1",
"description": "Output version (\"<tool>@<n>\"): additive changes only within a version; a new number for anything breaking, the old one kept 90 days."
}
},
"required": [
"address",
"chain",
"found",
"priceUsd",
"liquidityUsd",
"volume24hUsd",
"pairs"
]
}🟢extract(url)
Fetch any public web page and get back clean Markdown, the page title and all links as JSON. Pass the page address as url: https://... Scripts, styles, menus and other clutter are removed. Built for AI agents that need to read the web. Private or internal addresses are blocked. Pages over 2 MB or slower than 10 seconds are rejected and you are not charged. Use to read one HTML web page as Markdown together with all its links. Instead, use `markdown` ($0.005) for PDFs and Office documents too. Answers may be cached for up to 10 minutes. Price: $0.005 USDC per call (x402 or prepaid credits); failed calls are free. In the free trial.
輸入結構描述
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"description": "Full http(s) address of a public web page."
}
},
"required": [
"url"
],
"additionalProperties": false,
"examples": [
{
"url": "https://example.com"
}
]
}輸出結構描述
{
"type": "object",
"properties": {
"trust": {
"type": "object",
"description": "Third-party text, cleaned: read trust.notice; removed = what we stripped."
},
"url": {
"type": "string",
"description": "Final address after redirects."
},
"title": {
"type": "string"
},
"markdown": {
"type": "string",
"description": "Main page content as Markdown."
},
"links": {
"type": "array",
"items": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"href": {
"type": "string"
}
},
"required": [
"text",
"href"
]
}
},
"schemaVersion": {
"type": "string",
"const": "extract@1",
"description": "Output version (\"<tool>@<n>\"): additive changes only within a version; a new number for anything breaking, the old one kept 90 days."
}
},
"required": [
"url",
"title",
"markdown",
"links"
]
}🟢markdown(url)
Turn any document URL into clean Markdown for LLMs: web pages, PDFs, Word (.docx), Excel (.xlsx/.xls), OpenDocument, CSV, XML and plain text, up to 10 MB. Returns title, Markdown, links (for web pages) and character count. Private addresses are blocked; failures are not charged. Use to read one web page or document (PDF, Word, Excel) as Markdown. Answers may be cached for up to 10 minutes. Price: $0.005 USDC per call (x402 or prepaid credits); failed calls are free. In the free trial.
輸入結構描述
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"description": "Address of a public web page or document."
}
},
"required": [
"url"
],
"additionalProperties": false,
"examples": [
{
"url": "https://example.com"
}
]
}輸出結構描述
{
"type": "object",
"properties": {
"trust": {
"type": "object",
"description": "Third-party text, cleaned: read trust.notice; removed = what we stripped."
},
"url": {
"type": "string",
"description": "Final address after redirects."
},
"contentType": {
"type": "string"
},
"title": {
"type": "string"
},
"markdown": {
"type": "string"
},
"links": {
"type": "array",
"items": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"href": {
"type": "string"
}
}
}
},
"chars": {
"type": "integer"
},
"truncated": {
"type": "boolean",
"description": "True if the Markdown was cut at 500,000 characters."
},
"converter": {
"type": "string",
"enum": [
"html",
"text",
"document",
"browser"
]
},
"schemaVersion": {
"type": "string",
"const": "markdown@1",
"description": "Output version (\"<tool>@<n>\"): additive changes only within a version; a new number for anything breaking, the old one kept 90 days."
}
},
"required": [
"url",
"contentType",
"title",
"markdown",
"chars",
"truncated",
"converter"
]
}🟢docs-find(library, ecosystem, site)
Find the AI-ready docs for any library or API: checks the project's docs site (from its npm, PyPI, crates or Go metadata) or any company domain (docs., developers., /docs) for llms.txt and llms-full.txt files, with titles, sizes and page counts, plus homepage and repository. Use to locate where a project's AI-ready docs (llms.txt) live. Instead, use `docs-lib` ($0.005) for the docs content itself. Answers may be cached for up to 24 hours. Price: $0.003 USDC per call (x402 or prepaid credits); failed calls are free. In the free trial.
輸入結構描述
{
"type": "object",
"properties": {
"library": {
"type": "string",
"maxLength": 214,
"description": "Package name (with ecosystem), e.g. hono, fastapi."
},
"ecosystem": {
"type": "string",
"enum": [
"npm",
"pypi",
"crates",
"go"
],
"default": "npm",
"description": "Package ecosystem: npm, pypi, crates (Rust) or go (Go modules)."
},
"site": {
"type": "string",
"maxLength": 253,
"description": "Or: a company/API domain, e.g. stripe.com or https://docs.stripe.com."
}
},
"additionalProperties": false,
"examples": [
{
"library": "hono",
"ecosystem": "npm"
}
]
}輸出結構描述
{
"type": "object",
"properties": {
"trust": {
"type": "object",
"description": "Third-party text, cleaned: read trust.notice; removed = what we stripped."
},
"query": {
"type": "object"
},
"found": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"kind": {
"type": "string"
},
"title": {
"type": [
"string",
"null"
]
},
"summary": {
"type": [
"string",
"null"
]
},
"links": {
"type": [
"integer",
"null"
]
},
"bytes": {
"type": [
"integer",
"null"
]
}
}
}
},
"checked": {
"type": "array",
"items": {
"type": "string"
},
"description": "Every address tried."
},
"homepage": {
"type": [
"string",
"null"
]
},
"repository": {
"type": [
"string",
"null"
]
},
"version": {
"type": [
"string",
"null"
]
},
"tip": {
"type": "string"
},
"checkedAt": {
"type": "string",
"description": "When the check ran (ISO 8601 time)."
},
"schemaVersion": {
"type": "string",
"const": "docs-find@1",
"description": "Output version (\"<tool>@<n>\"): additive changes only within a version; a new number for anything breaking, the old one kept 90 days."
}
},
"required": [
"query",
"found",
"checked"
]
}🟡topup(amountUsd, network, method, pack)
Start a prepaid-credits top-up so every tool keeps working after the free trial (20 free calls a day). Use when a tool says the free calls or credit have run out, or the user asks to buy credit; to see what's left, use `balance` instead. Creates a payment request only: it returns the exact USDC amount and address to send (Base or Solana) and a QR-code page, and nothing is charged unless the user sends that payment, which is credited about 15 minutes after it confirms. Without a key in the server URL it also creates an API key (shown once) and the new server URL to use; with one (e.g. a free key), it tops up that same key, so your connector URL stays the same, and reuses a top-up still waiting for payment. Free to call.
輸入結構描述
{
"type": "object",
"properties": {
"amountUsd": {
"type": "number",
"minimum": 1,
"maximum": 500,
"description": "Dollars of credit to buy: suggest $2, $5, $10 ($10+ gets +10% bonus credit). Minimum $1. Default $2."
},
"network": {
"type": "string",
"enum": [
"base",
"solana"
],
"description": "Where you'll send USDC from. Default base."
},
"method": {
"type": "string",
"enum": [
"usdc",
"card"
],
"description": "How to pay: \"usdc\" (default) or \"card\" (a card checkout link, when card payments are available; the same credits)."
},
"pack": {
"type": "string",
"enum": [
"credits-5",
"credits-10",
"credits-25"
],
"description": "For method \"card\": the credit pack ($5, $10 or $25; $10+ gets +10% credit). Default credits-5."
}
},
"additionalProperties": false,
"examples": [
{
"amountUsd": 2,
"network": "base"
}
]
}輸出結構描述
{
"type": "object",
"properties": {
"topupId": {
"type": "string",
"description": "Id of this top-up; its QR-code page is payPage."
},
"send": {
"type": "object",
"description": "Exactly what to send.",
"properties": {
"amount": {
"type": "string",
"description": "USDC amount to send, all six decimals (it identifies the payment)."
},
"token": {
"type": "string",
"description": "Always USDC."
},
"network": {
"type": "string",
"description": "Network to send on (Base or Solana)."
},
"to": {
"type": "string",
"description": "Our wallet address to send to."
}
}
},
"paymentUri": {
"type": "string",
"description": "Wallet payment link with the amount and address filled in."
},
"expires": {
"type": "string",
"description": "When this payment request expires (ISO 8601 time)."
},
"payPage": {
"type": "string",
"description": "Web page with a QR code and live payment status."
},
"apiKey": {
"type": "string",
"description": "New API key (only when the server URL had none). Shown once; keep it secret."
},
"serverUrl": {
"type": "string",
"description": "MCP server URL carrying the new key, to use from now on."
},
"checkoutUrl": {
"type": "string",
"description": "For method \"card\": the secure card checkout page (hosted by the payment provider)."
},
"orderId": {
"type": "string",
"description": "For method \"card\": the order id; credit arrives on the key as soon as the payment completes."
}
}
}🟢balance(code)
Shows how many free calls are left today and the prepaid credit balance (with roughly how many paid calls it covers), plus any top-up still waiting for payment. Use when the user asks what's left, or after `topup` to see whether a payment has arrived; to add credit, use `topup` instead. Reads the key in the server URL if there is one, otherwise the free calls for this connection. Free to call. Pass `code` to redeem a credit code (ac_…) we gave back for an empty result: it's added to the key's balance (a new key is made if there isn't one).
輸入結構描述
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Optional: a credit code to redeem, e.g. ac_0123456789abcdef01234567.",
"pattern": "^ac_[0-9a-f]{24}$"
}
},
"additionalProperties": false,
"examples": [
{}
]
}輸出結構描述
{
"type": "object",
"properties": {
"freeTrial": {
"type": [
"object",
"null"
],
"description": "Free calls left today (null if the free trial couldn't be checked or is off).",
"properties": {
"remaining": {
"type": "integer",
"description": "Free calls left today."
},
"perDay": {
"type": "integer",
"description": "Free calls allowed per day."
},
"resets": {
"type": "string",
"description": "When the free calls reset (00:00 UTC)."
},
"perKey": {
"type": "boolean",
"description": "True when counted for the API key in the server URL."
}
}
},
"balanceUsd": {
"type": "number",
"description": "Prepaid credit left, in US dollars (only with a key)."
},
"approxPaidCalls": {
"type": "integer",
"description": "Roughly how many $0.01 calls the balance covers."
},
"lowBalance": {
"type": "boolean",
"description": "True when the balance is running low."
},
"calls": {
"type": "integer",
"description": "Paid calls made with this key so far."
},
"topups": {
"type": "array",
"description": "Recent top-ups (open, paid or expired), newest first.",
"items": {
"type": "object"
}
},
"recentCalls": {
"type": "array",
"description": "The latest paid calls with their cost.",
"items": {
"type": "object"
}
},
"credits": {
"type": "null",
"description": "Null when the server URL has no API key."
},
"redeemedUsd": {
"type": "number",
"description": "Credit added from a redeemed code."
},
"apiKey": {
"type": "string",
"description": "A new API key, when a code was redeemed without one (shown once)."
},
"serverUrl": {
"type": "string",
"description": "The server URL with the new key."
}
}
}社群
證據