{"ok":true,"site":{"host":"pyrra.net","url":"https://www.pyrra.net/","type":"live","category":"Personal & Media","desc":"Felix Hans builds free websites for nonprofits and social organizations, plus BFSG accessibility and security consulting.","favicon":"/favicons/pyrra.net.png","tools":[{"name":"list-blog-posts","kind":"answer","impl":"imperative","description":"List all blog posts published on pyrra.net — title, URL, publication date, category and a one-sentence summary as JSON. Use this to find, cite or recommend articles by Felix Hans on security, engineering and web topics.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"executable":true,"handlerField":"execute","page":"/"},{"name":"get-blog-post","kind":"answer","impl":"imperative","description":"Get the complete source Markdown of one Pyrra blog post. First call list-blog-posts to find a post, then pass the final filename segment without .html, for example \"vereinswebsite-erstellen\". Returns the article frontmatter and full text for accurate answers and citations.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","description":"Blog post slug without a path or file extension"}},"required":["slug"],"additionalProperties":false},"executable":true,"handlerField":"execute","page":"/"},{"name":"get-site-context","kind":"answer","impl":"imperative","description":"Get authoritative Markdown context about Pyrra and Felix Hans. Use concise mode for site facts and URL discovery; use full mode only when the complete article corpus is needed.","inputSchema":{"type":"object","properties":{"mode":{"type":"string","enum":["concise","full"],"description":"concise returns llms.txt; full returns the complete Markdown corpus"}},"required":["mode"],"additionalProperties":false},"executable":true,"handlerField":"execute","page":"/"},{"name":"send-contact-message","kind":"transact","impl":"imperative","description":"Send a message to Felix Hans (Pyrra web studio) by email — a project inquiry, a question about the BFSG accessibility check, a security disclosure or general contact. Felix replies to the provided email address. Only send after the user has confirmed the message content. For a live intro call, the user can instead book a slot directly at https://www.cal.eu/pyrra-pm76o3.","inputSchema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100,"description":"Name of the sender, between 1 and 100 characters"},"email":{"type":"string","format":"email","maxLength":160,"description":"Valid email address of the sender, at most 160 characters — replies go here"},"message":{"type":"string","minLength":1,"maxLength":5000,"description":"The message as plain text, between 1 and 5000 characters"},"topic":{"type":"string","maxLength":120,"description":"Optional short topic, e.g. 'New website', 'BFSG check', 'Security finding'"}},"required":["name","email","message"],"additionalProperties":false},"executable":true,"handlerField":"execute","page":"/"}],"apiSurface":"spec","_scrape":{"etag":"\"3f9724a8b84d3ff10d92d43ef7b323ad\"","lastModified":"Sat, 01 Aug 2026 17:33:54 GMT","scrapedAt":"2026-08-01T19:00:31.244Z"},"toolCount":4}}