Aayat AI

AI agent tools: crypto token safety, web search with cited answers, live library docs. Free trial.

我該用這個嗎

品質與安全性

B
說明品質
100%
結構描述完整度
97%
命名品質
64%
汙染風險
40%
權限相符程度
100%
協定合規性
100%

發現項目(14)

  • HIGHTool poisoning patterns detected
  • LOWTool 'token-safety' doesn't follow camelCase/snake_case在 token-safety 中
  • LOWTool 'token-report' doesn't follow camelCase/snake_case在 token-report 中
  • LOWTool 'wallet-risk' doesn't follow camelCase/snake_case在 wallet-risk 中
  • LOWTool 'search-answer' doesn't follow camelCase/snake_case在 search-answer 中
  • LOWTool 'search-open' doesn't follow camelCase/snake_case在 search-open 中
  • LOWTool 'docs-lib' doesn't follow camelCase/snake_case在 docs-lib 中
  • LOWTool 'docs-answer' doesn't follow camelCase/snake_case在 docs-answer 中
  • LOWTool 'find-best-tool' doesn't follow camelCase/snake_case在 find-best-tool 中
  • LOWTool 'token-price' doesn't follow camelCase/snake_case在 token-price 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~11,053Token(工具定義)
~6.4 KB典型回應大小
顯著的注意力影響(128k 上下文的 8.64%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 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."
    }
  }
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本15 個工具