Skip to content

Agent Vending Factory

by RubenTay · remote · no sign-in to list tools · v0.1.3 · published by GitHub user RubenTay

Pay-per-call MCP tools via x402 USDC: ZAR prices, data extraction, Python sandbox, SA flights.

Changes · 4

4 tools: 4 change things.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http agent-vending-factory https://agent-vending-factory-3srpjtr7na-ew.a.run.app/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

4 tools

Changes things 4Claude Code: ask
  • tool_compute_sandboxPOST /tools/tool_compute_sandbox/run — Executes Python 3.12 code in an isolated subprocess with a 5-second hard timeout.No findings

    Why it is in this group

    • The description's first verb is "post": a word for a change.
    Description, as the server wrote it
    POST /tools/tool_compute_sandbox/run — Executes Python 3.12 code in an isolated subprocess with a 5-second hard timeout. Input: {python_code: string, input_data: any (optional, bound as variable 'input_data')}. Output: {success, result, stdout (capped 50KB), execution_time_ms, error_type}. Return value: assign to 'result' variable. Pre-loaded: math, json, re, statistics, itertools, functools, collections, decimal, datetime, random, hashlib, base64. Blocked: import, open(), eval(), exec(), os, sys, network, class definitions, dunder attributes. error_type values: syntax_error | security_error | runtime_error | timeout_error. Cost: $0.1500 USDC per call.
  • tool_data_transformerPOST /tools/tool_data_transformer/run — Extracts structured JSON from raw text using a caller-supplied JSON Schema.No findings

    Why it is in this group

    • The description's first verb is "post": a word for a change.
    Description, as the server wrote it
    POST /tools/tool_data_transformer/run — Extracts structured JSON from raw text using a caller-supplied JSON Schema. Input: {raw_text: string, target_json_schema: object (JSON Schema draft-07)}. Output: {success, extracted_data, extraction_method, validation_passed, error}. extraction_method is one of: 'direct_parse', 'embedded_json', 'regex_extraction'. No LLM involved — pure parsing pipeline. Type coercion applied for integer/number/boolean fields. Works best with flat schemas; deeply nested structures extract less reliably via key-value pass. Cost: $0.0500 USDC per call.
  • tool_sa_airport_oraclePOST /tools/sa-airport-oracle/run — Returns live flight status from ACSA (airports.co.za).No findings

    Why it is in this group

    • The description's first verb is "post": a word for a change.
    Description, as the server wrote it
    POST /tools/sa-airport-oracle/run — Returns live flight status from ACSA (airports.co.za). Input: {airport_code: 'JNB'|'CPT'|'DUR', flight_number: string, request_type: 'arrival'|'departure'}. Output: {success, live_status, scheduled_time, estimated_time, actual_time, gate, carousel, terminal, flight_number, airport_code, request_type, error}. Coverage: JNB (O.R. Tambo), CPT (Cape Town Int'l), DUR (King Shaka). Data window: flights within 48 hours. Call GET /tools/sa-airport-oracle/health (free) first — if structure_valid=false, do not proceed. error_type values: 'stale_data' (do not retry), 'not found' (retry after 10-15 min), network error (retry once). flight_number is case-insensitive and normalised to uppercase internally. Read-only — no booking/ticketing. Cost: $0.1200 USDC per call.
  • tool_zar_pricesPOST /tools/zar-prices/run — Returns live bid/ask/last prices for crypto/ZAR pairs.No findings

    Why it is in this group

    • The description's first verb is "post": a word for a change.
    Description, as the server wrote it
    POST /tools/zar-prices/run — Returns live bid/ask/last prices for crypto/ZAR pairs. Input: {pair: 'BTC/ZAR'|'ETH/ZAR'|'SOL/ZAR'|'USDC/ZAR'|'all'}. Output: array of {exchange, pair, price, bid, ask, timestamp} objects. Sources: VALR (all 4 pairs), Luno (BTC/ZAR + ETH/ZAR only). SOL/ZAR and USDC/ZAR are VALR-only. Fetches all exchanges concurrently. Timestamps are ISO-8601 UTC. Cost: $0.0050 USDC per call.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.1.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http agent-vending-factory https://agent-vending-factory-3srpjtr7na-ew.a.run.app/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [],
    "ask": [
      "mcp__agent-vending-factory__tool_zar_prices",
      "mcp__agent-vending-factory__tool_data_transformer",
      "mcp__agent-vending-factory__tool_compute_sandbox",
      "mcp__agent-vending-factory__tool_sa_airport_oracle"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as agent-vending-factory. Review it before you use it.