{"id":4136287,"recorded_at":"2026-11-08T00:10:39.571416Z","observed_at":"2026-11-08T00:10:39.571332Z","subject_kind":"endpoint","subject":"e466df4b-82ab-4fae-9d3c-32ded94052b2","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":13,"tools":[{"description":"Returns the complete, copy-ready React/TSX source of one component as designed, plus notes on its images and any extra files it needs. Components use Tailwind CSS classes and import react, framer-motion and lucide-react; a few also need gsap or three, which the response names with the install command. Use it once you know the exact name; use get_component_styled instead when the component should take on an extracted brand style. Without a premium key, source comes back for the free components, the first six of every category, which list_components and search_components mark as \"free\"; other names return a notice on how to get a key.","inputSchema":{"additionalProperties":false,"properties":{"name":{"description":"Component name as listed by list_components or search_components, e.g. 'OrbitGalleryHero'. Matching ignores case.","type":"string"}},"required":["name"],"type":"object"},"name":"get_component"},{"description":"Returns one component's source together with the tokens of a brand style, step-by-step instructions for mapping the component's colours, fonts and radii onto that style, and the colour values the component uses today. Use it instead of get_component when the result should match a specific brand. The server does not rewrite the code; you apply the mapping. Same premium rule as get_component.","inputSchema":{"additionalProperties":false,"properties":{"name":{"description":"Component name as listed by list_components, e.g. 'GradientHeroSection'.","type":"string"},"style":{"description":"Style slug exactly as listed by list_styles.","type":"string"}},"required":["name","style"],"type":"object"},"name":"get_component_styled"},{"description":"Returns one post template as working instructions: the full HTML file, an export script to render it locally as PNG or video, and the rules on what may be changed. The server renders nothing; you edit and export the file. Use it after list_posts.","inputSchema":{"additionalProperties":false,"properties":{"lang":{"description":"Language of the instructions (optional, English by default).","enum":["de","en"],"type":"string"},"slug":{"description":"Template slug as listed by list_posts.","type":"string"}},"required":["slug"],"type":"object"},"name":"get_post"},{"description":"Returns one page recipe: the ordered sections with the purpose of each, a composition file where available, and the full source of every section. Pass style to add brand tokens and adaptation instructions. Without a premium key, sections that are not free are named but their source is held back. The answer is long because it contains several complete components.","inputSchema":{"additionalProperties":false,"properties":{"name":{"description":"Recipe slug as listed by list_recipes, e.g. 'saas-produkt' or 'hotel-stay'.","type":"string"},"style":{"description":"Style slug from list_styles (optional), to adapt the page to a brand.","type":"string"}},"required":["name"],"type":"object"},"name":"get_recipe"},{"description":"Returns every design token of one extracted brand style: colours, font families and sizes, spacing, radii, CSS variables and the generated DESIGN.md (up to 4000 characters). Use it to theme your own code or set up a design system; use get_component_styled when you want one specific component already paired with the style.","inputSchema":{"additionalProperties":false,"properties":{"slug":{"description":"Style slug exactly as listed by list_styles.","type":"string"}},"required":["slug"],"type":"object"},"name":"get_style"},{"description":"Lists every component category of the Systra Tools library with its slug, its title and how many components it holds. Start here when the user names a kind of page part (hero, pricing, footer) instead of a component, then pass the slug to list_components. No parameters, works without a key.","inputSchema":{"additionalProperties":false,"properties":{},"type":"object"},"name":"list_categories"},{"description":"Lists component names, optionally limited to one category, one line each with the name and the category slug. Use it to browse a category before choosing; use search_components instead when you already have a keyword. Returns names only, no source: fetch the code with get_component. Works without a key; without one, the components whose source is free are marked \"free\".","inputSchema":{"additionalProperties":false,"properties":{"category":{"description":"Category slug from list_categories, e.g. 'heroes', 'cta', 'pricing', 'forms', 'footer'. Omit it to list every component (more than 600).","type":"string"}},"type":"object"},"name":"list_components"},{"description":"Lists images and a few videos from the Systra Tools media library (all AI-generated), each with a permanent URL to use directly as src, plus title, album and format. Filter by album and format, 100 per page. Use it to browse an album; use search_images to find a motif by keyword. Without a premium key only the free images are returned, three per album.","inputSchema":{"additionalProperties":false,"properties":{"album":{"description":"Album key (optional, German): verlaeufe, abstrakt, surreal, objekte, freisteller, natur, interior, essen, portraet, beauty, hochzeit, menschen, arbeitsplatz, business, industrie, gesundheit, sport, autos, luftfahrt, nachtleben. Without one, every album is returned.","type":"string"},"format":{"description":"Image format to filter by (optional).","enum":["landscape","portrait","square"],"type":"string"},"page":{"description":"Page of the result, 100 images per page (optional, default 1).","minimum":1,"type":"integer"}},"type":"object"},"name":"list_images"},{"description":"Lists the Instagram post templates (1080 x 1350) with slug, name, family and whether they need your own imagery. Each template is a single HTML file that can be rebuilt and exported as an image or a video. Pass query to search by name or purpose, for example 'quote' or 'statistic'. Use it to pick a slug for get_post.","inputSchema":{"additionalProperties":false,"properties":{"family":{"description":"Family to filter by (optional): 'klar' are calm informational posts, 'editorial' lives on the image and a serif face.","enum":["klar","editorial"],"type":"string"},"query":{"description":"Search term (optional). Every word must appear in the slug, name, purpose or family. Can be combined with family.","type":"string"}},"type":"object"},"name":"list_posts"},{"description":"Lists curated page recipes: proven section sequences for complete landing pages (for example SaaS, coaching or a hotel), each with its number of sections and a short purpose. Pass query to search by industry, purpose or section, for example 'hotel' or 'pricing'. Use it when the user wants a whole page rather than one section, then call get_recipe.","inputSchema":{"additionalProperties":false,"properties":{"query":{"description":"Search term (optional). Every word must appear in the slug, title, description or section names. Without it, every recipe is listed.","type":"string"}},"type":"object"},"name":"list_recipes"},{"description":"Lists the brand styles extracted from real websites with the Systra style extractor: slug, site name, primary and accent colour and heading font. Pass query to search by site name, domain, colour or font, for example 'bakery' or 'Inter'. Use it to find a slug for get_style, get_component_styled or get_recipe. Works without a key.","inputSchema":{"additionalProperties":false,"properties":{"query":{"description":"Search term (optional). Every word must appear in the slug, site name, domain, colours or fonts. Without it, the 30 newest styles are listed.","type":"string"}},"type":"object"},"name":"list_styles"},{"description":"Finds components whose name or category contains the search term (one term, case-insensitive substring match) and returns their names with the category slug. Use it when you know roughly what you need, such as 'pricing', 'marquee', 'testimonial' or 'countdown'; use list_components to see a whole category. Names are English PascalCase, so short English words match best. Follow up with get_component for the source.","inputSchema":{"additionalProperties":false,"properties":{"query":{"description":"One keyword or name fragment, e.g. 'hero', 'gallery', 'bento'. Matched against component names and category slugs and titles.","type":"string"}},"required":["query"],"type":"object"},"name":"search_components"},{"description":"Finds images in the media library (all AI-generated) whose title, tags, file name or album contain every word of the query, and returns their permanent URLs, 100 per page. Use it for a motif, such as 'red dress', 'laptop desk' or 'misty forest'; use list_images to browse a whole album. Titles and tags are English, album keys German. Without a premium key only the free images are included.","inputSchema":{"additionalProperties":false,"properties":{"page":{"description":"Page of the result, 100 images per page (optional, default 1).","minimum":1,"type":"integer"},"query":{"description":"One or more words; every word must match. E.g. 'gradient', 'laptop', 'red dress'.","type":"string"}},"required":["query"],"type":"object"},"name":"search_images"}]},"body_sha256":"df8b7633c65b8258adc4c8ccf5cbe0d3b8229c289f6dd28d1d1a856dae7f7340","prev_id":995128,"leaf":"0xaf4b28034ae7d5243ac32cf42f4b7bc723f71218c333c622746139aa5fdf5aba","leaf_text":"{\"body\":\"df8b7633c65b8258adc4c8ccf5cbe0d3b8229c289f6dd28d1d1a856dae7f7340\",\"id\":4136287,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1794096639571332,\"prev\":995128,\"subject\":\"e466df4b-82ab-4fae-9d3c-32ded94052b2\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-11-08","leaves":183509,"root":"0xbf84ec37f88c5f23d2144bd7dbc1ea0f8edc93b3764a885a7164b7923ff3460b","chained":"0x9fea188e4965f50de727e97c40e18d5ff2c2ddbfd4f1ae65e22ddd6f676bccfc","anchor_chain":"eip155:5042002","anchor_tx":"0xb5273480942a54cd07f291b8319e59976f8d9d0583181c764eed04c9b3f7a022","anchor_block":71451618},"proof":["0xaf4bcc237e6518ea0564a598dcecb0900a443e2dfb7ed64dd27e1a0db4d9221d","0x149597366625395d8f10fb4e0b768c222c74ca203861c23aa2161e523eb8e65e","0xd05faa7c966a3dc2b54eef3cd9ae9eb35b58240143f969020f45d4d99b1ca5f4","0xc7e47e8f19fa1429409dd67adcaae896e7014c6793094ff46650f553a5096d48","0x207765039a2ef23e0eb598db31733770a4b93e978764253048021ba1a926b392","0x3dd328df27d0b90c9bbd1692fbb0dc0223ce93ab93376f9b381388a5b01a3a03","0x49ee4bd0feb8907f3ba138c1c84f2a31b6960959c8af0ec584db3349553253d2","0x3d998e9f6271368d8255fe73bb39e5475f79e679108dded4544694fdbd81a38c","0x4f0e8604d99cc742cc0b94e6eabbe9801fba734b04fb87885b6eced53a66cc3e","0xf464c29e1a55f8b0eb76fe2899d1acbd553e0107b0bbf43b0aac36f5486ae4bd","0x88c3553ef64624b8aae4647a3ce67c6d2d4d33a99d163be1dfd64be578687eb1","0x3c7f0320e7b31da94a660eab252821ad8c20a1b84bfae27e2cfe4960d953f2bd","0x0db88235da3f3baddb5e403297c1daeb4785419747e50cd0a0e1bda0dd0632ad","0xd85caca09d67e98eb2b026377799d26ca6083ffbbf0ebc7166b50798c31da1d8","0x0ab1ce41f6833c03a127e43753de6b18c947937a03d30e9d752d919125492456","0x15fcf46472196b84319db11d0928bd9a7c1bffd0bf592e61363ef0eddd378bc6","0x45874ada32d7ee6c17eade12dec01ab7504d43d23be0d9dbb51e642eb39966a4","0x1f0ff2af9da38fef1beef5d2dbcf41f592dca17729b7ab9b9c0b6ef354dc3b83"]}