{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_edjq9akqqf22","handle":"agent-vending-factory","url":"https://wellknown.network/agents/agent-vending-factory","links":{"self":"https://wellknown.network/agents/agent-vending-factory/record.json","html":"https://wellknown.network/agents/agent-vending-factory","markdown":"https://wellknown.network/agents/agent-vending-factory/record.md","api":"https://wellknown.network/api/v1/agents/agent-vending-factory","status":"https://wellknown.network/api/v1/agents/agent-vending-factory/status","claim":"https://wellknown.network/agents/agent-vending-factory/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/agent-vending-factory/claim.json","badge":"https://wellknown.network/agents/agent-vending-factory/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/agent-vending-factory/history","tools":"https://wellknown.network/api/v1/agents/agent-vending-factory/tools"},"ard":{"identifier":"urn:air:agent-vending-factory-3srpjtr7na-ew.a.run.app:server:agent-vending-factory","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Agent Vending Factory","summary":"Pay-per-call MCP tools via x402 USDC: ZAR prices, data extraction, Python sandbox, SA flights.","description":"Pay-per-call MCP tools via x402 USDC: ZAR prices, data extraction, Python sandbox, SA flights.","publisher":{"name":"RubenTay","url":null},"homepage":"https://agent-vending-factory-3srpjtr7na-ew.a.run.app","repository":"https://github.com/RubenTay/agent-vending-factory","version":"0.1.3","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://agent-vending-factory-3srpjtr7na-ew.a.run.app/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-04T12:54:18.055266Z","publishedAt":"2026-09-04T12:54:18.055266Z","registryName":"io.github.RubenTay/agent-vending-factory"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"code.execution","name":"Code Execution","confidence":0.911,"provenance":"derived"}],"categories":["code"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 3m ago.","lastOkAt":"2026-10-10T23:23:18.117Z","lastProbedAt":"2026-10-10T23:23:18.117Z","statusComputedAt":"2026-10-10T23:24:11.411Z","reliability30d":{"probes":112,"successRate":1,"p50Ms":22,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":108,"ok":108,"authBoundaryOk":0,"serviceOk":108,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T23:23:18.117Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":21,"error":null,"detail":{"tools":[{"name":"tool_zar_prices","description":"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"},{"name":"tool_data_transformer","description":"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"},{"name":"tool_compute_sandbox","description":"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"},{"name":"tool_sa_airport_oracle","description":"POST /tools/sa-airport-oracle/run — Returns live flight status from ACSA (airports.co.za). Input: {airport_code: 'JNB'|'CPT'|'DUR', flight_number: string, reque"}],"toolCount":4,"toolsHash":"f37802b21f3e9de39fc6139de72b56bbc28fe0dc1c844c9f83feaf9e787db1c7","serverName":"agent-vending-factory","capabilities":["experimental","tools"],"serverVersion":"1.29.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T16:32:58.172Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":19,"error":null,"detail":{"tools":[{"name":"tool_zar_prices","description":"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"},{"name":"tool_data_transformer","description":"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"},{"name":"tool_compute_sandbox","description":"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"},{"name":"tool_sa_airport_oracle","description":"POST /tools/sa-airport-oracle/run — Returns live flight status from ACSA (airports.co.za). Input: {airport_code: 'JNB'|'CPT'|'DUR', flight_number: string, reque"}],"toolCount":4,"toolsHash":"f37802b21f3e9de39fc6139de72b56bbc28fe0dc1c844c9f83feaf9e787db1c7","serverName":"agent-vending-factory","capabilities":["experimental","tools"],"serverVersion":"1.29.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T10:28:10.648Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":21,"error":null,"detail":{"tools":[{"name":"tool_zar_prices","description":"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"},{"name":"tool_data_transformer","description":"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"},{"name":"tool_compute_sandbox","description":"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"},{"name":"tool_sa_airport_oracle","description":"POST /tools/sa-airport-oracle/run — Returns live flight status from ACSA (airports.co.za). Input: {airport_code: 'JNB'|'CPT'|'DUR', flight_number: string, reque"}],"toolCount":4,"toolsHash":"f37802b21f3e9de39fc6139de72b56bbc28fe0dc1c844c9f83feaf9e787db1c7","serverName":"agent-vending-factory","capabilities":["experimental","tools"],"serverVersion":"1.29.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T03:26:15.996Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":18,"error":null,"detail":{"tools":[{"name":"tool_zar_prices","description":"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"},{"name":"tool_data_transformer","description":"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"},{"name":"tool_compute_sandbox","description":"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"},{"name":"tool_sa_airport_oracle","description":"POST /tools/sa-airport-oracle/run — Returns live flight status from ACSA (airports.co.za). Input: {airport_code: 'JNB'|'CPT'|'DUR', flight_number: string, reque"}],"toolCount":4,"toolsHash":"f37802b21f3e9de39fc6139de72b56bbc28fe0dc1c844c9f83feaf9e787db1c7","serverName":"agent-vending-factory","capabilities":["experimental","tools"],"serverVersion":"1.29.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T20:31:15.529Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":22,"error":null,"detail":{"tools":[{"name":"tool_zar_prices","description":"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"},{"name":"tool_data_transformer","description":"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"},{"name":"tool_compute_sandbox","description":"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"},{"name":"tool_sa_airport_oracle","description":"POST /tools/sa-airport-oracle/run — Returns live flight status from ACSA (airports.co.za). Input: {airport_code: 'JNB'|'CPT'|'DUR', flight_number: string, reque"}],"toolCount":4,"toolsHash":"f37802b21f3e9de39fc6139de72b56bbc28fe0dc1c844c9f83feaf9e787db1c7","serverName":"agent-vending-factory","capabilities":["experimental","tools"],"serverVersion":"1.29.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T14:32:25.849Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":43,"error":null,"detail":{"tools":[{"name":"tool_zar_prices","description":"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"},{"name":"tool_data_transformer","description":"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"},{"name":"tool_compute_sandbox","description":"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"},{"name":"tool_sa_airport_oracle","description":"POST /tools/sa-airport-oracle/run — Returns live flight status from ACSA (airports.co.za). Input: {airport_code: 'JNB'|'CPT'|'DUR', flight_number: string, reque"}],"toolCount":4,"toolsHash":"f37802b21f3e9de39fc6139de72b56bbc28fe0dc1c844c9f83feaf9e787db1c7","serverName":"agent-vending-factory","capabilities":["experimental","tools"],"serverVersion":"1.29.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T08:28:29.384Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":20,"error":null,"detail":{"tools":[{"name":"tool_zar_prices","description":"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"},{"name":"tool_data_transformer","description":"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"},{"name":"tool_compute_sandbox","description":"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"},{"name":"tool_sa_airport_oracle","description":"POST /tools/sa-airport-oracle/run — Returns live flight status from ACSA (airports.co.za). Input: {airport_code: 'JNB'|'CPT'|'DUR', flight_number: string, reque"}],"toolCount":4,"toolsHash":"f37802b21f3e9de39fc6139de72b56bbc28fe0dc1c844c9f83feaf9e787db1c7","serverName":"agent-vending-factory","capabilities":["experimental","tools"],"serverVersion":"1.29.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T02:26:24.850Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":45,"error":null,"detail":{"tools":[{"name":"tool_zar_prices","description":"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"},{"name":"tool_data_transformer","description":"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"},{"name":"tool_compute_sandbox","description":"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"},{"name":"tool_sa_airport_oracle","description":"POST /tools/sa-airport-oracle/run — Returns live flight status from ACSA (airports.co.za). Input: {airport_code: 'JNB'|'CPT'|'DUR', flight_number: string, reque"}],"toolCount":4,"toolsHash":"f37802b21f3e9de39fc6139de72b56bbc28fe0dc1c844c9f83feaf9e787db1c7","serverName":"agent-vending-factory","capabilities":["experimental","tools"],"serverVersion":"1.29.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T19:24:26.277Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":21,"error":null,"detail":{"tools":[{"name":"tool_zar_prices","description":"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"},{"name":"tool_data_transformer","description":"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"},{"name":"tool_compute_sandbox","description":"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"},{"name":"tool_sa_airport_oracle","description":"POST /tools/sa-airport-oracle/run — Returns live flight status from ACSA (airports.co.za). Input: {airport_code: 'JNB'|'CPT'|'DUR', flight_number: string, reque"}],"toolCount":4,"toolsHash":"f37802b21f3e9de39fc6139de72b56bbc28fe0dc1c844c9f83feaf9e787db1c7","serverName":"agent-vending-factory","capabilities":["experimental","tools"],"serverVersion":"1.29.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T13:22:52.763Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":21,"error":null,"detail":{"tools":[{"name":"tool_zar_prices","description":"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"},{"name":"tool_data_transformer","description":"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"},{"name":"tool_compute_sandbox","description":"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"},{"name":"tool_sa_airport_oracle","description":"POST /tools/sa-airport-oracle/run — Returns live flight status from ACSA (airports.co.za). Input: {airport_code: 'JNB'|'CPT'|'DUR', flight_number: string, reque"}],"toolCount":4,"toolsHash":"f37802b21f3e9de39fc6139de72b56bbc28fe0dc1c844c9f83feaf9e787db1c7","serverName":"agent-vending-factory","capabilities":["experimental","tools"],"serverVersion":"1.29.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"tool_zar_prices","description":"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"},{"name":"tool_data_transformer","description":"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"},{"name":"tool_compute_sandbox","description":"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"},{"name":"tool_sa_airport_oracle","description":"POST /tools/sa-airport-oracle/run — Returns live flight status from ACSA (airports.co.za). Input: {airport_code: 'JNB'|'CPT'|'DUR', flight_number: string, reque"}],"package":null,"toolSurface":{"id":"ts_eg6ckqm4nxhf","endpointId":"ep_myyjrdqky3m4","hash":"f37802b21f3e9de39fc6139de72b56bbc28fe0dc1c844c9f83feaf9e787db1c7","toolCount":4,"serverName":"agent-vending-factory","serverVersion":"1.29.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-12T10:26:21.311Z","lastSeenAt":"2026-10-10T23:23:18.121Z","observations":104,"toolNames":["tool_zar_prices","tool_data_transformer","tool_compute_sandbox","tool_sa_airport_oracle"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_myyjrdqky3m4","url":"https://agent-vending-factory-3srpjtr7na-ew.a.run.app/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-07T11:25:24.422Z","auth":{"observedAt":"2026-10-07T11:25:24.438Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-07T11:25:24.451Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"*.a.run.app","issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validFrom":"2026-09-10T19:21:39.000Z","validTo":"2026-12-03T19:21:38.000Z","daysToExpiry":53,"sanCount":105,"fingerprint256":"41:61:74:BA:36:47:4F:A5:C6:A4:07:EF:3D:B3:54:BD:CB:C4:BD:F8:03:83:00:53:4B:1D:05:6A:E0:8D:EC:7E"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.RubenTay/agent-vending-factory","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.RubenTay%2Fagent-vending-factory","firstSeenAt":"2026-09-06T06:18:07.568Z","fetchedAt":"2026-10-10T00:19:46.116Z","normalizedAt":"2026-10-10T00:19:46.116Z"}]},"firstSeenAt":"2026-09-06T06:18:07.568Z","updatedAt":"2026-10-10T23:25:14.290Z"}