{"id":264687,"recorded_at":"2026-10-26T17:05:56.944022Z","observed_at":"2026-10-26T17:05:56.943912Z","subject_kind":"endpoint","subject":"7ee09d74-b2cb-4dda-bee2-422ad37bc46b","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":6,"tools":[{"description":"Prepare a new temporary static preview. Supply exactly one of small files or ZIP archive_base64. No backend/build. Requires explicit consent; returns an approval link, not a published URL. User must confirm in their browser. ","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"accept_terms":{"const":true,"description":"Set true only after the user explicitly agrees to the current terms and public temporary preview limits. Not inferred from a request to generate a site. Preparation is not publication; the user must also personally confirm the approval URL in their browser within 2 hours.","type":"boolean"},"archive_base64":{"description":"One input choice: actual ZIP bytes encoded as canonical standard base64, without data: prefix. At most 50 MiB (52,428,800 bytes) of decoded ZIP and 50 MiB extracted content; at most 25 MiB per file. index.html at root. No nested archives or server code. Do not also send files or archive.","maxLength":69905068,"type":"string"},"files":{"description":"One input choice: 1-500 already-built static files, at most 1 MiB decoded in total. Include index.html at the root and all needed assets. Do not also send archive_base64 or archive. For larger output use a ZIP.","items":{"additionalProperties":false,"properties":{"content":{"description":"Actual file contents, not a filename, local path or download URL. Use UTF-8 text for HTML/CSS/JS and canonical base64 for binary assets. All files together must decode to at most 1 MiB (1,048,576 bytes). No secrets, personal/payment data or forms.","maxLength":1400000,"type":"string"},"encoding":{"description":"Defaults to utf8. Set base64 for binary content; standard padded base64 only, without a data: prefix, whitespace or URL-safe alphabet. The decoded bytes count toward the shared 1 MiB limit.","enum":["utf8","base64"],"type":"string"},"path":{"description":"Relative POSIX path inside the ready static output, e.g. index.html or assets/app.js. index.html must be at the root. No absolute paths, traversal, symlinks, archives or executable/server files.","maxLength":240,"minLength":1,"type":"string"}},"required":["path","content"],"type":"object"},"maxItems":500,"minItems":1,"type":"array"}},"required":["accept_terms"],"type":"object"},"name":"create_preview"},{"description":"Prepare deletion of an existing preview. Does not delete until its owner confirms in the browser holding the management key.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"confirm_delete":{"const":true,"description":"Set true only after the owner explicitly asks to delete this preview. The tool only prepares deletion; final confirmation requires the browser holding its management key.","type":"boolean"},"preview_id":{"description":"Existing preview_id returned by AIfra. Do not invent it or pass a URL, alias, management key or source IP.","pattern":"^pv_[A-Za-z0-9_-]{24}$","type":"string"}},"required":["preview_id","confirm_delete"],"type":"object"},"name":"delete_preview"},{"description":"Explain remote browser-confirmed AIfra publication of ready static files, limits and current terms.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{},"type":"object"},"name":"get_deploy_instructions"},{"description":"Read whether a prepared operation is pending, complete, failed or uncertain. Returns no file content or management key. Never assume pending means published.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"operation_id":{"description":"Exact operation_id from a preparation response. Read status after user confirmation or on request. Only complete with a result contains the published URL; pending is not published, uncertain must not be replayed.","pattern":"^rop_[A-Za-z0-9_-]{43}$","type":"string"}},"required":["operation_id"],"type":"object"},"name":"get_operation_status"},{"description":"Read current public status, URL and server-enforced expiry of an existing preview. Only the service owner can manually extend expiry; updates never extend it.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"preview_id":{"description":"Existing preview_id returned by AIfra. Do not invent it or pass a URL, alias, management key or source IP.","pattern":"^pv_[A-Za-z0-9_-]{24}$","type":"string"}},"required":["preview_id"],"type":"object"},"name":"get_preview_status"},{"description":"Prepare replacement of an existing temporary static preview. Supply exactly one of small files or ZIP archive_base64. No backend/build. Requires explicit consent; returns an approval link, not a published URL. User must confirm in their browser. Requires the browser holding the existing management key; expiry is unchanged.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"accept_terms":{"const":true,"description":"Set true only after the user explicitly agrees to the current terms and public temporary preview limits. Not inferred from a request to generate a site. Preparation is not publication; the user must also personally confirm the approval URL in their browser within 2 hours.","type":"boolean"},"archive_base64":{"description":"One input choice: actual ZIP bytes encoded as canonical standard base64, without data: prefix. At most 50 MiB (52,428,800 bytes) of decoded ZIP and 50 MiB extracted content; at most 25 MiB per file. index.html at root. No nested archives or server code. Do not also send files or archive.","maxLength":69905068,"type":"string"},"files":{"description":"One input choice: 1-500 already-built static files, at most 1 MiB decoded in total. Include index.html at the root and all needed assets. Do not also send archive_base64 or archive. For larger output use a ZIP.","items":{"additionalProperties":false,"properties":{"content":{"description":"Actual file contents, not a filename, local path or download URL. Use UTF-8 text for HTML/CSS/JS and canonical base64 for binary assets. All files together must decode to at most 1 MiB (1,048,576 bytes). No secrets, personal/payment data or forms.","maxLength":1400000,"type":"string"},"encoding":{"description":"Defaults to utf8. Set base64 for binary content; standard padded base64 only, without a data: prefix, whitespace or URL-safe alphabet. The decoded bytes count toward the shared 1 MiB limit.","enum":["utf8","base64"],"type":"string"},"path":{"description":"Relative POSIX path inside the ready static output, e.g. index.html or assets/app.js. index.html must be at the root. No absolute paths, traversal, symlinks, archives or executable/server files.","maxLength":240,"minLength":1,"type":"string"}},"required":["path","content"],"type":"object"},"maxItems":500,"minItems":1,"type":"array"},"preview_id":{"description":"Existing preview_id returned by AIfra. Do not invent it or pass a URL, alias, management key or source IP.","pattern":"^pv_[A-Za-z0-9_-]{24}$","type":"string"}},"required":["accept_terms","preview_id"],"type":"object"},"name":"update_preview"}]},"body_sha256":"1d6facaa1dbe880bf155b2d3d3724d012ef99a482a7f8d14ac39eddcf6f6d8fe","prev_id":null,"leaf":"0xfc027b5be60147313999623ee3316ba3f55668e81d7ac294902ab642ba4fab91","leaf_text":"{\"body\":\"1d6facaa1dbe880bf155b2d3d3724d012ef99a482a7f8d14ac39eddcf6f6d8fe\",\"id\":264687,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793034356943912,\"prev\":null,\"subject\":\"7ee09d74-b2cb-4dda-bee2-422ad37bc46b\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-26","leaves":296695,"root":"0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8","chained":"0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a","anchor_chain":"eip155:5042002","anchor_tx":"0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae","anchor_block":69251483},"proof":["0xfc029ec43ed3dc5a542992b41fa1534b7bb96f65fb850a78e66b9a5d57125b5e","0xd9eff6079403857b8251fa21d51cce9129532d7f339d3c68e0cfb759eea09f4a","0x5404a73f6aad0b285e187755ae235ffb92b19e4a2952f991914defc5a5750ed8","0x73f667e1e6792c191939383985995fffbbef2bb2fed579a0c7a9b48d31c6137d","0xaa3ca8c9e4132c93692c68db1bcc0b80ec19cc83513442bafbceab7b8f8e1da4","0x01c7c5b91056a8c4413b3ebc442e119d5ffc588699399d838112916cb25ce373","0x530482a0469f5313fce270012027a46fa20d1bbb3ffe7b4ef5f787de661634b7","0x4ab32d37c3ce65a2cda51acad9f1d3eb358a5911e0af7b7a2fd0547bb08e0321","0xa0f80f243f8b4719fc8bc7f60682dc3e72a50ebb41702b45f94d65e9d76b96c3","0x0d9c6b15190d9e13a7cb74876b1fd47b5bba1e548abecd756ff8fd16658a6713","0x51bc8fcd224b36d2c60fa49f46f383ee8328191b9e73209ce8018f2612c3d42f","0xf8173f36b7a27e1bb0f6961a49501bba1d99349c5e11449d0d557fbaa910be0a","0xbee644d57738676bfb20eb90d6021f364bf883a8d54f8d17e9dc4749b4074c3d","0x44945ea9ad8b24e723ad5a8fd6d014024a49531783f74ff9229c2ab6930e84c8","0x68d296b1e00b4899fb83c3fba36fffaefa311eac2903067dbebfe776a12b4a9a","0x5fb5dda563336cd1bc1b9f44c52b76237ae72ed2145cb9290f39f304ca7dd678","0x74a0a08e4e7ab9aa5bfbead33dec7e1c7e8e364cff69a63720d764bbe987aadc"]}