addrbookFor publishers
← The evidence ledger

Evidence row 559427

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 58c608f6-76aa-4c70-83ca-5b5b28b5097b
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
ebba921d58df3f77a1b8416eb2a7dbbef9570d7cbce1033d3eefbcf386c24e67
Leaf
0x4f4507112d01fdf2eb013105e87d9b4785fb36f0b55050d8c08783414960be1b

What was observed

{
  "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"
    }
  ]
}

What the leaf hashes

{"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"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).

  1. 0x4f452d1fe41cba03b6c656d26487176f729c146986d23aad1856cf897b7f699f
  2. 0x068695f43845a8af330659ed9d00a975ec8a5af16a06e3b084f72d1a8a9f306a
  3. 0xf3b3d9d9cb4dce0eca7627da249823ba1ffbbe6e77dc96caf587be555084d516
  4. 0x6bd76fecd4988e11cb24679ed2a6c082919b6140b9e97655de2fabbf26dedaca
  5. 0x6bc0cc88cc9c1e7cc333b5ffd8a8cfaa513b5cb287c9fcc4208142a653c3513d
  6. 0x07a54c0509590d92cf55a11f59e886b1c7b1c92efb127c024e0ed377ed086073
  7. 0x0051918cd93132455f161e1ad4a55477d7cd8d105e72b131f85fd04abd3862b2
  8. 0x5b47ffb116f39fa2cbdc6c47b92f143910dd07459e4463459f2919bb89b80970
  9. 0x2ebe3b509ea7d2cf68cfd8d439dc9d3f2cfdfa4e45c89483e7717682d03b3d4d
  10. 0xddb3adc9cfacf52ec6ec3ca17c2cd1560f8f01d6ab3996f56581f75d9b6466ee
  11. 0x7b0f54aa0116cedb8afb80e7150869a7cf2b70adc313e0079a760b5d19d2efbc
  12. 0x8762ddf9a7f6b156629a8a66fe575b878ee44cd59a7f0a583ec6db0a152d703b
  13. 0x797da99476c7ebaa971607ae725e5e240b79de9e49d28859b94de107c850aaab
  14. 0x9ea0c6a53f80a30b6f13671109f98a000cf98e581875129f4be4b57131d06364
  15. 0xb78ea6a255dd06e2f402a1a733bca392fa6243920bcba95e8b80bdfc6ce5f553
  16. 0x3ed50f053eca72dfd3a9d45a11935240bfe691e57835c367ddebe2cbc49efe9d
  17. 0x0e01aa9525097570a6edaf32bfc959de57bf5c24317cf10c0716affea85ca60d
  18. 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON