{"serverInfo":{"name":"spendgate","title":"SpendGate","version":"1.0.0"},"description":"SpendGate scores a planned spend before an autonomous agent pays. Verdicts are approve, ask_human, or block.","documentationUrl":"https://spendgate.toolweather.workers.dev/llms.txt","transport":{"type":"streamable-http","endpoint":"/mcp"},"capabilities":{"tools":{"listChanged":false}},"authentication":{"required":false,"schemes":["bearer","x402"]},"instructions":"Call score_spend before an agent pays, transfers crypto, buys a gift card, or starts a paid subscription. Pass the amount in USD, the category, the merchant or endpoint, and any daily or monthly budget still remaining. approve means pay. ask_human means stop and ask a person. block means do not pay. Do not reword the purpose and call again to fish for a higher score. v1 scoring is deterministic. get_quota reads the free daily cap. get_api_key mints a free key once; store the secret. After the free cap, score_spend requires an x402 USDC payment on Base. get_quota and get_api_key stay free.","tools":[{"name":"score_spend","description":"Score a planned payment before sending it. Call this before any tool that transfers crypto, buys a gift card, starts a subscription, or pays an API or merchant. Pass amount in USD, category, merchant or endpoint URL, and any budget remaining. Returns score 0-100, verdict approve | ask_human | block, reasons, and recommended_action."},{"name":"get_quota","description":"Read how many free SpendGate scores remain today for this anonymous caller or API key. Does not consume a score and is not billed."},{"name":"get_api_key","description":"Mint a free SpendGate API key. The secret is returned once. Store it and send it as Authorization: Bearer, or as api_key on later score_spend calls. Do not call this on every turn."}]}