Aayat AI

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

¿Debería usar esto?

Calidad y seguridad

B
Calidad de la descripción
100%
Integridad del esquema
97%
Calidad de los nombres
64%
Riesgo de envenenamiento
40%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (14)

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

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~11,053Tokens (definiciones de herramientas)
~6.4 KBTamaño de respuesta típico
Impacto significativo en la atención (8.64% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "aayat-ai": {
      "url": "https://aayatai.com/mcp"
    }
  }
}

Puntos de conexión remotos

https://aayatai.com/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (15)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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.

Esquema de entrada

{
  "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"
    }
  ]
}

Esquema de salida

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

Esquema de entrada

{
  "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"
    }
  ]
}

Esquema de salida

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

Esquema de entrada

{
  "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"
    }
  ]
}

Esquema de salida

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

Esquema de entrada

{
  "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"
    }
  ]
}

Esquema de salida

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

Esquema de entrada

{
  "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
    }
  ]
}

Esquema de salida

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

Esquema de entrada

{
  "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
    }
  ]
}

Esquema de salida

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

Esquema de entrada

{
  "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
    }
  ]
}

Esquema de salida

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

Esquema de entrada

{
  "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?"
    }
  ]
}

Esquema de salida

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

Esquema de entrada

{
  "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
    }
  ]
}

Esquema de salida

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

Esquema de entrada

{
  "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"
    }
  ]
}

Esquema de salida

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

Esquema de entrada

{
  "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"
    }
  ]
}

Esquema de salida

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

Esquema de entrada

{
  "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"
    }
  ]
}

Esquema de salida

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

Esquema de entrada

{
  "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"
    }
  ]
}

Esquema de salida

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

Esquema de entrada

{
  "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"
    }
  ]
}

Esquema de salida

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

Esquema de entrada

{
  "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": [
    {}
  ]
}

Esquema de salida

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

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada15 herramientas