{"id":3667493,"recorded_at":"2026-11-06T01:56:33.485838Z","observed_at":"2026-11-06T01:56:33.485677Z","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 as project sources. Returns the added sources with their studocu:// ids; compare with document_ids if some are missing.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"document_ids":{"description":"1 to 10 different positive integer Studocu document ids from search-documents (documents[].id). Example: [17, 42].","items":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"maxItems":10,"minItems":1,"type":"array"},"project_id":{"description":"UUID of the project that should receive the Studocu documents. Example: 11111111-1111-4111-8111-111111111111. From create-project or get-context.","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":"Show who the current Studocu sign-in belongs to: authenticated, subject, clientId, and scopes. Use only to check that login worked.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{},"type":"object"},"name":"agent-os-session"},{"description":"Create a new project. Every field is optional. Returns project_id for add-document-sources, write-artifact, and request-creation.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"course_id":{"description":"Positive integer course id from search-courses. Example: 1581710. The course is checked before the project is created; an unknown id creates nothing. Omit to leave the project unlinked.","maximum":9007199254740991,"minimum":1,"type":"integer"},"emoji":{"description":"Icon text, usually an emoji. Example: \"📚\". Omit to leave the icon unset.","minLength":1,"type":"string"},"title":{"description":"Name, 1-255 characters, with at least one non-space character. Example: \"Biology midterm\". Omit to create the project without a name; the returned title is then \"Untitled project\".","maxLength":255,"minLength":1,"pattern":"\\S","type":"string"}},"type":"object"},"name":"create-project"},{"description":"Delete one saved memory for this learner, chosen by project_id and kind.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"kind":{"description":"Kind of the memory to delete. Example: \"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":"UUID of the project memory to delete, or null. Example: 11111111-1111-4111-8111-111111111111. Omit or null to delete a learner-wide memory."}},"required":["kind"],"type":"object"},"name":"delete-memory"},{"description":"Load the learner's profile, followed courses, and projects. Use get-project-state for what is inside a project. Per-topic practice scores are included only when one course is in scope; otherwise use get-course-mastery.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"active_only":{"description":"Optional true or false. It is echoed on the response and does not change which courses or projects are returned. Omit it.","type":"boolean"},"course_id":{"anyOf":[{"minLength":1,"type":"string"},{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}],"description":"Return only this course and its projects. Numeric id or the same id as text. Example: 1581710 or \"1581710\". Omit to include every followed course."},"project_id":{"description":"Return only this project. Example: \"11111111-1111-4111-8111-111111111111\". From an earlier get-context or create-project result. Omit to include the learner's projects.","minLength":1,"type":"string"},"recent_only":{"description":"Optional true or false. It is echoed on the response and does not change which courses or projects are returned. Omit it.","type":"boolean"}},"type":"object"},"name":"get-context"},{"description":"Return the learner's practice scores (0-100) for the topics they have practised in one course. An empty list means no practice yet.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"course_id":{"description":"Numeric course id from search-courses or get-context. Example: 1581710. A numeric string such as \"1581710\" is accepted.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["course_id"],"type":"object"},"name":"get-course-mastery"},{"description":"Return Studocu's generated outline for a course as markdown. If none exists yet, the call returns an error; try again in a few minutes.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"course_id":{"description":"Numeric course id from search-courses. Example: 1581710. A numeric string such as \"1581710\" is accepted.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["course_id"],"type":"object"},"name":"get-course-syllabus"},{"description":"List the project sources and creations inside one or more projects. A creation may include external_id (a quiz id or mock-exam id) to match a request-creation result that is still being saved.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"ids":{"description":"1 to 20 project ids from get-context or create-project. Example: [\"11111111-1111-4111-8111-111111111111\"]. Projects you cannot access are left out.","items":{"minLength":1,"type":"string"},"maxItems":20,"minItems":1,"type":"array"}},"required":["ids"],"type":"object"},"name":"get-project-state"},{"description":"Read a project source or creation by its studocu:// id (from get-project-state, add-document-sources, write-artifact, or request-creation). File and image sources also return the image when a viewable copy, or an original upload under 5 MB, exists.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"artifact_id":{"description":"Id shaped like studocu://project/{project_id}/{kind}/{uuid}. kind is source (a project source) or creation (a quiz, mock exam, note, or flashcard set). Example: studocu://project/11111111-1111-4111-8111-111111111111/source/22222222-2222-4222-8222-222222222222.","minLength":1,"type":"string"},"cursor":{"description":"Token from a previous read when the result said there is more, for long content. Omit on the first read. Pass it back unchanged with the same artifact_id.","minLength":1,"type":"string"}},"required":["artifact_id"],"type":"object"},"name":"read-artifact"},{"description":"Read the text of a Studocu document by its search-documents id, without adding it to a project.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"document_id":{"description":"Positive integer id from search-documents (documents[].id). Example: 17.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"page":{"description":"1-based page to return as an image instead of the text. Only when the text misses something (a figure, plot, handwriting, math); text reads say how many pages exist.","maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["document_id"],"type":"object"},"name":"read-detached-document"},{"description":"Read memories saved for this signed-in learner: one per scope and kind.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"kind":{"description":"Return only this kind. Example: \"study_preference\". Omit to return every saved memory in the chosen scope.","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":"UUID of the project, or null. Example: 11111111-1111-4111-8111-111111111111. Required when scope is project or both. Omit or null for learner-wide memories. Ignored when scope is global."},"scope":{"description":"Which memories to read: global (learner-wide), project (one project), or both. If omitted, the scope is both when project_id is a UUID, otherwise global.","enum":["global","project","both"],"type":"string"}},"type":"object"},"name":"read-memory"},{"description":"Ask Studocu to generate a quiz or mock exam from 1 to 10 project sources. Can take about 3 minutes. If status is creating or outcome_unknown, check get-project-state before calling again.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"artifact_ids":{"description":"1 to 10 different project source ids to generate from. Each id looks like studocu://project/{project_id}/source/{uuid} and must belong to project_id. Get them from add-document-sources or get-project-state. Do not pass creation ids.","items":{"minLength":1,"type":"string"},"maxItems":10,"minItems":1,"type":"array"},"idempotency_key":{"description":"Optional retry key, 1-256 characters. Send the same key when you retry the same request. A different request body with a used key is rejected. Omit to let Studocu derive a key from the request; identical retries still count as the same request.","maxLength":256,"minLength":1,"type":"string"},"instruction":{"description":"Optional hint, 1-6000 characters. Example: \"focus on chapter 3\". Omit for a general quiz or mock exam.","maxLength":6000,"minLength":1,"type":"string"},"project_id":{"description":"UUID of the project that owns the project sources. Example: 11111111-1111-4111-8111-111111111111. From create-project or get-context.","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":"What to generate: quiz or mockExam.","enum":["quiz","mockExam"],"type":"string"}},"required":["project_id","type","artifact_ids"],"type":"object"},"name":"request-creation"},{"description":"Find a course on Studocu by name or code, to get its course_id for search-documents, get-course-syllabus, or get-course-mastery. Pass institution_id from search-institutions when you know the school. Show the user the name, code, and school, not the id. If several results are plausible, ask the user to pick.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"institution_id":{"description":"Numeric school id from search-institutions (the id field). Example: 42. Omit to search every school. Prefer setting it when you already know the school.","exclusiveMinimum":0,"maximum":2147483647,"type":"integer"},"limit":{"default":3,"description":"How many courses to return. Integer from 1 to 10. Default 3.","maximum":10,"minimum":1,"type":"integer"},"query":{"description":"Course name or code, 1-200 characters after trimming. Example: \"ECON101\" or \"Introduction to Psychology\".","maxLength":200,"minLength":1,"type":"string"}},"required":["query"],"type":"object"},"name":"search-courses"},{"description":"Find Studocu documents such as lecture notes and summaries. Pass topic keywords as query. Prefer numeric course_id from search-courses; it overrides course and institution. Results with match_type: semantic are closest matches, not exact keyword hits, and may be only loosely related.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"course":{"description":"Course name or code. Example: \"Economics\" or \"ECON101\". Use this when you do not have course_id. Do not put a numeric id here. Optional extra when you already have course_id. Omit if unknown.","type":"string"},"course_id":{"description":"Numeric course id from search-courses (the course_id field). Example: 1581710. Prefer this: it pins the course and overrides the course name or code. Omit if you only have a name or code.","exclusiveMinimum":0,"maximum":2147483647,"type":"integer"},"institution":{"description":"School name only. Example: \"University of Amsterdam\". Not an id. This tool has no institution_id. Use the name from the user or from search-institutions. Omit if unknown. If course_id is also set, course_id wins and the result school is that course's school, not this name.","type":"string"},"limit":{"default":10,"description":"How many Studocu documents to return. Integer from 1 to 50. Default 10.","maximum":50,"minimum":1,"type":"integer"},"query":{"description":"Topic keywords only. Example: \"supply and demand\" or \"microeconomics midterm 2025\". Do not put a course name, course id, or school name here. Use institution, course, and course_id for those.","minLength":1,"type":"string"},"use_no_course_as_fallback":{"description":"Only used with course_id. When true and that course has no matching Studocu documents, search again without the course, so results may come from other courses. Check each result's course_id. Default false. Omit for false.","type":"boolean"}},"required":["query"],"type":"object"},"name":"search-documents"},{"description":"Find a school (university or high school) on Studocu by name, to get its id for search-courses. Show the user the name, type, and country, not the id. If several results are plausible, ask the user to pick.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"limit":{"default":3,"description":"How many schools to return. Integer from 1 to 10. Default 3.","maximum":10,"minimum":1,"type":"integer"},"query":{"description":"School name to search, 1-200 characters after trimming. Example: \"University of Amsterdam\".","maxLength":200,"minLength":1,"type":"string"},"type":{"description":"Optional filter: UNIVERSITY or HIGH_SCHOOL. Omit to search both.","enum":["UNIVERSITY","HIGH_SCHOOL"],"type":"string"}},"required":["query"],"type":"object"},"name":"search-institutions"},{"description":"Change the name, icon, or linked course of an existing project. Pass course_id null to unlink the course.","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"}],"description":"Positive integer course id from search-courses, or null to unlink the course. Example: 1581710. Omit to leave the link unchanged."},"emoji":{"description":"New icon text, usually an emoji. Example: \"📚\". Omit to leave it unchanged.","minLength":1,"type":"string"},"project_id":{"description":"UUID of the project to change. Example: 11111111-1111-4111-8111-111111111111. From create-project or get-context.","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":{"description":"New name, 1-255 characters, with at least one non-space character. Example: \"Biology midterm\". Omit to leave the name unchanged.","maxLength":255,"minLength":1,"pattern":"\\S","type":"string"}},"required":["project_id"],"type":"object"},"name":"update-project"},{"description":"Save a quiz, mock exam, note, or flashcard set you have already written into a project. To have Studocu generate a quiz or mock exam instead, use request-creation.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"artifact":{"description":"The creation to save. type is quiz, mockExam, note, or flashcard. Each type has its own content shape. kind must be creation.","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":"Why the correct answer is right. Required. 1-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 short description of the creation (quiz, mock exam, or flashcard set). The note type does not have this field.","minLength":1,"type":"string"},"kind":{"const":"creation","description":"Must be the string creation. A project source cannot be written with this tool.","type":"string"},"title":{"description":"Quiz title shown to the learner. 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":"Question type: mcq, multi_select, true_false, fill_in_blank, text_answer_short, or text_answer_long. 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 short description of the creation (quiz, mock exam, or flashcard set). The note type does not have this field.","minLength":1,"type":"string"},"kind":{"const":"creation","description":"Must be the string creation. A project source cannot be written with this tool.","type":"string"},"title":{"description":"Title shown to the learner. At least 1 character.","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":"Must be the string creation. A project source cannot be written with this tool.","type":"string"},"title":{"description":"Note title. 1-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 short description of the creation (quiz, mock exam, or flashcard set). The note type does not have this field.","minLength":1,"type":"string"},"kind":{"const":"creation","description":"Must be the string creation. A project source cannot be written with this tool.","type":"string"},"title":{"description":"Title shown to the learner. At least 1 character.","minLength":1,"type":"string"},"type":{"const":"flashcard","type":"string"}},"required":["kind","title","type","content"],"type":"object"}]},"project_id":{"description":"UUID of the project that will own the creation. Example: 11111111-1111-4111-8111-111111111111. From create-project or get-context.","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":"Save one memory (a preference or project fact) for this learner. Writing the same kind again replaces it.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"kind":{"description":"Kind for this memory. At least 1 character. Example: \"study_preference\" or \"project_learning_context\". Writing the same kind again replaces the previous memory.","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":"UUID of the project this memory belongs to, or null. Example: 11111111-1111-4111-8111-111111111111. Omit or null to store a learner-wide memory."},"value":{"additionalProperties":{},"description":"JSON object to store. Usual shape: { \"content\": \"the memory text\" }. Other keys are allowed.","propertyNames":{"type":"string"},"type":"object"}},"required":["kind","value"],"type":"object"},"name":"write-memory"}]},"body_sha256":"f7aff821b23175b14eb0485fb210de603b961c8811d2e60c7b2499c9aabce520","prev_id":2306876,"leaf":"0xf56631dabac8de25cf11aaec35b85756eb561fc1e4bb62ff8e4f6fe12ac0ff81","leaf_text":"{\"body\":\"f7aff821b23175b14eb0485fb210de603b961c8811d2e60c7b2499c9aabce520\",\"id\":3667493,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793930193485677,\"prev\":2306876,\"subject\":\"58c608f6-76aa-4c70-83ca-5b5b28b5097b\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-11-06","leaves":303443,"root":"0xb30ccefe7182c6f767e1fcbfb5f64ffd649da831f665f65c5ff39cd40512284f","chained":"0xc383f7ef68d2914082484765aa09e42c12c59a74a096ae64127c562618c506d3","anchor_chain":"eip155:5042002","anchor_tx":"0xfba13cb7ee4ada7f2fee3702a786a2201596be2ffea37dfc281ab4c8e9942fe1","anchor_block":71111178},"proof":["0xf5663df4323b2a8ebd4940348592d37cef637b4ea1cf81f1a39951815b5dd1ac","0x41f3904e43ee8628aa0396ed0fbbdb1fe5c216fa2666831b04390560db9ec428","0xdcac9c2bb2204ec8c3008ef2f48a4bd56ea4381afa6248ed5d184fb6e0af8c82","0x422a4c7b52a2481d78e2265cd6828866e63a400de9a2deedc64ecceb36a27394","0x8e0291962deb83fe77414c20a4a9ded27d89ca885840b3029aca3fbba562ac58","0xd47522228e61a08bd2c219ef54786c03de418d694fdaf487b899bb2b8f8a5336","0xd9f5a6cc9e9a285e93deee7f4ba7c52065eba522af79638d3bb4ee8fa6617d4e","0x51876e5393dc338a0b196f9dc24fb22a1855f0575c77bf1f4de03db9795ab3a6","0x34704611ba8b2c3ce28017fb073cee81b4eafb1276583d0e84b274ad1a4150d6","0xd6c80aa2edab90524bcc3bea9acf0c5d8a23b09ba376089d9e526cbf8f9fafed","0x29ef05eb5b2d4ca0955e759b658a41da8ec1a7b0b4cec0146af791649744fa03","0x3755ecc2b74a47614d1506c910fce7698f7e4284f166bd85bc9a7c4b1b8f9578","0xa5dc4fb3a7ae09f3d06c57adbff25da103da7a1961739da10aa705af4b5cc1ed","0xadb9e5d5e78a6ef642bc8b18b9f3dd14d6e5d20536651d3ce85fec62d35a6aba","0x0bc8160b8c94aae791142fc9caa83c153cc73b339512089ee494d4e8e7094abe","0x04c1c4929933bae20304ac32084d4b93dcac07567f68e828ac93bbc39eb4614c","0x0ab273486ad4e41bf08c741b20b2ee12e0fc87eaa429a5467c58fd3be34409b9"]}