{"data":{"name":"com.studocu/studocu","title":"Studocu","description":"Find Studocu study documents, courses and institutions, and manage study projects and quizzes.","version":"1.0.0","websiteUrl":"https://www.studocu.com/mcp","repositoryUrl":null,"remotes":[{"url":"https://agent-os-mcp.alpha.studocu.com/mcp","type":"streamable-http"}],"packages":[],"status":"active","isLatest":true,"publishedAt":"2026-10-12T10:17:58.728Z","updatedAt":"2026-10-12T10:17:58.728Z","source":"official-registry","verification":"official","confidence":100,"stars":null,"sources":[{"stars":null,"title":"Studocu","source":"official-registry","sourceId":"com.studocu/studocu","updatedAt":"2026-10-12T10:17:58.728Z","confidence":100,"websiteUrl":"https://www.studocu.com/mcp","description":"Find Studocu study documents, courses and institutions, and manage study projects and quizzes.","verification":"official","repositoryUrl":null}],"toolIndex":{"tools":[{"serverName":"com.studocu/studocu","endpointFingerprint":"a1c268f7745d64646cfdf8523f49d4fd01c611d0c3bd9e0825d085519d9adf63","name":"add-document-sources","title":"Add Studocu Document Sources","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":{"type":"object","properties":{"project_id":{"type":"string","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)$","description":"UUID of the project that should receive the Studocu documents. Example: 11111111-1111-4111-8111-111111111111. From create-project or get-context."},"document_ids":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"description":"1 to 10 different positive integer Studocu document ids from search-documents (documents[].id). Example: [17, 42]."}},"required":["project_id","document_ids"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"a8e6a3acfdbf1f434d10cb6c14a4ff28e27029e32dd5fbf14b20d4213db3f018","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:45:58.350Z","metadataTrust":"untrusted"},{"serverName":"com.studocu/studocu","endpointFingerprint":"a1c268f7745d64646cfdf8523f49d4fd01c611d0c3bd9e0825d085519d9adf63","name":"agent-os-session","title":"Check Studocu Sign-in","description":"Show who the current Studocu sign-in belongs to: authenticated, subject, clientId, and scopes. Use only to check that login worked.","inputSchema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"980909eda0082a8cdd867788636e062133d648239393610cbae1ffc01b78aa99","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:45:58.350Z","metadataTrust":"untrusted"},{"serverName":"com.studocu/studocu","endpointFingerprint":"a1c268f7745d64646cfdf8523f49d4fd01c611d0c3bd9e0825d085519d9adf63","name":"create-project","title":"Create Studocu Project","description":"Create a new project. Every field is optional. Returns project_id for add-document-sources, write-artifact, and request-creation.","inputSchema":{"type":"object","properties":{"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\".","type":"string","minLength":1,"maxLength":255,"pattern":"\\S"},"emoji":{"description":"Icon text, usually an emoji. Example: \"📚\". Omit to leave the icon unset.","type":"string","minLength":1},"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.","type":"integer","minimum":1,"maximum":9007199254740991}},"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"b8213637870b3c43c0487c82048b2be750ce7f345cc74cd24e974462e20f0b35","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:45:58.350Z","metadataTrust":"untrusted"},{"serverName":"com.studocu/studocu","endpointFingerprint":"a1c268f7745d64646cfdf8523f49d4fd01c611d0c3bd9e0825d085519d9adf63","name":"delete-memory","title":"Delete Studocu Agent Memory","description":"Delete one saved memory for this learner, chosen by project_id and kind.","inputSchema":{"type":"object","properties":{"project_id":{"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.","anyOf":[{"type":"string","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":"null"}]},"kind":{"type":"string","minLength":1,"description":"Kind of the memory to delete. Example: \"study_preference\" or \"project_learning_context\"."}},"required":["kind"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"definitionHash":"3e2244b578e8c57cb193aa955fb9cb106e21f22bdacf3b3b56996a28ea5421c0","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:45:58.350Z","metadataTrust":"untrusted"},{"serverName":"com.studocu/studocu","endpointFingerprint":"a1c268f7745d64646cfdf8523f49d4fd01c611d0c3bd9e0825d085519d9adf63","name":"get-context","title":"Get Learner Context","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":{"type":"object","properties":{"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.","type":"string","minLength":1},"course_id":{"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.","anyOf":[{"type":"string","minLength":1},{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}]},"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"},"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"}},"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"b38a08b9839a169d71e083cda1b7a366c9c475ad9c131689b80de9bafbc2da97","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:45:58.350Z","metadataTrust":"untrusted"},{"serverName":"com.studocu/studocu","endpointFingerprint":"a1c268f7745d64646cfdf8523f49d4fd01c611d0c3bd9e0825d085519d9adf63","name":"get-course-mastery","title":"Get Course Practice Scores","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":{"type":"object","properties":{"course_id":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Numeric course id from search-courses or get-context. Example: 1581710. A numeric string such as \"1581710\" is accepted."}},"required":["course_id"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"c77a44cbdf12cd083c4148fc101ea31a201cf769c51fb7795516a81db5a3eeb0","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:45:58.350Z","metadataTrust":"untrusted"},{"serverName":"com.studocu/studocu","endpointFingerprint":"a1c268f7745d64646cfdf8523f49d4fd01c611d0c3bd9e0825d085519d9adf63","name":"get-course-syllabus","title":"Get Course Syllabus","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":{"type":"object","properties":{"course_id":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Numeric course id from search-courses. Example: 1581710. A numeric string such as \"1581710\" is accepted."}},"required":["course_id"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"aad003030a84e4a019ad00c63b56dcf78144f5eed309cbe4d4124e3a7625b1d0","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:45:58.350Z","metadataTrust":"untrusted"},{"serverName":"com.studocu/studocu","endpointFingerprint":"a1c268f7745d64646cfdf8523f49d4fd01c611d0c3bd9e0825d085519d9adf63","name":"get-project-state","title":"Studocu Project State","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":{"type":"object","properties":{"ids":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","minLength":1},"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."}},"required":["ids"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"5185b240b647db025aa10d51cc6e2250d1842093bc17e7a675575fbcea4dca49","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:45:58.350Z","metadataTrust":"untrusted"},{"serverName":"com.studocu/studocu","endpointFingerprint":"a1c268f7745d64646cfdf8523f49d4fd01c611d0c3bd9e0825d085519d9adf63","name":"read-artifact","title":"Read Studocu Artifact","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":{"type":"object","properties":{"artifact_id":{"type":"string","minLength":1,"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."},"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.","type":"string","minLength":1}},"required":["artifact_id"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"46013be9666244b4a8de52fd1657f30875e33c7f0f50842011515e5eb202becd","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:45:58.350Z","metadataTrust":"untrusted"},{"serverName":"com.studocu/studocu","endpointFingerprint":"a1c268f7745d64646cfdf8523f49d4fd01c611d0c3bd9e0825d085519d9adf63","name":"read-detached-document","title":"Read Studocu Document","description":"Read the text of a Studocu document by its search-documents id, without adding it to a project.","inputSchema":{"type":"object","properties":{"document_id":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Positive integer id from search-documents (documents[].id). Example: 17."}},"required":["document_id"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"9344b554ac8225d7fbb9cce23de0fa6bbb47126d128d77df4f4c2f5ffbd672ca","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:45:58.350Z","metadataTrust":"untrusted"},{"serverName":"com.studocu/studocu","endpointFingerprint":"a1c268f7745d64646cfdf8523f49d4fd01c611d0c3bd9e0825d085519d9adf63","name":"read-memory","title":"Read Studocu Agent Memory","description":"Read memories saved for this signed-in learner: one per scope and kind.","inputSchema":{"type":"object","properties":{"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.","type":"string","enum":["global","project","both"]},"project_id":{"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.","anyOf":[{"type":"string","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":"null"}]},"kind":{"description":"Return only this kind. Example: \"study_preference\". Omit to return every saved memory in the chosen scope.","type":"string","minLength":1}},"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"b77e09baf974f99b0e37961e2894b9e4b48766224f557bf679390e40ce7f4e26","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:45:58.350Z","metadataTrust":"untrusted"},{"serverName":"com.studocu/studocu","endpointFingerprint":"a1c268f7745d64646cfdf8523f49d4fd01c611d0c3bd9e0825d085519d9adf63","name":"request-creation","title":"Generate Quiz or Mock Exam","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":{"type":"object","properties":{"project_id":{"type":"string","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)$","description":"UUID of the project that owns the project sources. Example: 11111111-1111-4111-8111-111111111111. From create-project or get-context."},"type":{"type":"string","enum":["quiz","mockExam"],"description":"What to generate: quiz or mockExam."},"artifact_ids":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string","minLength":1},"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."},"instruction":{"description":"Optional hint, 1-6000 characters. Example: \"focus on chapter 3\". Omit for a general quiz or mock exam.","type":"string","minLength":1,"maxLength":6000},"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.","type":"string","minLength":1,"maxLength":256}},"required":["project_id","type","artifact_ids"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"ab3394678d93ecc29de4bcf87de55ced33dcff3ffa3d94504b132a420a621e12","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:45:58.350Z","metadataTrust":"untrusted"},{"serverName":"com.studocu/studocu","endpointFingerprint":"a1c268f7745d64646cfdf8523f49d4fd01c611d0c3bd9e0825d085519d9adf63","name":"search-courses","title":"Search Courses","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":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200,"description":"Course name or code, 1-200 characters after trimming. Example: \"ECON101\" or \"Introduction to Psychology\"."},"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.","type":"integer","exclusiveMinimum":0,"maximum":2147483647},"limit":{"default":3,"description":"How many courses to return. Integer from 1 to 10. Default 3.","type":"integer","minimum":1,"maximum":10}},"required":["query"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"ea2ce499d27f31f03c35b2848babdffa64569996a587e9cbb5413faa4d7e57df","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:45:58.350Z","metadataTrust":"untrusted"},{"serverName":"com.studocu/studocu","endpointFingerprint":"a1c268f7745d64646cfdf8523f49d4fd01c611d0c3bd9e0825d085519d9adf63","name":"search-documents","title":"Document Search","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":{"type":"object","properties":{"query":{"type":"string","minLength":1,"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."},"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"},"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.","type":"integer","exclusiveMinimum":0,"maximum":2147483647},"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"},"limit":{"default":10,"description":"How many Studocu documents to return. Integer from 1 to 50. Default 10.","type":"integer","minimum":1,"maximum":50}},"required":["query"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"794bf81998798187a091fb604483fe2ed5e9a0b99799005b5ef2e16791083a87","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:45:58.350Z","metadataTrust":"untrusted"},{"serverName":"com.studocu/studocu","endpointFingerprint":"a1c268f7745d64646cfdf8523f49d4fd01c611d0c3bd9e0825d085519d9adf63","name":"search-institutions","title":"Search Institutions","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":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200,"description":"School name to search, 1-200 characters after trimming. Example: \"University of Amsterdam\"."},"limit":{"default":3,"description":"How many schools to return. Integer from 1 to 10. Default 3.","type":"integer","minimum":1,"maximum":10},"type":{"description":"Optional filter: UNIVERSITY or HIGH_SCHOOL. Omit to search both.","type":"string","enum":["UNIVERSITY","HIGH_SCHOOL"]}},"required":["query"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"db69bec27129d044c2b8f52d664df4d8a2c3dda7fd5b3c10a946d75abc9cefb8","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:45:58.350Z","metadataTrust":"untrusted"},{"serverName":"com.studocu/studocu","endpointFingerprint":"a1c268f7745d64646cfdf8523f49d4fd01c611d0c3bd9e0825d085519d9adf63","name":"update-project","title":"Update Studocu Project","description":"Change the name, icon, or linked course of an existing project. Pass course_id null to unlink the course.","inputSchema":{"type":"object","properties":{"project_id":{"type":"string","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)$","description":"UUID of the project to change. Example: 11111111-1111-4111-8111-111111111111. From create-project or get-context."},"title":{"description":"New name, 1-255 characters, with at least one non-space character. Example: \"Biology midterm\". Omit to leave the name unchanged.","type":"string","minLength":1,"maxLength":255,"pattern":"\\S"},"emoji":{"description":"New icon text, usually an emoji. Example: \"📚\". Omit to leave it unchanged.","type":"string","minLength":1},"course_id":{"description":"Positive integer course id from search-courses, or null to unlink the course. Example: 1581710. Omit to leave the link unchanged.","anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]}},"required":["project_id"],"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"minProperties":2,"anyOf":[{"required":["title"]},{"required":["emoji"]},{"required":["course_id"]}]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"4a2644eec9e6f46713ef7188e10bbdf8a2fafeef80762627a88cd5931e6857ef","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:45:58.350Z","metadataTrust":"untrusted"},{"serverName":"com.studocu/studocu","endpointFingerprint":"a1c268f7745d64646cfdf8523f49d4fd01c611d0c3bd9e0825d085519d9adf63","name":"write-artifact","title":"Save Study Item to 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":{"type":"object","properties":{"project_id":{"type":"string","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)$","description":"UUID of the project that will own the creation. Example: 11111111-1111-4111-8111-111111111111. From create-project or get-context."},"artifact":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"creation","description":"Must be the string creation. A project source cannot be written with this tool."},"description":{"description":"Optional short description of the creation (quiz, mock exam, or flashcard set). The note type does not have this field.","type":"string","minLength":1},"title":{"type":"string","minLength":20,"maxLength":255,"description":"Quiz title shown to the learner. 20-255 characters."},"type":{"type":"string","const":"quiz"},"content":{"type":"object","properties":{"questions":{"minItems":1,"type":"array","items":{"type":"object","properties":{"question":{"type":"string","minLength":1,"description":"Question prompt shown to the learner."},"answers":{"minItems":2,"type":"array","items":{"type":"object","properties":{"answer":{"type":"string","minLength":1,"description":"Answer option text."},"is_correct":{"type":"boolean","description":"True for the correct option or options."}},"required":["answer","is_correct"],"additionalProperties":false}},"explanation":{"type":"string","minLength":1,"maxLength":255,"description":"Why the correct answer is right. Required. 1-255 characters."},"difficulty":{"type":"string","enum":["EASY","MEDIUM","HARD"]}},"required":["question","answers","explanation"],"additionalProperties":false}},"course_id":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["questions"],"additionalProperties":false,"description":"Quiz content."}},"required":["kind","title","type","content"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"creation","description":"Must be the string creation. A project source cannot be written with this tool."},"description":{"description":"Optional short description of the creation (quiz, mock exam, or flashcard set). The note type does not have this field.","type":"string","minLength":1},"title":{"type":"string","minLength":1,"description":"Title shown to the learner. At least 1 character."},"type":{"type":"string","const":"mockExam"},"content":{"type":"object","properties":{"exam_json":{"type":"object","properties":{"schema_version":{"type":"string","const":"0.8"},"title":{"type":"string","minLength":1},"front_matter":{"type":"object","properties":{"instructions_markdown":{"type":"string"}},"additionalProperties":false},"content":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"section"},"id":{"type":"string","minLength":1},"title":{"type":"string","minLength":1},"question_type":{"type":"string","enum":["mcq","multi_select","true_false","fill_in_blank","text_answer_short","text_answer_long"],"description":"Question type: mcq, multi_select, true_false, fill_in_blank, text_answer_short, or text_answer_long. Use mcq, not multiple_choice."},"instructions":{"type":"string","minLength":1}},"required":["kind","id","question_type"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"stimulus"},"id":{"type":"string","minLength":1},"title":{"type":"string","minLength":1},"stimulus_markdown":{"type":"string","minLength":1}},"required":["kind","id","stimulus_markdown"],"additionalProperties":false},{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"question"},"id":{"type":"string","minLength":1},"section_id":{"type":"string","minLength":1},"type":{"type":"string","enum":["mcq","multi_select","true_false"]},"marks":{"type":"number","minimum":0},"question_markdown":{"type":"string","minLength":1},"stimulus_id_refs":{"anyOf":[{"type":"array","items":{"type":"string","minLength":1}},{"type":"null"}]},"options":{"minItems":2,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable option id."},"text":{"type":"string","minLength":1,"description":"Option text."}},"required":["id","text"],"additionalProperties":false}},"grading":{"type":"object","properties":{"correct_answer_ids":{"type":"array","items":{"type":"string","minLength":1}},"correct_answer":{"type":"string"},"model_answer":{"type":"string","minLength":1},"key_points":{"type":"array","items":{"type":"string","minLength":1}}},"required":["model_answer"],"additionalProperties":false},"topics":{"anyOf":[{"type":"array","items":{"type":"string","minLength":1}},{"type":"null"}]}},"required":["kind","id","section_id","type","marks","question_markdown","options"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"question"},"id":{"type":"string","minLength":1},"section_id":{"type":"string","minLength":1},"type":{"type":"string","const":"fill_in_blank"},"marks":{"type":"number","minimum":0},"question_markdown":{"type":"string","minLength":1},"stimulus_id_refs":{"anyOf":[{"type":"array","items":{"type":"string","minLength":1}},{"type":"null"}]},"template_markdown":{"anyOf":[{"type":"string"},{"type":"null"}]},"blanks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"}},"required":["id"],"additionalProperties":false}},"grading":{"type":"object","properties":{"correct_answer_ids":{"type":"array","items":{"type":"string","minLength":1}},"correct_answer":{"type":"string"},"model_answer":{"type":"string","minLength":1},"key_points":{"type":"array","items":{"type":"string","minLength":1}}},"required":["model_answer"],"additionalProperties":false},"topics":{"anyOf":[{"type":"array","items":{"type":"string","minLength":1}},{"type":"null"}]}},"required":["kind","id","section_id","type","marks","question_markdown"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"question"},"id":{"type":"string","minLength":1},"section_id":{"type":"string","minLength":1},"type":{"type":"string","enum":["text_answer_short","text_answer_long"]},"marks":{"type":"number","minimum":0},"question_markdown":{"type":"string","minLength":1},"stimulus_id_refs":{"anyOf":[{"type":"array","items":{"type":"string","minLength":1}},{"type":"null"}]},"grading":{"type":"object","properties":{"correct_answer_ids":{"type":"array","items":{"type":"string","minLength":1}},"correct_answer":{"type":"string"},"model_answer":{"type":"string","minLength":1},"key_points":{"type":"array","items":{"type":"string","minLength":1}}},"required":["model_answer"],"additionalProperties":false},"topics":{"anyOf":[{"type":"array","items":{"type":"string","minLength":1}},{"type":"null"}]}},"required":["kind","id","section_id","type","marks","question_markdown"],"additionalProperties":false}]}]}}},"required":["schema_version","title","content"],"additionalProperties":false}},"required":["exam_json"],"additionalProperties":false,"description":"Mock exam content."}},"required":["kind","title","type","content"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"creation","description":"Must be the string creation. A project source cannot be written with this tool."},"title":{"type":"string","minLength":1,"maxLength":255,"description":"Note title. 1-255 characters."},"type":{"type":"string","const":"note"},"content":{"type":"object","properties":{"html":{"type":"string","minLength":1,"description":"Complete HTML document for the note body (max 1 MiB UTF-8)."}},"required":["html"],"additionalProperties":false,"description":"Note content."}},"required":["kind","title","type","content"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"creation","description":"Must be the string creation. A project source cannot be written with this tool."},"description":{"description":"Optional short description of the creation (quiz, mock exam, or flashcard set). The note type does not have this field.","type":"string","minLength":1},"title":{"type":"string","minLength":1,"description":"Title shown to the learner. At least 1 character."},"type":{"type":"string","const":"flashcard"},"content":{"type":"object","properties":{"flashcards_json":{"type":"object","properties":{"title":{"type":"string","minLength":1},"description":{"type":"string"},"flashcards":{"minItems":1,"maxItems":200,"type":"array","items":{"type":"object","properties":{"front":{"type":"string","minLength":1},"back":{"type":"string","minLength":1}},"required":["front","back"],"additionalProperties":false}}},"required":["title","description","flashcards"],"additionalProperties":false}},"required":["flashcards_json"],"additionalProperties":false,"description":"Flashcard set content."}},"required":["kind","title","type","content"],"additionalProperties":false}],"description":"The creation to save. type is quiz, mockExam, note, or flashcard. Each type has its own content shape. kind must be creation."}},"required":["project_id","artifact"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"833bbf45bc363c44ea5f3f9399c697f13c60efd8b92f921fba507b672ea5ab7e","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:45:58.350Z","metadataTrust":"untrusted"},{"serverName":"com.studocu/studocu","endpointFingerprint":"a1c268f7745d64646cfdf8523f49d4fd01c611d0c3bd9e0825d085519d9adf63","name":"write-memory","title":"Write Studocu Agent Memory","description":"Save one memory (a preference or project fact) for this learner. Writing the same kind again replaces it.","inputSchema":{"type":"object","properties":{"project_id":{"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.","anyOf":[{"type":"string","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":"null"}]},"kind":{"type":"string","minLength":1,"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."},"value":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"JSON object to store. Usual shape: { \"content\": \"the memory text\" }. Other keys are allowed."}},"required":["kind","value"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"definitionHash":"a837bda01e51c5e736ce0e5c914c3cb09f940c8b449baf5d4bb6e0d357c9aac5","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-30T14:45:58.350Z","metadataTrust":"untrusted"}],"endpoints":[{"endpointFingerprint":"a1c268f7745d64646cfdf8523f49d4fd01c611d0c3bd9e0825d085519d9adf63","protocol":"streamable-http","status":"indexed","toolCount":18,"observedAt":"2026-10-30T14:45:58.350Z"}],"authentication":"unknown"},"connectionConfigurations":{"status":"ready","authentication":"not embedded","clients":{"Claude Desktop":{"mcpServers":{"com.studocu/studocu":{"url":"https://agent-os-mcp.alpha.studocu.com/mcp"}}},"Cursor":{"mcpServers":{"com.studocu/studocu":{"url":"https://agent-os-mcp.alpha.studocu.com/mcp"}}},"VS Code":{"servers":{"com.studocu/studocu":{"type":"http","url":"https://agent-os-mcp.alpha.studocu.com/mcp"}}}}},"resourceType":"mcp-server","callable":true,"runtime":{"callable":true,"protocols":["mcp"]},"interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://agent-os-mcp.alpha.studocu.com/mcp"}],"profile":{"apiVersion":"1","schemaVersion":"1","id":"mcp-server:com.studocu%2Fstudocu","resourceType":"mcp-server","canonicalUrl":"https://www.agentsjunction.com/api/v1/servers/com.studocu%2Fstudocu","name":"com.studocu/studocu","description":"Find Studocu study documents, courses and institutions, and manage study projects and quizzes.","interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://agent-os-mcp.alpha.studocu.com/mcp"}],"capabilities":[],"identity":{"source":"official-registry","websiteUrl":"https://www.studocu.com/mcp","repositoryUrl":null,"version":"1.0.0"},"verification":{"state":"official","confidence":100},"operations":{"resourceType":"mcp-server","name":"com.studocu/studocu","status":"online","lastCheckedAt":"2026-11-03T17:16:34.920Z","lastSuccessfulCheck":"2026-11-03T17:16:34.920Z","latencyMs":143,"consecutiveFailures":0,"isStale":false,"checks":{"endpointReachable":true,"protocolValid":true,"agentCardValid":null,"mcpHandshakeValid":true},"lastSeen":null,"lastSuccessfulInteraction":null,"lastHealthCheck":"2026-11-03T17:16:34.920Z","source":{"type":"health-check","url":null},"observedAt":"2026-11-03T17:16:34.920Z"},"security":null,"timestamps":{"createdAt":"2026-10-12T10:17:58.728Z","updatedAt":"2026-10-12T10:17:58.728Z","observedAt":"2026-11-03T17:16:34.920Z"},"compatibility":{"serverVersion":"1.0.0","protocolVersions":[{"protocol":"mcp","version":null}]}}}}