{"ok":true,"site":{"host":"agent-web-gateway.djrookie99.chatgpt.site","url":"https://agent-web-gateway.djrookie99.chatgpt.site/","type":"live","desc":"Agent Web Gateway helps AI agents interact with compatible public websites through structured read-only tools.","tools":[{"name":"gateway_task","kind":"act","impl":"imperative","description":"Default tool for read-only requests. Pass the user's goal largely as written, including any website URL. The gateway selects the workflow, searches, filters, ranks, and verifies results. If agent_action=\"answer\", stop using tools for further discovery. When presentation.action=\"open_result\" and a browser is available, open presentation.url once for final inspection, then answer; otherwise answer directly. Example: gateway_task({ goal: \"Find the cheapest green men's sweater on tentree.com\" }).","title":"Run a normal gateway task","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"goal":{"type":"string","minLength":1,"maxLength":1000,"description":"The user's normal-language read-only request; pass it mostly as written."},"site":{"type":"string","minLength":3,"maxLength":300,"description":"Optional public site URL or domain; a URL in goal is also extracted automatically."},"response_format":{"type":"string","enum":["concise","detailed"],"description":"Optional response size; concise is the default."}},"required":["goal"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"gateway_capabilities","kind":"act","impl":"imperative","description":"Use when the user asks what the gateway can do or the goal is broad or ambiguous. For a clear task, use gateway_task or the matching specialist tool directly after WebMCP discovery; never inspect the manifest first. If the result is answer-ready, stop using tools for additional gateway discovery; this planning response has no result to present.","title":"Gateway capability planner","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"capability":{"type":"string","enum":["commerce","rentals","jobs","all"],"description":"Capability group to plan for; defaults to all."},"scope":{"type":"string","enum":["commerce","rentals","jobs","diagnostics","compatibility","all"],"description":"Optional planning scope; use diagnostics or compatibility only when the task needs advanced inspection."},"goal":{"type":"string","minLength":1,"maxLength":240,"description":"Optional short description of the user's goal; helps choose the narrowest recipe."},"level":{"type":"string","enum":["overview","advanced"],"description":"Use advanced only when the task explicitly needs diagnostics or compatibility detail."}},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"gateway_find_tool","kind":"answer","impl":"imperative","description":"Use only for uncommon functionality not covered by the normal tools. Search the bounded advanced registry once; then use gateway_call_tool with the exact returned operation. This tool does not execute anything.","title":"Find an advanced gateway tool","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":240,"description":"Short description of the specialist capability needed."},"scope":{"type":"string","enum":["commerce","rentals","jobs","compatibility","diagnostics","all"],"description":"Optional scope to keep discovery narrow."},"max_results":{"type":"integer","minimum":1,"maximum":5,"description":"Maximum number of matching operations to return; hard cap 5."}},"required":["query"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"gateway_call_tool","kind":"act","impl":"imperative","description":"Execute only the exact operation and validated arguments returned by gateway_find_tool. Use this after advanced discovery, not for normal tasks. Unknown operations, arbitrary URLs, methods, headers, code, shell, and filesystem access are rejected.","title":"Call a registered advanced gateway tool","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"operation":{"type":"string","minLength":1,"maxLength":160,"description":"Exact registered operation name returned by gateway_find_tool."},"arguments":{"type":"object","description":"Arguments for the selected registered operation; its existing schema is validated before execution.","additionalProperties":true}},"required":["operation","arguments"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"commerce_search_products","kind":"act","impl":"imperative","description":"Search products when you already know this is a commerce task. If the user names a store, pass its URL in site; the gateway handles platform detection, acquisition, filtering, ranking, and verification. If agent_action=answer or answer_ready is true, stop using tools for further discovery. If presentation.action=open_result and a browser exists, open presentation.url once, then answer. Do not browse the source to repeat discovery. Example: query sweater, site tentree.com.","title":"Search products across commerce providers","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":120,"description":"Product search terms."},"max_results":{"type":"integer","minimum":1,"maximum":20,"description":"Maximum number of results to return; hard cap 20."},"min_price":{"type":"number","minimum":0,"maximum":100000,"description":"Optional minimum price; records without a verified comparable price are excluded when set."},"max_price":{"type":"number","minimum":0,"maximum":100000,"description":"Optional maximum price; records without a verified comparable price are excluded when set."},"providers":{"type":"array","minItems":1,"maxItems":14,"items":{"type":"string","enum":["ikea","amazon","argos","johnlewis","shopify_represent","shopify_rapanuiclothing","shopify_pipandnut","woocommerce_hardandware","woocommerce_formnutrition","woocommerce_gruum","structured_decathlon","structured_currys","structured_dunelm"],"description":"Commerce provider identifier."},"description":"Optional source selection when the user names providers. Otherwise the gateway picks relevant public sources; not required for normal search."},"condition":{"type":"string","enum":["all","new","used","refurbished"],"description":"Optional condition filter."},"site":{"type":"string","minLength":3,"maxLength":300,"description":"Optional public storefront URL or domain. The gateway attempts dynamic Shopify/WooCommerce adaptation; the site need not be pre-registered."},"search_context":{"type":"string","minLength":3,"maxLength":160,"description":"Optional opaque context returned by a prior search for the same storefront; enables reuse and refinement."},"audience":{"type":"string","enum":["men","women","kids","unisex"],"description":"Optional audience constraint; explicit values override natural-language inference."},"color":{"type":"string","minLength":1,"maxLength":80,"description":"Optional exact or normalized color constraint."},"size":{"type":"string","minLength":1,"maxLength":40,"description":"Optional size constraint, such as S, M, L, or XL."},"in_stock":{"type":"boolean","description":"Require the requested product variant to be explicitly available."},"sort_by":{"type":"string","enum":["relevance","price_asc","price_desc","rating_desc"],"description":"Optional deterministic ordering."},"currency":{"type":"string","enum":["GBP"],"description":"Currency for monetary fields."},"locale":{"type":"string","enum":["en-GB"],"description":"Locale used for the UK source."},"response_format":{"type":"string","enum":["concise","detailed","diagnostic"],"description":"Response size: concise by default, detailed for richer fields, diagnostic for bounded route evidence."},"include_diagnostics":{"type":"boolean","description":"Include bounded route diagnostics for QA; omit for the compact normal response."}},"required":["query"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"commerce_get_product","kind":"answer","impl":"imperative","description":"Use only when the user asks for additional information about one returned product, or when a search next_action requests it. Do not call after an answer-ready search just to recheck it. Example: commerce_get_product({ provider: \"shopify.example\", product_id: \"...\" }). It never buys or changes state.","title":"Get a commerce product","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"provider":{"type":"string","minLength":1,"maxLength":180,"description":"Provider that issued product_id, including a normalized dynamic Shopify/WooCommerce domain."},"product_id":{"type":"string","minLength":1,"maxLength":160,"description":"The provider product ID or ASIN returned by search."},"canonical_url":{"type":"string","minLength":1,"maxLength":500,"description":"Optional canonical URL returned by search; useful for providers whose stable path identifier is not reconstructable."},"site":{"type":"string","minLength":3,"maxLength":300,"description":"Optional public storefront URL/domain for targeted dynamic detail verification."},"search_context":{"type":"string","minLength":3,"maxLength":160,"description":"Optional opaque search context from commerce_search_products for cheap same-store detail reuse."},"include":{"type":"array","maxItems":8,"items":{"type":"string","enum":["price","availability","sizes","colors","variants","materials","description","images","sale","provenance"],"description":"Detail section to include."},"description":"Optional rich sections; omit for a concise verified product record."},"currency":{"type":"string","enum":["GBP"],"description":"Currency for monetary fields."},"locale":{"type":"string","enum":["en-GB"],"description":"Locale used for the UK source."},"response_format":{"type":"string","enum":["concise","detailed","diagnostic"],"description":"Response size: concise by default, detailed for richer fields, diagnostic for bounded route evidence."},"include_diagnostics":{"type":"boolean","description":"Include bounded route diagnostics for QA; omit for the compact normal response."}},"required":["provider","product_id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"jobs_search","kind":"act","impl":"imperative","description":"Search public job listings when you already know this is a jobs task. The gateway handles board selection, filtering, ranking, and verification. If agent_action=\"answer\" or the result is answer-ready, stop using tools for additional gateway discovery. If presentation.action=\"open_result\" and browser navigation is available, open presentation.url once for final inspection, then answer; otherwise answer directly. Example: jobs_search({ query: \"strategy consulting\", location: \"London\" }).","title":"Search public jobs","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":160,"description":"Optional job title, skill, or keyword query."},"location":{"type":"string","minLength":1,"maxLength":160,"description":"Optional city, country, or location filter."},"remote":{"type":"boolean","description":"Optional explicit remote-work filter."},"company":{"type":"string","minLength":1,"maxLength":120,"description":"Optional supported company or board name."},"department":{"type":"string","minLength":1,"maxLength":120,"description":"Optional department or team filter."},"employment_type":{"type":"string","minLength":1,"maxLength":100,"description":"Optional employment type or commitment filter."},"max_results":{"type":"integer","minimum":1,"maximum":20,"description":"Maximum number of results to return; hard cap 20."},"sort_by":{"type":"string","enum":["relevance","date_desc","title_asc"],"description":"Optional deterministic ordering."},"response_format":{"type":"string","enum":["concise","detailed","diagnostic"],"description":"Response size: concise by default, detailed for richer fields, diagnostic for bounded route evidence."},"include_diagnostics":{"type":"boolean","description":"Include bounded route diagnostics for QA; omit for the compact normal response."}},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"jobs_get_listing","kind":"answer","impl":"imperative","description":"Use only when the user asks for additional details about a listing returned by jobs_search. Pass its provider and stable ID; no application is submitted. Example: jobs_get_listing({ provider: \"greenhouse\", job_id: \"...\" }).","title":"Get a public job listing","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"provider":{"type":"string","enum":["greenhouse","lever"],"description":"Job-board platform that issued job_id."},"job_id":{"type":"string","minLength":1,"maxLength":160,"description":"Stable job identifier returned by jobs_search."},"company":{"type":"string","minLength":1,"maxLength":120,"description":"Optional supported company or board name when using a platform-local ID."},"canonical_url":{"type":"string","minLength":1,"maxLength":500,"description":"Optional canonical job URL returned by search."},"response_format":{"type":"string","enum":["concise","detailed","diagnostic"],"description":"Response size: concise by default, detailed for richer fields, diagnostic for bounded route evidence."},"include_diagnostics":{"type":"boolean","description":"Include bounded route diagnostics for QA; omit for the compact normal response."}},"required":["provider","job_id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"rentals_search_properties","kind":"act","impl":"imperative","description":"Search public rental listings when you already know this is a rentals task. The gateway handles provider selection, filtering, ranking, and verification. If agent_action=\"answer\" or the result is answer-ready, stop using tools for additional gateway discovery. If presentation.action=\"open_result\" and browser navigation is available, open presentation.url once for final inspection, then answer; otherwise answer directly. Example: rentals_search_properties({ location: \"London\", min_bedrooms: 2 }).","title":"Search UK rental properties","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"location":{"type":"string","minLength":1,"maxLength":120,"description":"Town, city, area, or postcode."},"min_bedrooms":{"type":"integer","minimum":0,"maximum":20,"description":"Minimum bedrooms."},"max_bedrooms":{"type":"integer","minimum":0,"maximum":20,"description":"Maximum bedrooms."},"min_price_pcm":{"type":"number","minimum":0,"maximum":100000,"description":"Minimum monthly rent in GBP."},"max_price_pcm":{"type":"number","minimum":0,"maximum":100000,"description":"Maximum effective monthly cost in GBP."},"radius_miles":{"type":"number","minimum":0,"maximum":100,"description":"Optional search radius in miles when a provider supports it."},"property_type":{"type":"string","minLength":1,"maxLength":80,"description":"Optional property type, such as flat or house."},"furnishing":{"type":"string","enum":["furnished","part_furnished","unfurnished"],"description":"Optional furnishing requirement."},"bills_included":{"type":"boolean","description":"Require explicit evidence that bills are included."},"pets_allowed":{"type":"boolean","description":"Require explicit evidence that pets are allowed."},"available_before":{"type":"string","format":"date","description":"Require availability on or before this date."},"freshness_days":{"type":"integer","minimum":0,"maximum":365,"description":"Only include listings no older than this many days when listed date is known."},"whole_property_only":{"type":"boolean","description":"Exclude rooms, shares, student-only, retirement, and clearly unavailable supply."},"max_results":{"type":"integer","minimum":1,"maximum":20,"description":"Maximum number of results to return; hard cap 20."},"sort_by":{"type":"string","enum":["relevance","price_asc","price_desc","freshest"],"description":"Optional deterministic ordering."},"providers":{"type":"array","minItems":1,"maxItems":2,"items":{"type":"string","enum":["onthemarket","openrent"],"description":"Rental provider identifier."},"description":"Optional provider allow-list. Defaults to OnTheMarket and OpenRent."},"exclude_listing_ids":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"string","minLength":1,"maxLength":160},"description":"Stable listing IDs already seen by the caller."},"exclude_urls":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"string","minLength":1,"maxLength":500},"description":"Canonical listing URLs already seen by the caller."},"response_format":{"type":"string","enum":["concise","detailed","diagnostic"],"description":"Response size: concise by default, detailed for richer fields, diagnostic for bounded route evidence."},"include_diagnostics":{"type":"boolean","description":"Include bounded route diagnostics for QA; omit for the compact normal response."}},"required":["location"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"rentals_get_listing","kind":"answer","impl":"imperative","description":"Use only when the user asks for additional details about one listing returned by rentals_search_properties, or when a search next_action requests verification. Pass its provider and stable ID. No application or booking is performed. Example: rentals_get_listing({ provider: \"openrent\", listing_id: \"...\" }).","title":"Verify a UK rental listing","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"provider":{"type":"string","enum":["onthemarket","openrent"],"description":"Provider that issued listing_id."},"listing_id":{"type":"string","minLength":1,"maxLength":160,"description":"Stable listing ID returned by rentals_search_properties."},"canonical_url":{"type":"string","minLength":1,"maxLength":500,"description":"Canonical listing URL returned by search; required for OpenRent when the slug is not otherwise known."},"response_format":{"type":"string","enum":["concise","detailed","diagnostic"],"description":"Response size: concise by default, detailed for richer fields, diagnostic for bounded route evidence."},"include_diagnostics":{"type":"boolean","description":"Include bounded route diagnostics for QA; omit for the compact normal response."}},"required":["provider","listing_id"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"AI & Agents","favicon":"/favicons/agent-web-gateway.djrookie99.chatgpt.site.png","apiSurface":"spec","toolCount":10}}