{"id":559427,"recorded_at":"2026-10-27T21:08:57.027669Z","observed_at":"2026-10-27T21:08:57.027580Z","subject_kind":"endpoint","subject":"58c608f6-76aa-4c70-83ca-5b5b28b5097b","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":18,"tools":[{"description":"Attach up to 10 Studocu documents from search-documents to a project. Returns the sources that were successfully added; compare with document_ids if some were omitted.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"document_ids":{"description":"One to ten unique Studocu document IDs returned by search-documents.","items":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"maxItems":10,"minItems":1,"type":"array"},"project_id":{"description":"UUID of the Studocu project that will receive the document sources.","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["project_id","document_ids"],"type":"object"},"name":"add-document-sources"},{"description":"Use this proof tool to verify that the Agent OS MCP server received a valid delegated Studocu session.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{},"type":"object"},"name":"agent-os-session"},{"description":"Create a Studocu project and optionally configure its emoji and course. A numeric course_id is validated before project creation.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"course_id":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"emoji":{"minLength":1,"type":"string"},"title":{"maxLength":255,"minLength":1,"pattern":"\\S","type":"string"}},"type":"object"},"name":"create-project"},{"description":"Delete one durable memory document identified by (scope, kind) for the authenticated user. Provide project_id for project-local memory, or null/omit for global. Identity comes from Core via the session bearer, not from input.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"kind":{"description":"Memory kind to delete, e.g. study_preference or project_learning_context.","minLength":1,"type":"string"},"project_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},{"type":"null"}],"description":"Project UUID for project-local memory; null or omitted deletes global (user-level) memory."}},"required":["kind"],"type":"object"},"name":"delete-memory"},{"description":"Return the unified Agent OS context manifest for the authenticated user: profile, followed courses, project metadata, and recent activity. Every project includes has_course_mastery and started_course_mastery (course supports Infinite Practice / learner has started it). Course mastery is visible only on projects, not followed_courses. Practised-topic detail (topic_masteries) is included only when a course is in scope (project_id, a sole remaining project, or remaining projects that share one course_id); the field is omitted when detail was not loaded. Empty topic_masteries means that course was loaded and the learner has no practised topics. Use get-course-mastery(course_id) for the practised-topic list when context omitted detail. Agent OS is read-only: chatting or calling this tool does not change mastery. Source of truth is Infinite Practice attempts (identity + course + topic); web IP writes, ACE/mobile/Agent OS only read.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"active_only":{"description":"Limit the manifest to active context.","type":"boolean"},"course_id":{"anyOf":[{"minLength":1,"type":"string"},{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}],"description":"Narrow context to a single followed course and its projects."},"project_id":{"description":"Narrow context to a single project by id.","minLength":1,"type":"string"},"recent_only":{"description":"Limit the manifest to recently active context.","type":"boolean"}},"type":"object"},"name":"get-context"},{"description":"Return practised-topic Infinite Practice mastery for a course (topic_id, topic_name when available, display 0–100, questions_answered). Use after get-context flags (has_course_mastery / started_course_mastery) or whenever context omitted topic_masteries. Agent OS is read-only: chatting, creating artifacts, or calling this tool does not change mastery. Source of truth is Infinite Practice attempts (user_topic_mastery: identity + course + topic); display matches the web IP UI. Progress is learner- and course-scoped, not chat- or client-scoped — web IP writes it; ACE/mobile/Agent OS only read the same rows. Empty topic_masteries means no IP attempts yet, not a separate client score. Requires course_id.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"course_id":{"description":"Course id to load practised-topic Infinite Practice mastery for.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["course_id"],"type":"object"},"name":"get-course-mastery"},{"description":"Return a generated course outline as markdown when this tool has one. This is the best grounding for high-quality study guidance. If it is missing, a syllabus may be generating, so try again in a few minutes. Requires course_id.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"course_id":{"description":"Studocu course id whose published syllabus should be loaded.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["course_id"],"type":"object"},"name":"get-course-syllabus"},{"description":"Return sources and creations (project state) for one or more projects by id. Creation rows may include external_id (quizId or mockExamId) so a request-creation creating response can be matched once Alpha identity appears. Use after get-context (which lists projects without their sources/creations) to load those projects' artifacts. Only projects you can access are returned.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"ids":{"description":"The project ids to load sources and creations (project state) for. Only projects you can access are returned.","items":{"minLength":1,"type":"string"},"maxItems":20,"minItems":1,"type":"array"}},"required":["ids"],"type":"object"},"name":"get-project-state"},{"description":"Read a Studocu project source or creation by its studocu://project/{project_id}/{kind}/{uuid} URI. Returns normalized metadata with explicitly mapped inline content. file/image sources also include the photo as an image content block when a viewable image, or an original upload under 5 MB, is available.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"artifact_id":{"description":"Artifact URI in the form studocu://project/{project_id}/{kind}/{uuid}.","minLength":1,"type":"string"},"cursor":{"description":"Opaque continuation cursor returned by a previous read.","minLength":1,"type":"string"}},"required":["artifact_id"],"type":"object"},"name":"read-artifact"},{"description":"Read a Studocu document directly, without requiring or creating a project source. Use read-artifact for documents attached to a project.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"document_id":{"description":"Studocu document ID to read without creating a project source.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["document_id"],"type":"object"},"name":"read-detached-document"},{"description":"Read durable agent memory for the authenticated user. Returns one document per (scope, kind); use project_id for project-scoped memory. Identity comes from Core via the session bearer, not from input.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"kind":{"description":"Narrow the result to a single memory kind.","minLength":1,"type":"string"},"project_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},{"type":"null"}],"description":"Project UUID for project-scoped memory; null or omitted reads global (user-level) memory. Required when scope is project or both."},"scope":{"description":"Memory scope to read: global, project, or both. Defaults to global unless project_id is set.","enum":["global","project","both"],"type":"string"}},"type":"object"},"name":"read-memory"},{"description":"Generate a Studocu quiz or mockExam from 1-10 project source artifacts. Waits up to ~3 minutes; returns artifact_id and external_id when created, status creating with external_id when persist is not yet visible, or outcome_unknown on client timeout or in-flight duplicate (check get-project-state before retrying). Optional idempotency_key is forwarded as Idempotency-Key; identical retries without a key still dedupe.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"artifact_ids":{"description":"One to ten unique source artifact IDs (studocu://project/{project_id}/source/{uuid}) to generate from.","items":{"minLength":1,"type":"string"},"maxItems":10,"minItems":1,"type":"array"},"idempotency_key":{"description":"Optional retry key. Agent OS always sends Idempotency-Key to Alpha (this value, or a fingerprint of project/type/sources/instruction). Reuse with a different body is rejected.","maxLength":256,"minLength":1,"type":"string"},"instruction":{"description":"Optional free-text hint for the generating agent (e.g. \"focus on chapter 3\").","maxLength":6000,"minLength":1,"type":"string"},"project_id":{"description":"UUID of the Studocu project that will own the new creation.","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"type":{"description":"The kind of creation to generate: quiz or mockExam.","enum":["quiz","mockExam"],"type":"string"}},"required":["project_id","type","artifact_ids"],"type":"object"},"name":"request-creation"},{"description":"Search Studocu courses when establishing or correcting course context. Prefer institution_id from search-institutions to scope results. Omit institution_id only when the institution is unknown: results then include catalog institution_id, and institution_name when Algolia has it. Do not require this before every document search. Structured results include course_id, name, code (nullable), institution_id, and optional institution_name. When talking to the user, present name, course code, and institution name only — do not show internal IDs. Auto-pick a clear top match; if the shortlist is ambiguous, ask the user to choose by name/code. Resolved IDs are conversation-scoped until a persistence capability owns them.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"institution_id":{"exclusiveMinimum":0,"maximum":2147483647,"type":"integer"},"limit":{"default":3,"maximum":10,"minimum":1,"type":"integer"},"query":{"maxLength":200,"minLength":1,"type":"string"}},"required":["query"],"type":"object"},"name":"search-courses"},{"description":"Use this when the user wants to find, search, or browse study documents, lecture notes, summaries, or course materials on Studocu. Pass topic/keywords as `query` only — never put course name, course id, or institution name in `query`. `institution` is a display name only (this tool has no institution_id). Prefer numeric `course_id` from search-courses when you have it: it pins the course and overrules `course`. If both `course_id` and `institution` are sent, `course_id` wins; result institution is that course's university, not the name you passed. Otherwise pass `course` as name or code, never as a numeric id. `course` is optional extra if you already have `course_id`. Omit unknown filters. Returns matching documents with titles, course and institution info, ratings, and a link to view each on Studocu. Results with `match_type: semantic` are closest matches, not exact keyword hits, and may be only loosely related; check them against the request.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"course":{"description":"Course name or code only, e.g. \"Economics\" or \"ECON101\". Use when you do not have `course_id`. Never put a numeric id here. Optional extra if you also have `course_id`. Omit entirely if unknown.","type":"string"},"course_id":{"description":"Numeric Studocu course ID from search-courses `course_id`. Prefer this: it pins the course and overrules `course` name/code. Omit if you only have a name/code.","exclusiveMinimum":0,"maximum":2147483647,"type":"integer"},"institution":{"description":"Institution display name only, e.g. \"University of Amsterdam\". Not an id — this tool has no `institution_id`. Infer it from the user message or conversation context when available; omit entirely if unknown. If `course_id` is also set, `course_id` wins; result institution is that course's university, not this name.","type":"string"},"limit":{"default":10,"description":"Number of results to return (1-50, default: 10).","maximum":50,"minimum":1,"type":"integer"},"query":{"description":"Topic/keywords only (e.g. \"supply and demand\", \"microeconomics midterm 2025\"). Never put course name, course id, or institution name here — use `institution`, `course`, and `course_id` instead.","minLength":1,"type":"string"},"use_no_course_as_fallback":{"description":"Only used with `course_id`. When true and that course has no matching documents, search again without the course, so results may come from other courses; check each result's `course_id`. Default false.","type":"boolean"}},"required":["query"],"type":"object"},"name":"search-documents"},{"description":"Search Studocu institutions by name when establishing or correcting education context (onboarding / context setup). Do not require this before every document search. Structured results include id, name, type, region_code, and country for follow-up tools. When talking to the user, present name/type/country/region only — do not show internal IDs. Auto-pick a clear top match; if the shortlist is ambiguous, ask the user to choose by name. Resolved IDs are conversation-scoped until a persistence capability owns them.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"limit":{"default":3,"maximum":10,"minimum":1,"type":"integer"},"query":{"maxLength":200,"minLength":1,"type":"string"},"type":{"enum":["UNIVERSITY","HIGH_SCHOOL"],"type":"string"}},"required":["query"],"type":"object"},"name":"search-institutions"},{"description":"Update a Studocu project title, emoji, or course. Use course_id null to clear the course and institution.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"anyOf":[{"required":["title"]},{"required":["emoji"]},{"required":["course_id"]}],"minProperties":2,"properties":{"course_id":{"anyOf":[{"maximum":9007199254740991,"minimum":1,"type":"integer"},{"type":"null"}]},"emoji":{"minLength":1,"type":"string"},"project_id":{"description":"NOTE: These shared primitives are copied from the AI API spec and owned\nlocally by Agent OS to keep this contract decoupled.","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"title":{"maxLength":255,"minLength":1,"pattern":"\\S","type":"string"}},"required":["project_id"],"type":"object"},"name":"update-project"},{"description":"Create a Studocu artifact from typed content. Provide project_id and an artifact envelope; the artifact type defines the required content shape.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"artifact":{"description":"The artifact to create. Pick type; each type defines its own content shape.","oneOf":[{"additionalProperties":false,"properties":{"content":{"additionalProperties":false,"description":"Quiz content.","properties":{"course_id":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"questions":{"items":{"additionalProperties":false,"properties":{"answers":{"items":{"additionalProperties":false,"properties":{"answer":{"description":"Answer option text.","minLength":1,"type":"string"},"is_correct":{"description":"True for the correct option or options.","type":"boolean"}},"required":["answer","is_correct"],"type":"object"},"minItems":2,"type":"array"},"difficulty":{"enum":["EASY","MEDIUM","HARD"],"type":"string"},"explanation":{"description":"Required explanation for the correct answer (Core quiz API requires it, max 255 characters).","maxLength":255,"minLength":1,"type":"string"},"question":{"description":"Question prompt shown to the learner.","minLength":1,"type":"string"}},"required":["question","answers","explanation"],"type":"object"},"minItems":1,"type":"array"}},"required":["questions"],"type":"object"},"description":{"description":"Optional description stored on the creation record.","minLength":1,"type":"string"},"kind":{"const":"creation","description":"Artifact kind. Only creation is writable in this MVP.","type":"string"},"title":{"description":"Human-readable quiz title (Core Labs API requires 20-255 characters).","maxLength":255,"minLength":20,"type":"string"},"type":{"const":"quiz","type":"string"}},"required":["kind","title","type","content"],"type":"object"},{"additionalProperties":false,"properties":{"content":{"additionalProperties":false,"description":"Mock exam content.","properties":{"exam_json":{"additionalProperties":false,"properties":{"content":{"items":{"oneOf":[{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"instructions":{"minLength":1,"type":"string"},"kind":{"const":"section","type":"string"},"question_type":{"description":"Frontend-supported KnowledgeTest question type. Use mcq, not multiple_choice.","enum":["mcq","multi_select","true_false","fill_in_blank","text_answer_short","text_answer_long"],"type":"string"},"title":{"minLength":1,"type":"string"}},"required":["kind","id","question_type"],"type":"object"},{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"kind":{"const":"stimulus","type":"string"},"stimulus_markdown":{"minLength":1,"type":"string"},"title":{"minLength":1,"type":"string"}},"required":["kind","id","stimulus_markdown"],"type":"object"},{"oneOf":[{"additionalProperties":false,"properties":{"grading":{"additionalProperties":false,"properties":{"correct_answer":{"type":"string"},"correct_answer_ids":{"items":{"minLength":1,"type":"string"},"type":"array"},"key_points":{"items":{"minLength":1,"type":"string"},"type":"array"},"model_answer":{"minLength":1,"type":"string"}},"required":["model_answer"],"type":"object"},"id":{"minLength":1,"type":"string"},"kind":{"const":"question","type":"string"},"marks":{"minimum":0,"type":"number"},"options":{"items":{"additionalProperties":false,"properties":{"id":{"description":"Stable option id.","minLength":1,"type":"string"},"text":{"description":"Option text.","minLength":1,"type":"string"}},"required":["id","text"],"type":"object"},"minItems":2,"type":"array"},"question_markdown":{"minLength":1,"type":"string"},"section_id":{"minLength":1,"type":"string"},"stimulus_id_refs":{"anyOf":[{"items":{"minLength":1,"type":"string"},"type":"array"},{"type":"null"}]},"topics":{"anyOf":[{"items":{"minLength":1,"type":"string"},"type":"array"},{"type":"null"}]},"type":{"enum":["mcq","multi_select","true_false"],"type":"string"}},"required":["kind","id","section_id","type","marks","question_markdown","options"],"type":"object"},{"additionalProperties":false,"properties":{"blanks":{"items":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"label":{"type":"string"}},"required":["id"],"type":"object"},"type":"array"},"grading":{"additionalProperties":false,"properties":{"correct_answer":{"type":"string"},"correct_answer_ids":{"items":{"minLength":1,"type":"string"},"type":"array"},"key_points":{"items":{"minLength":1,"type":"string"},"type":"array"},"model_answer":{"minLength":1,"type":"string"}},"required":["model_answer"],"type":"object"},"id":{"minLength":1,"type":"string"},"kind":{"const":"question","type":"string"},"marks":{"minimum":0,"type":"number"},"question_markdown":{"minLength":1,"type":"string"},"section_id":{"minLength":1,"type":"string"},"stimulus_id_refs":{"anyOf":[{"items":{"minLength":1,"type":"string"},"type":"array"},{"type":"null"}]},"template_markdown":{"anyOf":[{"type":"string"},{"type":"null"}]},"topics":{"anyOf":[{"items":{"minLength":1,"type":"string"},"type":"array"},{"type":"null"}]},"type":{"const":"fill_in_blank","type":"string"}},"required":["kind","id","section_id","type","marks","question_markdown"],"type":"object"},{"additionalProperties":false,"properties":{"grading":{"additionalProperties":false,"properties":{"correct_answer":{"type":"string"},"correct_answer_ids":{"items":{"minLength":1,"type":"string"},"type":"array"},"key_points":{"items":{"minLength":1,"type":"string"},"type":"array"},"model_answer":{"minLength":1,"type":"string"}},"required":["model_answer"],"type":"object"},"id":{"minLength":1,"type":"string"},"kind":{"const":"question","type":"string"},"marks":{"minimum":0,"type":"number"},"question_markdown":{"minLength":1,"type":"string"},"section_id":{"minLength":1,"type":"string"},"stimulus_id_refs":{"anyOf":[{"items":{"minLength":1,"type":"string"},"type":"array"},{"type":"null"}]},"topics":{"anyOf":[{"items":{"minLength":1,"type":"string"},"type":"array"},{"type":"null"}]},"type":{"enum":["text_answer_short","text_answer_long"],"type":"string"}},"required":["kind","id","section_id","type","marks","question_markdown"],"type":"object"}]}]},"minItems":1,"type":"array"},"front_matter":{"additionalProperties":false,"properties":{"instructions_markdown":{"type":"string"}},"type":"object"},"schema_version":{"const":"0.8","type":"string"},"title":{"minLength":1,"type":"string"}},"required":["schema_version","title","content"],"type":"object"}},"required":["exam_json"],"type":"object"},"description":{"description":"Optional description stored on the creation record.","minLength":1,"type":"string"},"kind":{"const":"creation","description":"Artifact kind. Only creation is writable in this MVP.","type":"string"},"title":{"description":"Human-readable title for the created artifact.","minLength":1,"type":"string"},"type":{"const":"mockExam","type":"string"}},"required":["kind","title","type","content"],"type":"object"},{"additionalProperties":false,"properties":{"content":{"additionalProperties":false,"description":"Note content.","properties":{"html":{"description":"Complete HTML document for the note body (max 1 MiB UTF-8).","minLength":1,"type":"string"}},"required":["html"],"type":"object"},"kind":{"const":"creation","description":"Artifact kind. Only creation is writable in this MVP.","type":"string"},"title":{"description":"Human-readable note title (Alpha creation store max 255 characters).","maxLength":255,"minLength":1,"type":"string"},"type":{"const":"note","type":"string"}},"required":["kind","title","type","content"],"type":"object"},{"additionalProperties":false,"properties":{"content":{"additionalProperties":false,"description":"Flashcard set content.","properties":{"flashcards_json":{"additionalProperties":false,"properties":{"description":{"type":"string"},"flashcards":{"items":{"additionalProperties":false,"properties":{"back":{"minLength":1,"type":"string"},"front":{"minLength":1,"type":"string"}},"required":["front","back"],"type":"object"},"maxItems":200,"minItems":1,"type":"array"},"title":{"minLength":1,"type":"string"}},"required":["title","description","flashcards"],"type":"object"}},"required":["flashcards_json"],"type":"object"},"description":{"description":"Optional description stored on the creation record.","minLength":1,"type":"string"},"kind":{"const":"creation","description":"Artifact kind. Only creation is writable in this MVP.","type":"string"},"title":{"description":"Human-readable title for the created artifact.","minLength":1,"type":"string"},"type":{"const":"flashcard","type":"string"}},"required":["kind","title","type","content"],"type":"object"}]},"project_id":{"description":"UUID of the Studocu project that will own the artifact.","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}},"required":["project_id","artifact"],"type":"object"},"name":"write-artifact"},{"description":"Upsert one durable memory document per (scope, kind) for the authenticated user. Provide project_id for project-local memory, or null/omit for global. Identity comes from Core via the session bearer, not from input.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"kind":{"description":"Memory kind, e.g. study_preference or project_learning_context.","minLength":1,"type":"string"},"project_id":{"anyOf":[{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},{"type":"null"}],"description":"Project UUID for project-local memory; null or omitted stores global (user-level) memory."},"value":{"additionalProperties":{},"description":"Freeform memory document. MVP convention is { content: string }.","propertyNames":{"type":"string"},"type":"object"}},"required":["kind","value"],"type":"object"},"name":"write-memory"}]},"body_sha256":"ebba921d58df3f77a1b8416eb2a7dbbef9570d7cbce1033d3eefbcf386c24e67","prev_id":null,"leaf":"0x4f4507112d01fdf2eb013105e87d9b4785fb36f0b55050d8c08783414960be1b","leaf_text":"{\"body\":\"ebba921d58df3f77a1b8416eb2a7dbbef9570d7cbce1033d3eefbcf386c24e67\",\"id\":559427,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793135337027580,\"prev\":null,\"subject\":\"58c608f6-76aa-4c70-83ca-5b5b28b5097b\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-27","leaves":273461,"root":"0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795","chained":"0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4","anchor_chain":"eip155:5042002","anchor_tx":"0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4","anchor_block":69414147},"proof":["0x4f452d1fe41cba03b6c656d26487176f729c146986d23aad1856cf897b7f699f","0x068695f43845a8af330659ed9d00a975ec8a5af16a06e3b084f72d1a8a9f306a","0xf3b3d9d9cb4dce0eca7627da249823ba1ffbbe6e77dc96caf587be555084d516","0x6bd76fecd4988e11cb24679ed2a6c082919b6140b9e97655de2fabbf26dedaca","0x6bc0cc88cc9c1e7cc333b5ffd8a8cfaa513b5cb287c9fcc4208142a653c3513d","0x07a54c0509590d92cf55a11f59e886b1c7b1c92efb127c024e0ed377ed086073","0x0051918cd93132455f161e1ad4a55477d7cd8d105e72b131f85fd04abd3862b2","0x5b47ffb116f39fa2cbdc6c47b92f143910dd07459e4463459f2919bb89b80970","0x2ebe3b509ea7d2cf68cfd8d439dc9d3f2cfdfa4e45c89483e7717682d03b3d4d","0xddb3adc9cfacf52ec6ec3ca17c2cd1560f8f01d6ab3996f56581f75d9b6466ee","0x7b0f54aa0116cedb8afb80e7150869a7cf2b70adc313e0079a760b5d19d2efbc","0x8762ddf9a7f6b156629a8a66fe575b878ee44cd59a7f0a583ec6db0a152d703b","0x797da99476c7ebaa971607ae725e5e240b79de9e49d28859b94de107c850aaab","0x9ea0c6a53f80a30b6f13671109f98a000cf98e581875129f4be4b57131d06364","0xb78ea6a255dd06e2f402a1a733bca392fa6243920bcba95e8b80bdfc6ce5f553","0x3ed50f053eca72dfd3a9d45a11935240bfe691e57835c367ddebe2cbc49efe9d","0x0e01aa9525097570a6edaf32bfc959de57bf5c24317cf10c0716affea85ca60d","0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585","0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699"]}