โ The evidence ledger
Evidence row 1288805
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 58c608f6-76aa-4c70-83ca-5b5b28b5097b
- Recorded
- Previous row
- #559427
- Body SHA-256
- ce8dee295d743bd4f9ca5589858ab78c3257c816dc7182d903dff069a617eccd
- Leaf
- 0xab931035657dc51bfc9af92072bd400439aecb6d6b4c7919924eac67f0ebd770
What was observed
{
"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, flashcard set, or lesson). 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"
}
},
"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"
}
]
}What the leaf hashes
{"body":"ce8dee295d743bd4f9ca5589858ab78c3257c816dc7182d903dff069a617eccd","id":1288805,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793393483691010,"prev":559427,"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 (243099 rows).
- 0xab93d9e772b9e19bcfac5333bb3228079f21ffa6f3f011806511e6d086bdd33c
- 0x702f1803e0d3233bc884d1ea38aea3c8e11c4987c3c7da4bb5272e50eb00a24f
- 0x50a932e25af98a8943979dca5c913a79aac4d6f4a53974ef78867ab1edd4f815
- 0x244dc588e3ae112756d0c467a0ed1d9bab8a86b5b83e16d4b5893a7485d47cfc
- 0xfddc44167b6249decd882c94110fb02101ca9f4f6a6c226d254d49626658bfb9
- 0xf19ff7c4cca1263a55dea9bd12314927b732b13d2c2a890f33a43d1d300d1af2
- 0x9b0df08919c1d62538c36b1d6c420c739cee4cf14e010b7dd04e6fd0c8f6ec54
- 0xc305572a81d6134cec8627a8d5d785501b90dd7aa6462f6e9bf9ff17474fe884
- 0x1672cc8df2ae32422ba8e2e5f7bddaedd3b8c69c76c705af9fac65dfd43a5d9c
- 0x02779f84ad8fd46b10e31c31747cb72632ef2f23daf8e93bce5743d08fdab4e8
- 0xb3bb958e6a6e739f135cc668ae011c38524a65814b00f11a837d521bd40fabe3
- 0x76e57d82df41a8444f66943c853bf0ce1a262f9c2e19695e3f9c368cff55d095
- 0x9889bd73e5603fc0045beeec785a4e7b83076b3dca643ee2497b1d068fa8e3fc
- 0xe11a711cdcc033b4d3ff4f10f0568bda761703429a7ddfbf68a7fbd1d22911ff
- 0x11b43ed362a2fd4976e11eceb94ee4b7edbaf6823474ee1c36489f8f0a0496c4
- 0x835211170e79bdce1a823ec914e3532e128f77751e9074286da35091b0200284
- 0x61ef83255d34604cb052882568ca1d1386ac3cfb8284509715bc1734cff77831
- 0x0c43c73b62a5d49ee1444b5dc4195fc5b16b141d3f4458e2e9fbd5fd6ecb367d
- Day root
- 0x0826c7ad6039e06a2360ca0a4a3a4fe7f2626c6dc19f71a37599386f78b39875
- Chained
- 0x36b4c8a1063758f0b8765fa1bdf75fa92fb543cc183add3e261880ee2bd1f822
- Published
- On Arc Testnet, block 69923247: 0x8704744146c6967c8abc9e9a99de4db7283b29e840922ea83a69b6fe776e6861