{"ok":true,"site":{"host":"blog.eliperkins.com","url":"https://blog.eliperkins.com/","type":"live","desc":"A bunch of ramblings from Eli Perkins","tools":[{"name":"list_posts","kind":"answer","impl":"imperative","description":"Returns a list of all blog posts by Eli Perkins with titles, dates, excerpts, and reading times","hasHandler":true,"hasExecute":false,"__source":"spec","executable":false,"handlerField":"handler","page":"/","pages":["/"]},{"name":"get_post_content","kind":"answer","impl":"imperative","description":"Fetches the full markdown content of a blog post by slug. Returns the raw markdown text.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"The URL slug of the post (e.g., 'gardening', 'stackless-stacked-prs')","enum":["conditional-rendering-over-nil-coalescing","tools-i-love-secretive","tools-i-love-plannotator","i-dont-look-at-the-code","tools-i-love-xcrun-simctl-recordVideo","one-year-with-kagi","gardening","tools-i-love-mise","stackless-stacked-prs","great-release-notes","great-contributions-to-a-codebase","migrating-from-gatsby-to-next","what-is-relay-validate","se0117-has-the-power-to-change-sdk-design","mocks-in-swift-via-protocols","wwdc-2014-predictions","get-off-my-lawn","how-we-learn"]}},"required":["slug"]},"hasHandler":true,"hasExecute":false,"__source":"spec","executable":false,"handlerField":"handler","page":"/","pages":["/"]},{"name":"search_posts","kind":"answer","impl":"imperative","description":"Search blog posts by keyword in title or excerpt. Returns matching posts.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search term to match against post titles and excerpts"}},"required":["query"]},"hasHandler":true,"hasExecute":false,"__source":"spec","executable":false,"handlerField":"handler","page":"/","pages":["/"]},{"name":"get_blog_info","kind":"answer","impl":"imperative","description":"Returns metadata about this blog including the author, topics, and how to access content","hasHandler":true,"hasExecute":false,"__source":"spec","executable":false,"handlerField":"handler","page":"/","pages":["/"]}],"category":"Media & Personal","favicon":"/favicons/blog.eliperkins.com.png","apiSurface":"spec","toolCount":4}}