{"ok":true,"site":{"host":"hackshackers.com","url":"https://www.hackshackers.com/","type":"live","category":"Media & Personal","desc":"Where journalists and technologists build together to strengthen public information, through events, hands-on AI programs and open-source tools","tools":[{"name":"search_hh_posts","kind":"answer","impl":"imperative","description":"Search the Hacks/Hackers article archive by keyword. Returns matching post titles, excerpts and canonical URLs.","title":"Search Hacks/Hackers posts","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search keywords"},"limit":{"type":"integer","description":"Max results (1-20)","default":5}},"required":["query"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"list_recent_hh_posts","kind":"answer","impl":"imperative","description":"List the most recent Hacks/Hackers posts, newest first. Optionally filter by tag slug (e.g. 'newsletter'). Returns titles, excerpts and canonical URLs.","title":"List recent Hacks/Hackers posts","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"limit":{"type":"integer","description":"Max results (1-50)","default":10},"tag":{"type":"string","description":"Optional tag slug filter"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_page_markdown","kind":"answer","impl":"imperative","description":"Return the main article content of the current Hacks/Hackers page as clean Markdown.","title":"Get this page as Markdown","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"apiSurface":"spec","favicon":"/favicons/hackshackers.com.png","toolCount":3}}