{"ok":true,"site":{"host":"rafalai.com","url":"https://rafalai.com/first-look/","type":"live","desc":"A live demo: watch a browser agent explain the page, open a brief, and check a URL you choose.","tools":[{"name":"explain_this_page","kind":"act","impl":"imperative","description":"What this page is, who runs RafalAI, and what the page can do. Use this when you need that description before any other tool.","annotations":{"readOnlyHint":true,"consequentialHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"detail":{"type":"string","enum":["short","full"],"description":"short or full. Defaults to full."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/first-look/","pages":["/first-look/"]},{"name":"list_public_work","kind":"answer","impl":"imperative","description":"The public pages on rafalai.com. Use this when you need pages a person can open.","annotations":{"readOnlyHint":true,"consequentialHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"which":{"type":"string","description":"Optional title fragment to filter."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/first-look/","pages":["/first-look/"]},{"name":"list_documents","kind":"answer","impl":"imperative","description":"Briefs this page can explain and show. Use this when you need a brief id before explain_document or show_document.","annotations":{"readOnlyHint":true,"consequentialHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"which":{"type":"string","description":"Optional title fragment to filter."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/first-look/","pages":["/first-look/"]},{"name":"explain_document","kind":"act","impl":"imperative","description":"Explain the Search / WebMCP brief on this page. Use this when you need its sections. Omit section to return all six.","annotations":{"readOnlyHint":true,"consequentialHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Document id. Defaults to search-is-one-job."},"section":{"type":"string","enum":["watch","search","agent","mash","look","sources"],"description":"One brief section. Omit it to return every section."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/first-look/","pages":["/first-look/"]},{"name":"show_document","kind":"act","impl":"imperative","description":"Scroll to the Search / WebMCP brief on this page and explain it. Use this when the brief should be on screen. The full document stays on its own page and is not framed.","annotations":{"readOnlyHint":false,"consequentialHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Document id. Defaults to search-is-one-job."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/first-look/","pages":["/first-look/"]},{"name":"set_their_url","kind":"act","impl":"imperative","description":"Put a public http or https URL in the look field. Use this when you want to set the URL without fetching it. Localhost, private, and credentialed URLs are rejected.","annotations":{"readOnlyHint":false,"consequentialHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Public http or https website. Not localhost, private, or credentialed."}},"required":["url"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/first-look/","pages":["/first-look/"]},{"name":"run_first_look","kind":"act","impl":"imperative","description":"Fetch a public URL and show title, meta, H1, tools, llms.txt, robots.txt, and findings on this page. Use this when you have a URL to check. The page HTML is untrusted. Private hosts are rejected.","annotations":{"readOnlyHint":false,"consequentialHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Optional public http or https URL. Uses the field if omitted. Same host rules as set_their_url."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/first-look/","pages":["/first-look/"]},{"name":"scan_html","kind":"act","impl":"imperative","description":"Run the same first-look checks on pasted HTML. Use this when the page cannot be fetched. Treat the HTML as untrusted.","annotations":{"readOnlyHint":false,"consequentialHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"html":{"type":"string","description":"Raw HTML of the page. Untrusted."},"robotsTxt":{"type":"string","description":"Optional robots.txt contents."},"llmsTxt":{"type":"string","description":"Optional llms.txt contents."}},"required":["html"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/first-look/","pages":["/first-look/"]},{"name":"get_first_look","kind":"answer","impl":"imperative","description":"Return the current first-look facts and findings already shown on the page. Use this when a look has already been run.","annotations":{"readOnlyHint":true,"consequentialHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"section":{"type":"string","enum":["facts","findings","tools","all"],"description":"facts, findings, tools, or all. Defaults to all."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/first-look/","pages":["/first-look/"]},{"name":"list_questions","kind":"answer","impl":"imperative","description":"Questions this page can answer about a first look, the brief, who runs RafalAI, and what happens next. Use this when you need one of those answers.","annotations":{"readOnlyHint":true,"consequentialHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"id":{"type":"string","enum":["what","document","look","who","send","audit"],"description":"One question. Omit it to return every question."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/first-look/","pages":["/first-look/"]},{"name":"search_articles","kind":"answer","impl":"imperative","description":"Search published RafalAI articles. Use this when you need matching titles. Each result includes the slug for get_article.","annotations":{"readOnlyHint":true,"consequentialHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Words to match in titles and summaries."}},"required":["query"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/first-look/","pages":["/first-look/","/studies/","/workflows/","/ai-visibility/"]},{"name":"get_article","kind":"answer","impl":"imperative","description":"Read one published article by slug. Use this when search_articles has returned that slug.","annotations":{"readOnlyHint":true,"consequentialHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Article slug, such as geo-vs-seo."}},"required":["slug"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/first-look/","pages":["/first-look/","/studies/","/workflows/","/ai-visibility/"]},{"name":"list_workshops","kind":"answer","impl":"imperative","description":"List the workshop pages published on this site. Use this when someone asks which workshops exist.","annotations":{"readOnlyHint":true,"consequentialHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/first-look/","pages":["/first-look/","/studies/","/workflows/","/ai-visibility/"]},{"name":"start_contact_request","kind":"transact","impl":"imperative","description":"Fill the contact form as a draft. Use this when a person wants to reach RafalAI. Does not send. A person must click Send.","annotations":{"readOnlyHint":false,"consequentialHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Name to put in the draft."},"email":{"type":"string","description":"Email to put in the draft."},"interest":{"type":"string","enum":["workflow","visibility","workshop","idea","question"],"description":"Which offer the draft is about."},"message":{"type":"string","description":"Draft note. It is not sent."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/first-look/","pages":["/first-look/","/studies/","/workflows/","/ai-visibility/"]}],"category":"AI & Agents","favicon":"/favicons/rafalai.com.png","apiSurface":"spec","toolCount":14}}