{"name":"AUTOGROK Desk","description":"AUTOGROK Desk sells small, paid web jobs: check if a URL is up, extract a web page as markdown, detect page changes, turn messy text into JSON, and research briefs with cited sources. Pay per call in USDC on Base via x402, or buy a card pack (MPP or Stripe Checkout).","serviceName":"AUTOGROK Desk","tags":["web-scraping","uptime","markdown","research","data"],"x402Version":2,"kind":"resource-server","network":"eip155:8453","networkName":"base","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetSymbol":"USDC","payTo":"0x2Beb44D877aC1A3fe12230Ded74EF5f934caBC29","payToNote":"Set via env PAY_TO_ADDRESS (public receive address; never put private keys in env).","facilitatorUrl":"https://api.cdp.coinbase.com/platform/v2/x402","settlement":{"status":"live","note":"CDP facilitator credentials configured; PAYMENT-SIGNATURE is verified and settled via the CDP x402 facilitator. Bazaar indexing still needs one successful settled payment per route that echoes extensions.bazaar."},"catalog":"https://desk.grokaiapps.com/v1/catalog","wellKnown":"https://desk.grokaiapps.com/.well-known/x402","docs":{"buyers":"https://desk.grokaiapps.com/","agentsMd":"https://desk.grokaiapps.com/AGENTS.md","discoveryMd":"https://desk.grokaiapps.com/docs/DISCOVERY.md","bazaarMd":"https://desk.grokaiapps.com/docs/BAZAAR.md","bazaar":"https://docs.x402.org/extensions/bazaar","cdpGetDiscovered":"https://docs.cdp.coinbase.com/x402/seller/get-discovered","validateEndpoint":"https://api.cdp.coinbase.com/platform/v2/x402/validate","agenticMarket":"https://www.agentic.market","wellKnownDraft":"https://datatracker.ietf.org/doc/draft-hawkins-x402-dns-discovery/"},"updated":"2026-11-06T02:36:57.341Z","resources":[{"id":"url-probe","type":"http","x402Version":2,"resource":"https://desk.grokaiapps.com/v1/jobs/url-probe","method":"POST","path":"/v1/jobs/url-probe","name":"URL probe","description":"Check if a URL is up. Sends a HEAD request (GET fallback that reads at most 8 KB) to a public http(s) URL and returns the HTTP status code, ok true/false, final URL after redirects, content type, content length and response time in ms. A cheap uptime, health or broken-link check before a heavier fetch. Public hosts only; private, local and logged-in URLs are refused.","price":"$0.03","priceUsd":0.03,"mimeType":"application/json","serviceName":"AUTOGROK Desk","tags":["uptime","url-check","http-status","healthcheck","data"],"accepts":[{"scheme":"exact","network":"eip155:8453","amount":"30000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x2Beb44D877aC1A3fe12230Ded74EF5f934caBC29","maxTimeoutSeconds":60,"extra":{"name":"USDC","version":"2"}}],"bodySchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"Public http(s) URL to probe"},"method":{"type":"string","enum":["HEAD","GET"],"description":"Prefer HEAD (default); GET peeks at most 8KB"}}},"outputSchema":{"type":"object","properties":{"url":{"type":"string"},"finalUrl":{"type":"string"},"status":{"type":"integer"},"ok":{"type":"boolean"},"methodUsed":{"type":"string","enum":["HEAD","GET"]},"contentType":{"type":["string","null"]},"contentLength":{"type":["integer","null"]},"redirected":{"type":"boolean"},"elapsedMs":{"type":"integer"}},"required":["url","finalUrl","status","ok","methodUsed","elapsedMs"]},"exampleBody":{"url":"https://example.com","method":"HEAD"},"exampleOutput":{"url":"https://example.com/","finalUrl":"https://example.com/","status":200,"ok":true,"methodUsed":"HEAD","contentType":"text/html","contentLength":null,"redirected":false,"elapsedMs":120},"extensions":{"bazaar":{"info":{"input":{"type":"http","bodyType":"json","body":{"url":"https://example.com","method":"HEAD"}},"output":{"type":"json","example":{"url":"https://example.com/","finalUrl":"https://example.com/","status":200,"ok":true,"methodUsed":"HEAD","contentType":"text/html","contentLength":null,"redirected":false,"elapsedMs":120}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["POST","PUT","PATCH"]},"bodyType":{"type":"string","enum":["json","form-data","text"]},"body":{"properties":{"url":{"type":"string","format":"uri","description":"Public http(s) URL to probe"},"method":{"type":"string","enum":["HEAD","GET"],"description":"Prefer HEAD (default); GET peeks at most 8KB"}},"required":["url"]}},"required":["type","method","bodyType","body"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"url":{"type":"string"},"finalUrl":{"type":"string"},"status":{"type":"integer"},"ok":{"type":"boolean"},"methodUsed":{"type":"string","enum":["HEAD","GET"]},"contentType":{"type":["string","null"]},"contentLength":{"type":["integer","null"]},"redirected":{"type":"boolean"},"elapsedMs":{"type":"integer"}},"required":["url","finalUrl","status","ok","methodUsed","elapsedMs"]}},"required":["type"]}},"required":["input"]}}}},{"id":"page-extract","type":"http","x402Version":2,"resource":"https://desk.grokaiapps.com/v1/jobs/page-extract","method":"POST","path":"/v1/jobs/page-extract","name":"Page extract","description":"Extract the readable text of a web page as clean markdown. Fetches one public http(s) HTML page and returns its main content as markdown, plus title, meta description, byline and a short excerpt, with menus and page clutter removed. Useful for summarizing, quoting, or feeding a page to an LLM or RAG index without a browser. Not for logged-in, paywalled or non-HTML URLs (such as PDFs); private hosts are refused.","price":"$0.05","priceUsd":0.05,"mimeType":"application/json","serviceName":"AUTOGROK Desk","tags":["web-scraping","markdown","text-extraction","readability","data"],"accepts":[{"scheme":"exact","network":"eip155:8453","amount":"50000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x2Beb44D877aC1A3fe12230Ded74EF5f934caBC29","maxTimeoutSeconds":60,"extra":{"name":"USDC","version":"2"}}],"bodySchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"Public http(s) HTML page URL"}}},"outputSchema":{"type":"object","properties":{"url":{"type":"string"},"title":{"type":["string","null"]},"description":{"type":["string","null"]},"markdown":{"type":"string"},"byline":{"type":["string","null"]},"excerpt":{"type":["string","null"]}},"required":["url","markdown"]},"exampleBody":{"url":"https://example.com"},"exampleOutput":{"url":"https://example.com/","title":"Example Domain","description":"Example Domain placeholder page","markdown":"# Example Domain\n\nThis domain is for use in illustrative examples…","byline":null,"excerpt":"This domain is for use in illustrative examples…"},"extensions":{"bazaar":{"info":{"input":{"type":"http","bodyType":"json","body":{"url":"https://example.com"}},"output":{"type":"json","example":{"url":"https://example.com/","title":"Example Domain","description":"Example Domain placeholder page","markdown":"# Example Domain\n\nThis domain is for use in illustrative examples…","byline":null,"excerpt":"This domain is for use in illustrative examples…"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["POST","PUT","PATCH"]},"bodyType":{"type":"string","enum":["json","form-data","text"]},"body":{"properties":{"url":{"type":"string","format":"uri","description":"Public http(s) HTML page URL"}},"required":["url"]}},"required":["type","method","bodyType","body"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"url":{"type":"string"},"title":{"type":["string","null"]},"description":{"type":["string","null"]},"markdown":{"type":"string"},"byline":{"type":["string","null"]},"excerpt":{"type":["string","null"]}},"required":["url","markdown"]}},"required":["type"]}},"required":["input"]}}}},{"id":"watch-once","type":"http","x402Version":2,"resource":"https://desk.grokaiapps.com/v1/jobs/watch-once","method":"POST","path":"/v1/jobs/watch-once","name":"Watch once","description":"Detect whether a web page has changed since the last check. Fetches a public URL, normalizes its main text and returns a sha256 hash, changed true/false against the previous_hash sent in (null on the first check), word count and fetch time. A one-shot change monitor for price, policy or docs pages. Each call is a single check; there are no webhooks or stored subscriptions.","price":"$0.10","priceUsd":0.1,"mimeType":"application/json","serviceName":"AUTOGROK Desk","tags":["change-detection","page-monitor","diff","hash","data"],"accepts":[{"scheme":"exact","network":"eip155:8453","amount":"100000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x2Beb44D877aC1A3fe12230Ded74EF5f934caBC29","maxTimeoutSeconds":60,"extra":{"name":"USDC","version":"2"}}],"bodySchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"Public http(s) URL to hash"},"previous_hash":{"type":"string","description":"Prior sha256 hex; omit for baseline (changed=null)"}}},"outputSchema":{"type":"object","properties":{"url":{"type":"string"},"hash":{"type":"string"},"changed":{"type":["boolean","null"]},"previous_hash":{"type":["string","null"]},"word_count":{"type":"integer"},"fetched_at":{"type":"string","format":"date-time"}},"required":["url","hash","changed","word_count","fetched_at"]},"exampleBody":{"url":"https://example.com","previous_hash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"exampleOutput":{"url":"https://example.com/","hash":"ab12cd34ef567890ab12cd34ef567890ab12cd34ef567890ab12cd34ef567890","changed":true,"previous_hash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","word_count":42,"fetched_at":"2026-09-21T20:00:00.000Z"},"extensions":{"bazaar":{"info":{"input":{"type":"http","bodyType":"json","body":{"url":"https://example.com","previous_hash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}},"output":{"type":"json","example":{"url":"https://example.com/","hash":"ab12cd34ef567890ab12cd34ef567890ab12cd34ef567890ab12cd34ef567890","changed":true,"previous_hash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","word_count":42,"fetched_at":"2026-09-21T20:00:00.000Z"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["POST","PUT","PATCH"]},"bodyType":{"type":"string","enum":["json","form-data","text"]},"body":{"properties":{"url":{"type":"string","format":"uri","description":"Public http(s) URL to hash"},"previous_hash":{"type":"string","description":"Prior sha256 hex; omit for baseline (changed=null)"}},"required":["url"]}},"required":["type","method","bodyType","body"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"url":{"type":"string"},"hash":{"type":"string"},"changed":{"type":["boolean","null"]},"previous_hash":{"type":["string","null"]},"word_count":{"type":"integer"},"fetched_at":{"type":"string","format":"date-time"}},"required":["url","hash","changed","word_count","fetched_at"]}},"required":["type"]}},"required":["input"]}}}},{"id":"json-shape","type":"http","x402Version":2,"resource":"https://desk.grokaiapps.com/v1/jobs/json-shape","method":"POST","path":"/v1/jobs/json-shape","name":"JSON shape","description":"Turn messy text into structured JSON. Parses a JSON blob or key: value lines (up to 50,000 characters) into an object using the field names given in schema_hint, and returns notes on what matched. Rule-based parsing with no LLM, so results are fast and predictable. Useful for normalizing tool output, logs or form dumps before further processing. Not for free-form language understanding or writing.","price":"$0.15","priceUsd":0.15,"mimeType":"application/json","serviceName":"AUTOGROK Desk","tags":["json","parsing","normalize","structured-data","data"],"accepts":[{"scheme":"exact","network":"eip155:8453","amount":"150000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x2Beb44D877aC1A3fe12230Ded74EF5f934caBC29","maxTimeoutSeconds":60,"extra":{"name":"USDC","version":"2"}}],"bodySchema":{"type":"object","required":["text","schema_hint"],"properties":{"text":{"type":"string","maxLength":50000,"description":"Raw text or JSON to reshape (≤50k chars)"},"schema_hint":{"type":"string","description":"Free-text hint of desired field names / shape"}}},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{},"notes":{"type":"array","items":{"type":"string"}},"schema_hint":{"type":"string"}},"required":["ok","notes","schema_hint"]},"exampleBody":{"text":"name: Ada\nage: 36","schema_hint":"name, age"},"exampleOutput":{"ok":true,"data":{"name":"Ada","age":36},"notes":["parsed key:value lines","schema_hint matched 2/2 keys"],"schema_hint":"name, age"},"extensions":{"bazaar":{"info":{"input":{"type":"http","bodyType":"json","body":{"text":"name: Ada\nage: 36","schema_hint":"name, age"}},"output":{"type":"json","example":{"ok":true,"data":{"name":"Ada","age":36},"notes":["parsed key:value lines","schema_hint matched 2/2 keys"],"schema_hint":"name, age"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["POST","PUT","PATCH"]},"bodyType":{"type":"string","enum":["json","form-data","text"]},"body":{"properties":{"text":{"type":"string","maxLength":50000,"description":"Raw text or JSON to reshape (≤50k chars)"},"schema_hint":{"type":"string","description":"Free-text hint of desired field names / shape"}},"required":["text","schema_hint"]}},"required":["type","method","bodyType","body"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{},"notes":{"type":"array","items":{"type":"string"}},"schema_hint":{"type":"string"}},"required":["ok","notes","schema_hint"]}},"required":["type"]}},"required":["input"]}}}},{"id":"brief","type":"http","x402Version":2,"resource":"https://desk.grokaiapps.com/v1/jobs/brief","method":"POST","path":"/v1/jobs/brief","name":"Brief","description":"Research brief with cited sources on any topic, written to order (not instant). Returns a job id and due time right away; the finished brief (title, summary, markdown body, source links, word count) is ready within 24 hours, usually the same day, at GET /v1/jobs/:id, which is free. About 500 words by default (50-1500 via max_words), with at least 3 cited public web sources.","price":"$0.25","priceUsd":0.25,"mimeType":"application/json","serviceName":"AUTOGROK Desk","tags":["research","report","citations","writing","data"],"accepts":[{"scheme":"exact","network":"eip155:8453","amount":"250000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x2Beb44D877aC1A3fe12230Ded74EF5f934caBC29","maxTimeoutSeconds":60,"extra":{"name":"USDC","version":"2"}}],"bodySchema":{"type":"object","required":["topic"],"properties":{"topic":{"type":"string","minLength":1,"maxLength":2000,"description":"What the brief should cover"},"max_words":{"type":"integer","minimum":50,"maximum":1500,"description":"Target length in words (default 500)"}}},"outputSchema":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"status":{"type":"string","enum":["queued","running","done","failed"]},"createdAt":{"type":"string","format":"date-time"},"dueBy":{"type":"string","format":"date-time"},"late":{"type":"boolean"},"statusUrl":{"type":"string"}},"required":["id","status","dueBy","statusUrl"]},"exampleBody":{"topic":"x402 discovery for agents","max_words":400},"exampleOutput":{"id":"3f2b9c1e-6a0d-4c1f-9a51-2f0e7d8b1c44","type":"brief","status":"queued","createdAt":"2026-10-05T20:00:00.000Z","dueBy":"2026-10-06T20:00:00.000Z","late":false,"statusUrl":"https://desk.grokaiapps.com/v1/jobs/3f2b9c1e-6a0d-4c1f-9a51-2f0e7d8b1c44"},"extensions":{"bazaar":{"info":{"input":{"type":"http","bodyType":"json","body":{"topic":"x402 discovery for agents","max_words":400}},"output":{"type":"json","example":{"id":"3f2b9c1e-6a0d-4c1f-9a51-2f0e7d8b1c44","type":"brief","status":"queued","createdAt":"2026-10-05T20:00:00.000Z","dueBy":"2026-10-06T20:00:00.000Z","late":false,"statusUrl":"https://desk.grokaiapps.com/v1/jobs/3f2b9c1e-6a0d-4c1f-9a51-2f0e7d8b1c44"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["POST","PUT","PATCH"]},"bodyType":{"type":"string","enum":["json","form-data","text"]},"body":{"properties":{"topic":{"type":"string","minLength":1,"maxLength":2000,"description":"What the brief should cover"},"max_words":{"type":"integer","minimum":50,"maximum":1500,"description":"Target length in words (default 500)"}},"required":["topic"]}},"required":["type","method","bodyType","body"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"status":{"type":"string","enum":["queued","running","done","failed"]},"createdAt":{"type":"string","format":"date-time"},"dueBy":{"type":"string","format":"date-time"},"late":{"type":"boolean"},"statusUrl":{"type":"string"}},"required":["id","status","dueBy","statusUrl"]}},"required":["type"]}},"required":["input"]}}}},{"id":"deep-brief","type":"http","x402Version":2,"resource":"https://desk.grokaiapps.com/v1/jobs/deep-brief","method":"POST","path":"/v1/jobs/deep-brief","name":"Deep brief","description":"In-depth research report with cited sources, for decisions that need more than a quick note. About 1,500 words (1,200-2,000) with an executive summary, key findings and analysis, at least 8 cited public sources, and an operator check before delivery. Returns a job id and due time right away; the report is ready within 24 hours at GET /v1/jobs/:id, which is free. Free sample: /samples/brief-x402-bazaar-discovery.md","price":"$9.00","priceUsd":9,"mimeType":"application/json","serviceName":"AUTOGROK Desk","tags":["research","report","citations","analysis","data"],"accepts":[{"scheme":"exact","network":"eip155:8453","amount":"9000000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x2Beb44D877aC1A3fe12230Ded74EF5f934caBC29","maxTimeoutSeconds":60,"extra":{"name":"USDC","version":"2"}}],"bodySchema":{"type":"object","required":["topic"],"properties":{"topic":{"type":"string","minLength":1,"maxLength":2000,"description":"What the deep brief should cover"},"focus":{"type":"string","maxLength":2000,"description":"Optional angle, audience, or questions to answer"}}},"outputSchema":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"tier":{"type":"string"},"status":{"type":"string","enum":["queued","running","done","failed"]},"createdAt":{"type":"string","format":"date-time"},"dueBy":{"type":"string","format":"date-time"},"late":{"type":"boolean"},"statusUrl":{"type":"string"}},"required":["id","status","dueBy","statusUrl"]},"exampleBody":{"topic":"State of x402 discovery: Bazaar vs MCP directories","focus":"For a seller choosing where to list"},"exampleOutput":{"id":"7c1d2e3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f","type":"brief","tier":"deep","status":"queued","createdAt":"2026-10-13T08:00:00.000Z","dueBy":"2026-10-14T08:00:00.000Z","late":false,"statusUrl":"https://desk.grokaiapps.com/v1/jobs/7c1d2e3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f"},"extensions":{"bazaar":{"info":{"input":{"type":"http","bodyType":"json","body":{"topic":"State of x402 discovery: Bazaar vs MCP directories","focus":"For a seller choosing where to list"}},"output":{"type":"json","example":{"id":"7c1d2e3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f","type":"brief","tier":"deep","status":"queued","createdAt":"2026-10-13T08:00:00.000Z","dueBy":"2026-10-14T08:00:00.000Z","late":false,"statusUrl":"https://desk.grokaiapps.com/v1/jobs/7c1d2e3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["POST","PUT","PATCH"]},"bodyType":{"type":"string","enum":["json","form-data","text"]},"body":{"properties":{"topic":{"type":"string","minLength":1,"maxLength":2000,"description":"What the deep brief should cover"},"focus":{"type":"string","maxLength":2000,"description":"Optional angle, audience, or questions to answer"}},"required":["topic"]}},"required":["type","method","bodyType","body"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"tier":{"type":"string"},"status":{"type":"string","enum":["queued","running","done","failed"]},"createdAt":{"type":"string","format":"date-time"},"dueBy":{"type":"string","format":"date-time"},"late":{"type":"boolean"},"statusUrl":{"type":"string"}},"required":["id","status","dueBy","statusUrl"]}},"required":["type"]}},"required":["input"]}}}}],"mcp":{"url":"https://desk.grokaiapps.com/mcp","transport":"streamable-http","stateless":true,"payment":{"x402":"Per call. tools/call without _meta[\"x402/payment\"] returns a tool result with isError=true and structuredContent=PaymentRequired (x402 v2). Retry with the signed PaymentPayload in _meta[\"x402/payment\"]; settlement receipt in result _meta[\"x402/payment-response\"]. Use @x402/mcp createx402MCPClient.","prepaid":"Pack holders: send HTTP header X-Entitlement-Key: <your secret pack key agk.…>; each call spends 1 credit of that job; a credit also pays for a cheaper job (difference kept as pack balance), never a pricier one (error needs_own_pack). A failed call gives back what it drew. Emails and Checkout session ids are not accepted.","free":["initialize","tools/list","brief_status","tip_remaining","support_request"]},"tools":[{"name":"url_probe","sku":"url-probe","price":"$0.03","priceUsd":0.03,"description":"Check if a URL is up. Sends a HEAD request (GET fallback that reads at most 8 KB) to a public http(s) URL and returns the HTTP status code, ok true/false, final URL after redirects, content type, content length and response time in ms. A cheap uptime, health or broken-link check before a heavier fetch. Public hosts only; private, local and logged-in URLs are refused.","type":"mcp","resource":"https://desk.grokaiapps.com/mcp","extensions":{"bazaar":{"info":{"input":{"type":"mcp","toolName":"url_probe","description":"Check if a URL is up. Sends a HEAD request (GET fallback that reads at most 8 KB) to a public http(s) URL and returns the HTTP status code, ok true/false, final URL after redirects, content type, content length and response time in ms. A cheap uptime, health or broken-link check before a heavier fetch. Public hosts only; private, local and logged-in URLs are refused.","transport":"streamable-http","inputSchema":{"properties":{"url":{"type":"string","format":"uri","description":"Public http(s) URL to probe"},"method":{"type":"string","enum":["HEAD","GET"],"description":"Prefer HEAD (default); GET peeks at most 8KB"}},"required":["url"]},"example":{"url":"https://example.com","method":"HEAD"}},"output":{"type":"json","example":{"url":"https://example.com/","finalUrl":"https://example.com/","status":200,"ok":true,"methodUsed":"HEAD","contentType":"text/html","contentLength":null,"redirected":false,"elapsedMs":120}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"mcp"},"toolName":{"type":"string"},"description":{"type":"string"},"transport":{"type":"string","enum":["streamable-http"]},"inputSchema":{"type":"object"},"example":{"type":"object"}},"required":["type","toolName","inputSchema"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"url":{"type":"string"},"finalUrl":{"type":"string"},"status":{"type":"integer"},"ok":{"type":"boolean"},"methodUsed":{"type":"string","enum":["HEAD","GET"]},"contentType":{"type":["string","null"]},"contentLength":{"type":["integer","null"]},"redirected":{"type":"boolean"},"elapsedMs":{"type":"integer"}},"required":["url","finalUrl","status","ok","methodUsed","elapsedMs"]}},"required":["type"]}},"required":["input"]}}}},{"name":"page_extract","sku":"page-extract","price":"$0.05","priceUsd":0.05,"description":"Extract the readable text of a web page as clean markdown. Fetches one public http(s) HTML page and returns its main content as markdown, plus title, meta description, byline and a short excerpt, with menus and page clutter removed. Useful for summarizing, quoting, or feeding a page to an LLM or RAG index without a browser. Not for logged-in, paywalled or non-HTML URLs (such as PDFs); private hosts are refused.","type":"mcp","resource":"https://desk.grokaiapps.com/mcp","extensions":{"bazaar":{"info":{"input":{"type":"mcp","toolName":"page_extract","description":"Extract the readable text of a web page as clean markdown. Fetches one public http(s) HTML page and returns its main content as markdown, plus title, meta description, byline and a short excerpt, with menus and page clutter removed. Useful for summarizing, quoting, or feeding a page to an LLM or RAG index without a browser. Not for logged-in, paywalled or non-HTML URLs (such as PDFs); private hosts are refused.","transport":"streamable-http","inputSchema":{"properties":{"url":{"type":"string","format":"uri","description":"Public http(s) HTML page URL"}},"required":["url"]},"example":{"url":"https://example.com"}},"output":{"type":"json","example":{"url":"https://example.com/","title":"Example Domain","description":"Example Domain placeholder page","markdown":"# Example Domain\n\nThis domain is for use in illustrative examples…","byline":null,"excerpt":"This domain is for use in illustrative examples…"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"mcp"},"toolName":{"type":"string"},"description":{"type":"string"},"transport":{"type":"string","enum":["streamable-http"]},"inputSchema":{"type":"object"},"example":{"type":"object"}},"required":["type","toolName","inputSchema"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"url":{"type":"string"},"title":{"type":["string","null"]},"description":{"type":["string","null"]},"markdown":{"type":"string"},"byline":{"type":["string","null"]},"excerpt":{"type":["string","null"]}},"required":["url","markdown"]}},"required":["type"]}},"required":["input"]}}}},{"name":"watch_once","sku":"watch-once","price":"$0.10","priceUsd":0.1,"description":"Detect whether a web page has changed since the last check. Fetches a public URL, normalizes its main text and returns a sha256 hash, changed true/false against the previous_hash sent in (null on the first check), word count and fetch time. A one-shot change monitor for price, policy or docs pages. Each call is a single check; there are no webhooks or stored subscriptions.","type":"mcp","resource":"https://desk.grokaiapps.com/mcp","extensions":{"bazaar":{"info":{"input":{"type":"mcp","toolName":"watch_once","description":"Detect whether a web page has changed since the last check. Fetches a public URL, normalizes its main text and returns a sha256 hash, changed true/false against the previous_hash sent in (null on the first check), word count and fetch time. A one-shot change monitor for price, policy or docs pages. Each call is a single check; there are no webhooks or stored subscriptions.","transport":"streamable-http","inputSchema":{"properties":{"url":{"type":"string","format":"uri","description":"Public http(s) URL to hash"},"previous_hash":{"type":"string","description":"Prior sha256 hex; omit for baseline (changed=null)"}},"required":["url"]},"example":{"url":"https://example.com","previous_hash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}},"output":{"type":"json","example":{"url":"https://example.com/","hash":"ab12cd34ef567890ab12cd34ef567890ab12cd34ef567890ab12cd34ef567890","changed":true,"previous_hash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","word_count":42,"fetched_at":"2026-09-21T20:00:00.000Z"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"mcp"},"toolName":{"type":"string"},"description":{"type":"string"},"transport":{"type":"string","enum":["streamable-http"]},"inputSchema":{"type":"object"},"example":{"type":"object"}},"required":["type","toolName","inputSchema"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"url":{"type":"string"},"hash":{"type":"string"},"changed":{"type":["boolean","null"]},"previous_hash":{"type":["string","null"]},"word_count":{"type":"integer"},"fetched_at":{"type":"string","format":"date-time"}},"required":["url","hash","changed","word_count","fetched_at"]}},"required":["type"]}},"required":["input"]}}}},{"name":"json_shape","sku":"json-shape","price":"$0.15","priceUsd":0.15,"description":"Turn messy text into structured JSON. Parses a JSON blob or key: value lines (up to 50,000 characters) into an object using the field names given in schema_hint, and returns notes on what matched. Rule-based parsing with no LLM, so results are fast and predictable. Useful for normalizing tool output, logs or form dumps before further processing. Not for free-form language understanding or writing.","type":"mcp","resource":"https://desk.grokaiapps.com/mcp","extensions":{"bazaar":{"info":{"input":{"type":"mcp","toolName":"json_shape","description":"Turn messy text into structured JSON. Parses a JSON blob or key: value lines (up to 50,000 characters) into an object using the field names given in schema_hint, and returns notes on what matched. Rule-based parsing with no LLM, so results are fast and predictable. Useful for normalizing tool output, logs or form dumps before further processing. Not for free-form language understanding or writing.","transport":"streamable-http","inputSchema":{"properties":{"text":{"type":"string","maxLength":50000,"description":"Raw text or JSON to reshape (≤50k chars)"},"schema_hint":{"type":"string","description":"Free-text hint of desired field names / shape"}},"required":["text","schema_hint"]},"example":{"text":"name: Ada\nage: 36","schema_hint":"name, age"}},"output":{"type":"json","example":{"ok":true,"data":{"name":"Ada","age":36},"notes":["parsed key:value lines","schema_hint matched 2/2 keys"],"schema_hint":"name, age"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"mcp"},"toolName":{"type":"string"},"description":{"type":"string"},"transport":{"type":"string","enum":["streamable-http"]},"inputSchema":{"type":"object"},"example":{"type":"object"}},"required":["type","toolName","inputSchema"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"ok":{"type":"boolean"},"data":{},"notes":{"type":"array","items":{"type":"string"}},"schema_hint":{"type":"string"}},"required":["ok","notes","schema_hint"]}},"required":["type"]}},"required":["input"]}}}},{"name":"brief","sku":"brief","price":"$0.25","priceUsd":0.25,"description":"Research brief with cited sources on any topic, written to order (not instant). Returns a job id and due time right away; the finished brief (title, summary, markdown body, source links, word count) is ready within 24 hours, usually the same day, at GET /v1/jobs/:id, which is free. About 500 words by default (50-1500 via max_words), with at least 3 cited public web sources.","type":"mcp","resource":"https://desk.grokaiapps.com/mcp","extensions":{"bazaar":{"info":{"input":{"type":"mcp","toolName":"brief","description":"Research brief with cited sources on any topic, written to order (not instant). Returns a job id and due time right away; the finished brief (title, summary, markdown body, source links, word count) is ready within 24 hours, usually the same day, at GET /v1/jobs/:id, which is free. About 500 words by default (50-1500 via max_words), with at least 3 cited public web sources.","transport":"streamable-http","inputSchema":{"properties":{"topic":{"type":"string","minLength":1,"maxLength":2000,"description":"What the brief should cover"},"max_words":{"type":"integer","minimum":50,"maximum":1500,"description":"Target length in words (default 500)"}},"required":["topic"]},"example":{"topic":"x402 discovery for agents","max_words":400}},"output":{"type":"json","example":{"id":"3f2b9c1e-6a0d-4c1f-9a51-2f0e7d8b1c44","type":"brief","status":"queued","createdAt":"2026-10-05T20:00:00.000Z","dueBy":"2026-10-06T20:00:00.000Z","late":false,"statusUrl":"https://desk.grokaiapps.com/v1/jobs/3f2b9c1e-6a0d-4c1f-9a51-2f0e7d8b1c44"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"mcp"},"toolName":{"type":"string"},"description":{"type":"string"},"transport":{"type":"string","enum":["streamable-http"]},"inputSchema":{"type":"object"},"example":{"type":"object"}},"required":["type","toolName","inputSchema"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"status":{"type":"string","enum":["queued","running","done","failed"]},"createdAt":{"type":"string","format":"date-time"},"dueBy":{"type":"string","format":"date-time"},"late":{"type":"boolean"},"statusUrl":{"type":"string"}},"required":["id","status","dueBy","statusUrl"]}},"required":["type"]}},"required":["input"]}}}},{"name":"deep_brief","sku":"deep-brief","price":"$9.00","priceUsd":9,"description":"In-depth research report with cited sources, for decisions that need more than a quick note. About 1,500 words (1,200-2,000) with an executive summary, key findings and analysis, at least 8 cited public sources, and an operator check before delivery. Returns a job id and due time right away; the report is ready within 24 hours at GET /v1/jobs/:id, which is free. Free sample: /samples/brief-x402-bazaar-discovery.md","type":"mcp","resource":"https://desk.grokaiapps.com/mcp","extensions":{"bazaar":{"info":{"input":{"type":"mcp","toolName":"deep_brief","description":"In-depth research report with cited sources, for decisions that need more than a quick note. About 1,500 words (1,200-2,000) with an executive summary, key findings and analysis, at least 8 cited public sources, and an operator check before delivery. Returns a job id and due time right away; the report is ready within 24 hours at GET /v1/jobs/:id, which is free. Free sample: /samples/brief-x402-bazaar-discovery.md","transport":"streamable-http","inputSchema":{"properties":{"topic":{"type":"string","minLength":1,"maxLength":2000,"description":"What the deep brief should cover"},"focus":{"type":"string","maxLength":2000,"description":"Optional angle, audience, or questions to answer"}},"required":["topic"]},"example":{"topic":"State of x402 discovery: Bazaar vs MCP directories","focus":"For a seller choosing where to list"}},"output":{"type":"json","example":{"id":"7c1d2e3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f","type":"brief","tier":"deep","status":"queued","createdAt":"2026-10-13T08:00:00.000Z","dueBy":"2026-10-14T08:00:00.000Z","late":false,"statusUrl":"https://desk.grokaiapps.com/v1/jobs/7c1d2e3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"mcp"},"toolName":{"type":"string"},"description":{"type":"string"},"transport":{"type":"string","enum":["streamable-http"]},"inputSchema":{"type":"object"},"example":{"type":"object"}},"required":["type","toolName","inputSchema"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"tier":{"type":"string"},"status":{"type":"string","enum":["queued","running","done","failed"]},"createdAt":{"type":"string","format":"date-time"},"dueBy":{"type":"string","format":"date-time"},"late":{"type":"boolean"},"statusUrl":{"type":"string"}},"required":["id","status","dueBy","statusUrl"]}},"required":["type"]}},"required":["input"]}}}},{"name":"brief_status","sku":null,"price":"free","priceUsd":0,"description":"Free status/result lookup for a brief job id."},{"name":"tip_remaining","sku":null,"price":"free","priceUsd":0,"description":"Tip everything left on your pack (needs X-Entitlement-Key). Preview without confirm; tip with confirm=true and expect_usd. No new charge; irreversible."},{"name":"support_request","sku":null,"price":"free","priceUsd":0,"description":"Open a support ticket (HELP-XXXX) with a person. Pack key header or an email. No automatic reply."}],"clientConfig":{"cursor":{"mcpServers":{"autogrok-desk":{"url":"https://desk.grokaiapps.com/mcp"}}},"claudeCode":"claude mcp add --transport http autogrok-desk https://desk.grokaiapps.com/mcp","withPackCredits":{"mcpServers":{"autogrok-desk":{"url":"https://desk.grokaiapps.com/mcp","headers":{"X-Entitlement-Key":"<your pack key agk.…>"}}}}}},"mpp":{"enabled":true,"protocol":"MPP (Machine Payments Protocol, HTTP 402 + WWW-Authenticate: Payment)","method":"stripe","intent":"charge","payment":"Stripe Shared Payment Token (card via Link) scoped to Desk's Stripe profile, or stablecoin on Tempo (Stripe deposit address)","methods":["stripe","tempo"],"offers":[{"pack_id":"pack_url_probe_17","amount_cents":51,"offers":[{"amount":"51","currency":"usd","decimals":2,"description":"AUTOGROK Desk URL probe x17","intent":"charge","method":"stripe","price_usd":"0.51"},{"amount":"510000","currency":"usd","decimals":6,"description":"AUTOGROK Desk URL probe x17","intent":"charge","method":"tempo","network":"tempo","price_usd":"0.51","settlement":"Stripe crypto (stablecoin → Stripe balance)"}]},{"pack_id":"pack_page_extract_10","amount_cents":50,"offers":[{"amount":"50","currency":"usd","decimals":2,"description":"AUTOGROK Desk Page extract x10","intent":"charge","method":"stripe","price_usd":"0.50"},{"amount":"500000","currency":"usd","decimals":6,"description":"AUTOGROK Desk Page extract x10","intent":"charge","method":"tempo","network":"tempo","price_usd":"0.50","settlement":"Stripe crypto (stablecoin → Stripe balance)"}]},{"pack_id":"pack_watch_5","amount_cents":50,"offers":[{"amount":"50","currency":"usd","decimals":2,"description":"AUTOGROK Desk Watch once x5","intent":"charge","method":"stripe","price_usd":"0.50"},{"amount":"500000","currency":"usd","decimals":6,"description":"AUTOGROK Desk Watch once x5","intent":"charge","method":"tempo","network":"tempo","price_usd":"0.50","settlement":"Stripe crypto (stablecoin → Stripe balance)"}]},{"pack_id":"pack_json_4","amount_cents":60,"offers":[{"amount":"60","currency":"usd","decimals":2,"description":"AUTOGROK Desk JSON shape x4","intent":"charge","method":"stripe","price_usd":"0.60"},{"amount":"600000","currency":"usd","decimals":6,"description":"AUTOGROK Desk JSON shape x4","intent":"charge","method":"tempo","network":"tempo","price_usd":"0.60","settlement":"Stripe crypto (stablecoin → Stripe balance)"}]},{"pack_id":"pack_brief_2","amount_cents":50,"offers":[{"amount":"50","currency":"usd","decimals":2,"description":"AUTOGROK Desk Brief x2","intent":"charge","method":"stripe","price_usd":"0.50"},{"amount":"500000","currency":"usd","decimals":6,"description":"AUTOGROK Desk Brief x2","intent":"charge","method":"tempo","network":"tempo","price_usd":"0.50","settlement":"Stripe crypto (stablecoin → Stripe balance)"}]},{"pack_id":"pack_deep_brief_1","amount_cents":900,"offers":[{"amount":"900","currency":"usd","decimals":2,"description":"AUTOGROK Desk Deep brief x1","intent":"charge","method":"stripe","price_usd":"9.00"},{"amount":"9000000","currency":"usd","decimals":6,"description":"AUTOGROK Desk Deep brief x1","intent":"charge","method":"tempo","network":"tempo","price_usd":"9.00","settlement":"Stripe crypto (stablecoin → Stripe balance)"}]}],"networkId":"profile_61VWqT6yAHyjIP6EJA6VWqT668SQipSDos48kYNEeAxc","stripeProfile":"@autogrokdesk","stripeApiVersion":"2026-09-30.preview","endpoint":"POST https://desk.grokaiapps.com/v1/mpp/packs/{pack_id}","openapi":"https://desk.grokaiapps.com/openapi.json","scope":"Pack purchases only ($0.50 and up). Pay by card (Stripe SPT) or stablecoin on Tempo; both credit the same prepaid pack. Per-call jobs stay on x402 USDC.","tempo":{"method":"tempo","chain":"tempo","token":"USDC","decimals":6,"settlement":"Paid to a Stripe-issued deposit address; Stripe records it as a crypto PaymentIntent into Desk's normal Stripe balance. Desk holds no wallet and no key.","note":"Same price as the card offer. Choose either method from the one 402 response; send the credential back in Authorization.","payer_requirement":"Send the transfer with the challenge's attribution memo (mppx/client tempo.charge does this: transferWithMemo, not a bare transfer). A plain transfer to the deposit address is refused because it cannot be bound to a challenge."},"returns":"JSON { entitlement_key, credits, payment_intent } — send entitlement_key as X-Entitlement-Key on POST /v1/jobs/* or on /mcp tools/call.","topUp":"Send an existing X-Entitlement-Key with the purchase to add credits to that key.","packs":[{"pack_id":"pack_url_probe_17","name":"URL probe ×17","amount_usd":0.51,"amount_cents":51,"currency":"usd","credits":{"url-probe":17},"buy_url":"https://desk.grokaiapps.com/v1/mpp/packs/pack_url_probe_17"},{"pack_id":"pack_page_extract_10","name":"Page extract ×10","amount_usd":0.5,"amount_cents":50,"currency":"usd","credits":{"page-extract":10},"buy_url":"https://desk.grokaiapps.com/v1/mpp/packs/pack_page_extract_10"},{"pack_id":"pack_watch_5","name":"Watch once ×5","amount_usd":0.5,"amount_cents":50,"currency":"usd","credits":{"watch-once":5},"buy_url":"https://desk.grokaiapps.com/v1/mpp/packs/pack_watch_5"},{"pack_id":"pack_json_4","name":"JSON shape ×4","amount_usd":0.6,"amount_cents":60,"currency":"usd","credits":{"json-shape":4},"buy_url":"https://desk.grokaiapps.com/v1/mpp/packs/pack_json_4"},{"pack_id":"pack_brief_2","name":"Brief ×2","amount_usd":0.5,"amount_cents":50,"currency":"usd","credits":{"brief":2},"buy_url":"https://desk.grokaiapps.com/v1/mpp/packs/pack_brief_2"},{"pack_id":"pack_deep_brief_1","name":"Deep brief ×1","amount_usd":9,"amount_cents":900,"currency":"usd","credits":{"deep-brief":1},"buy_url":"https://desk.grokaiapps.com/v1/mpp/packs/pack_deep_brief_1"}],"examples":{"linkCliSpendRequest":"link-cli spend-request create --credential-type shared_payment_token --network-id profile_61VWqT6yAHyjIP6EJA6VWqT668SQipSDos48kYNEeAxc --amount 51 --merchant-name \"AUTOGROK Desk\" --merchant-url https://desk.grokaiapps.com --context \"<100+ chars: why the agent is buying this Desk pack>\" --request-approval","linkCliPay":"link-cli mpp pay https://desk.grokaiapps.com/v1/mpp/packs/pack_url_probe_17 --spend-request-id lsrq_… --method POST","useKey":"curl -X POST https://desk.grokaiapps.com/v1/jobs/url-probe -H 'X-Entitlement-Key: agk.…' -H 'content-type: application/json' -d '{\"url\":\"https://example.com\"}'"}},"briefPromise":{"turnaroundHours":24,"defaultWords":500,"minWords":50,"maxWords":1500,"minSources":3,"delivery":"GET /v1/jobs/{id} (free); MCP tool brief_status","resultShape":{"title":"string","summary":"string (2–3 sentences)","body_markdown":"string","sources":"[{ title, url }] (≥3)","word_count":"integer","delivered_at":"ISO-8601"},"scope":"Public web sources only; no paywalled, private, or login-only data.","text":"Brief ($0.25): a researched, written brief on your topic, delivered within 24 hours of your order (usually the same day). Length ~500 words by default; set max_words from 50 to 1500. Every brief cites at least 3 public source links. You get a job id right away; the finished brief (title, summary, markdown body, source list) appears at GET /v1/jobs/{id} — free to check. Public web sources only; no paywalled, private, or login-only data.","sample":"/samples/brief-x402-bazaar-discovery.md","deep":{"priceUsd":9,"turnaroundHours":24,"words":1500,"minWords":1200,"maxWords":2000,"minSources":8,"text":"Deep brief ($9): a long-form researched brief delivered within 24 hours of your order. About 1500 words (1200–2000), opening with a 3–5 sentence executive summary and key findings, then the full analysis. Cites at least 8 public sources, each listed with title and URL; claims and links are checked by the operator before delivery. Poll GET /v1/jobs/{id} (free). Public web sources only."}},"sampleBrief":"https://desk.grokaiapps.com/samples/brief-x402-bazaar-discovery.md"}