{"name":"io.github.williamechevarria/hivelearn-mcp","slug":"williamechevarria-hivelearn-mcp","title":"HiveLearn","description":"Read and author HiveLearn courses, events, quizzes, certificates, resources, leaderboards, tracks.","url":"https://mcp.market/server/williamechevarria-hivelearn-mcp","rating":null,"grade":"B","score":73,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":16,"stars":null,"forks":null,"downloads_week":42,"last_push_at":null,"license":"Apache-2.0"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T01:35:43.986Z","last_ok_at":"2026-11-04T01:35:43.986Z","latency_ms":415},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/hivelearn/community-hub","website":"https://hivelearn.app/mcp","version":"0.4.0","remotes":[{"type":"streamable-http","url":"https://mcp.hivelearn.app","headers":[{"description":"Your HiveLearn API key. Create one at Admin → API Keys in your HiveLearn community.","isRequired":true,"isSecret":true,"name":"X-Hivelearn-Api-Key"}]}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"hivelearn-mcp","version":"0.1.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your HiveLearn API key (hl_live_...). Create one at Admin → API Keys in your HiveLearn community.","isRequired":true,"isSecret":true,"name":"HIVELEARN_API_KEY"}]}],"tools":[{"name":"hivelearn_add_member_tag","description":"Assign a tag to a member. Idempotent: returns the existing assignment if already tagged.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"user_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":"Member's user (profile) uuid, not the membership row id"},"tag_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":"Tag uuid from list_member_tags"}},"required":["user_id","tag_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_add_track_course","description":"Add a course to a track at a given position. sort_order sets the order within the track. Set unlock_after_course_id to a prerequisite course that must be completed first (omit/null for no gate). is_required defaults to true.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"track_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)$"},"course_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)$"},"sort_order":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Position within the track"},"is_required":{"description":"Defaults to true","type":"boolean"},"unlock_after_course_id":{"description":"Prerequisite course id, or null for no gate","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"}]}},"required":["track_id","course_id","sort_order"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_create_certificate","description":"Issue a certificate of completion to a user for a course. Normally the platform auto-issues on course completion — use this tool for bulk backfill or manual awards.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"user_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)$"},"course_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)$"},"expires_at":{"description":"ISO timestamp; omit or null for no expiry","anyOf":[{"type":"string"},{"type":"null"}]},"completion_date":{"description":"ISO timestamp; defaults to now","type":"string"},"final_score":{"type":"integer","minimum":0,"maximum":100},"instructor_name":{"type":"string"}},"required":["user_id","course_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_create_course","description":"Create an empty course (no modules/lessons). Prefer hivelearn_create_course_outline when you already know the structure — it scaffolds course + modules + lesson placeholders in one call.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"title":{"type":"string","minLength":1},"description":{"type":"string"},"description_json":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description_format":{"type":"string","enum":["markdown","tiptap_json"]},"thumbnail_url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"visibility":{"description":"Defaults to all_members","type":"string","enum":["all_members","admin_only"]},"instructor_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"instructor_avatar_url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"tags":{"type":"array","items":{"type":"string"}},"difficulty":{"anyOf":[{"type":"string","enum":["beginner","intermediate","advanced"]},{"type":"null"}]}},"required":["title"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_create_course_outline","description":"Scaffold an entire course in one call: course + modules + lesson placeholders (title/description only, no content yet). After this, loop over the returned lesson ids with hivelearn_update_lesson_content to fill in video/document URLs. This is the preferred first step when authoring a new course from a plan.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"title":{"type":"string","minLength":1},"description":{"type":"string"},"description_json":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description_format":{"type":"string","enum":["markdown","tiptap_json"]},"thumbnail_url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"visibility":{"type":"string","enum":["all_members","admin_only"]},"instructor_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"instructor_avatar_url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"tags":{"type":"array","items":{"type":"string"}},"difficulty":{"anyOf":[{"type":"string","enum":["beginner","intermediate","advanced"]},{"type":"null"}]},"modules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","minLength":1},"lessons":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","minLength":1},"description":{"type":"string"}},"required":["title"]}}},"required":["title"]},"description":"Ordered list of modules; each with optional lesson placeholders"}},"required":["title","modules"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_create_discussion","description":"Start a discussion as the API key's owner. It is published and visible to all members immediately, and notifies every member who has new-discussion notifications on.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":300,"description":"Discussion title"},"content":{"description":"Plain-text/markdown body. Required unless content_json is given.","type":"string","maxLength":20000},"content_json":{"description":"Tiptap JSON body (alternative to content)"},"content_format":{"description":"Defaults to 'tiptap_json' with content_json, else 'markdown'","type":"string","enum":["markdown","tiptap_json"]},"category":{"description":"Category label, default \"General\"","type":"string"},"tags":{"description":"Tag list","maxItems":20,"type":"array","items":{"type":"string"}}},"required":["title"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_create_discussion_reply","description":"Reply to a discussion as the API key's owner. The reply is visible to all members immediately and notifies the discussion author. Fails with 409 if the discussion is locked. Set parent_reply_id to nest under another reply.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"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":"Discussion uuid"},"content":{"description":"Plain-text/markdown body. Required unless content_json is given.","type":"string","maxLength":20000},"content_json":{"description":"Tiptap JSON body (alternative to content)"},"content_format":{"description":"Defaults to 'tiptap_json' with content_json, else 'markdown'","type":"string","enum":["markdown","tiptap_json"]},"parent_reply_id":{"description":"Reply uuid in the same discussion to nest under","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)$"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_create_enrollment","description":"Enroll a user in a course. Both user_id and course_id must belong to the authenticated community. Duplicate enrollments are rejected.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"user_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)$"},"course_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)$"}},"required":["user_id","course_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_create_event","description":"Create a calendar event. Dates are ISO 8601 strings in UTC. For virtual events set meeting_url; for in-person set location. event_type controls which field the UI shows.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"title":{"type":"string","minLength":1},"description":{"type":"string"},"description_json":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description_format":{"type":"string","enum":["markdown","tiptap_json"]},"event_type":{"type":"string","enum":["virtual","in-person","hybrid"]},"location":{"type":"string"},"meeting_url":{"type":"string","format":"uri"},"start_date":{"type":"string","description":"ISO 8601 timestamp"},"end_date":{"type":"string","description":"ISO 8601 timestamp"},"timezone":{"description":"IANA tz, e.g. \"America/New_York\"","type":"string"},"max_attendees":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"tags":{"type":"array","items":{"type":"string"}},"cover_image_url":{"type":"string","format":"uri"}},"required":["title","event_type","start_date","end_date"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_create_lesson","description":"Add a lesson to a course. content_type must match content_url (e.g. youtube URL → content_type:youtube). Set module_id=null to leave the lesson unassigned; otherwise pass a module uuid from list_course_modules.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"course_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)$"},"module_id":{"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"}]},"title":{"type":"string","minLength":1},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"content_url":{"type":"string","format":"uri"},"content_type":{"type":"string","enum":["youtube","google_drive","video","image","document","pitch"]},"content_json":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"content_format":{"type":"string","enum":["markdown","tiptap_json"]},"thumbnail_url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"duration_seconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"sort_order":{"type":"integer","minimum":0,"maximum":9007199254740991},"is_published":{"type":"boolean"},"is_preview":{"description":"If true, visible to non-enrolled users","type":"boolean"}},"required":["course_id","title","content_url"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_create_member_note","description":"Add a private admin note to a member. The author is the API key's creator.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"user_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":"Member's user (profile) uuid, not the membership row id"},"note":{"type":"string","minLength":1,"maxLength":10000,"description":"Note text"}},"required":["user_id","note"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_create_member_tag","description":"Create a member tag. Names are unique per community (409 on duplicate).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Tag name"},"color":{"description":"Hex color, e.g. #4361EE","type":"string","pattern":"^#[0-9a-fA-F]{6}$"}},"required":["name"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_create_module","description":"Add a module to a course. sort_order is optional — server auto-appends if omitted.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"course_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)$"},"title":{"type":"string","minLength":1},"sort_order":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["course_id","title"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_create_post","description":"Publish a new post to the community feed. Either content (markdown) or content_json (tiptap) is required. content_format must match which field you sent. category is optional — omit for default \"general\".","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"content":{"description":"Markdown body (use when content_format=markdown)","type":"string"},"content_json":{"description":"Tiptap JSON doc (use when content_format=tiptap_json)","type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"content_format":{"description":"Defaults to markdown","type":"string","enum":["markdown","tiptap_json"]},"category":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_create_post_comment","description":"Comment on a feed post as the API key's owner. The comment is visible to all members immediately, notifies the post author, and awards comment points. Set parent_comment_id to reply to another comment on the same post.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"post_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":"Post uuid (from list_posts)"},"content":{"description":"Plain-text/markdown body. Required unless content_json is given.","type":"string","maxLength":20000},"content_json":{"description":"Tiptap JSON body (alternative to content)"},"content_format":{"description":"Defaults to 'tiptap_json' with content_json, else 'markdown'","type":"string","enum":["markdown","tiptap_json"]},"parent_comment_id":{"description":"Comment uuid on the same post to reply to","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)$"}},"required":["post_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_create_question_bank","description":"Create an empty question bank. Add questions with hivelearn_create_question_bank_item.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"description":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]}},"required":["name"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_create_question_bank_item","description":"Add a question to a bank. Supports all 6 types; supply the answer field for the type: options (multiple_choice / multi_select), correct_answer (true_false), accepted_answers (fill_in_blank), pairs (matching), items (ordering).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"bank_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)$"},"question_text":{"type":"string","minLength":1},"question_type":{"type":"string","enum":["multiple_choice","true_false","fill_in_blank","multi_select","matching","ordering"]},"options":{"description":"multiple_choice (exactly one is_correct:true) or multi_select (one or more). 2-12 entries.","type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string","minLength":1},"is_correct":{"type":"boolean"}},"required":["text"]}},"correct_answer":{"description":"true_false only","type":"boolean"},"accepted_answers":{"description":"fill_in_blank only; matched case-insensitively","type":"array","items":{"type":"string","minLength":1}},"pairs":{"description":"matching only; at least 2 pairs","type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"left":{"type":"string","minLength":1},"right":{"type":"string","minLength":1}},"required":["left","right"]}},"items":{"description":"ordering only; correct order is position 1..n, or array order if positions are omitted","type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string","minLength":1},"position":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["text"]}},"points":{"description":"Defaults to 1","type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"explanation":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["bank_id","question_text","question_type"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_create_quiz","description":"Create a quiz attached to a lesson. passing_score is 0-100 (percent). Omit time_limit_seconds or max_attempts for unlimited.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"lesson_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)$"},"title":{"type":"string","minLength":1},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"passing_score":{"type":"integer","minimum":0,"maximum":100},"time_limit_seconds":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"max_attempts":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"shuffle_questions":{"type":"boolean"}},"required":["lesson_id","title"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_create_quiz_question","description":"Add a question to a quiz. Supply the answer field for the type: multiple_choice → options [{text, is_correct}] with exactly one is_correct:true; multi_select → options with one or more correct; true_false → correct_answer (boolean); fill_in_blank → accepted_answers; matching → pairs [{left, right}]; ordering → items [{text}] in correct order (or with position 1..n).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"quiz_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)$"},"question_text":{"type":"string","minLength":1},"question_type":{"type":"string","enum":["multiple_choice","true_false","fill_in_blank","multi_select","matching","ordering"]},"options":{"description":"multiple_choice (exactly one is_correct:true) or multi_select (one or more). 2-12 entries.","type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string","minLength":1},"is_correct":{"type":"boolean"}},"required":["text"]}},"correct_answer":{"description":"true_false only","type":"boolean"},"accepted_answers":{"description":"fill_in_blank only; matched case-insensitively","type":"array","items":{"type":"string","minLength":1}},"pairs":{"description":"matching only; at least 2 pairs","type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"left":{"type":"string","minLength":1},"right":{"type":"string","minLength":1}},"required":["left","right"]}},"items":{"description":"ordering only; correct order is position 1..n, or array order if positions are omitted","type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string","minLength":1},"position":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["text"]}},"points":{"description":"Defaults to 1","type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"explanation":{"anyOf":[{"type":"string"},{"type":"null"}]},"sort_order":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["quiz_id","question_text","question_type"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_create_resource","description":"Add a resource to the community library. Supply either resource_url (external link) or file_url (already-uploaded file) — at least one is required. price must be > 0 if set (omit for free). access_level defaults to public.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":200},"resource_type":{"description":"Defaults to \"guide\"","type":"string","enum":["guide","toolkit","course","checklist","template","other"]},"description":{"type":"string","maxLength":20000},"resource_url":{"description":"For external-link resources","type":"string","format":"uri"},"file_url":{"description":"For already-uploaded file resources","type":"string","format":"uri"},"folder_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)$"},"cover_image_url":{"type":"string","format":"uri"},"tags":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":50}},"access_level":{"description":"Defaults to public","type":"string","enum":["public","members","premium"]},"is_premium":{"type":"boolean"},"price":{"description":"One-time price (> 0); omit for free","type":"number","exclusiveMinimum":0},"is_published":{"description":"Defaults to true","type":"boolean"}},"required":["title"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_create_resource_folder","description":"Create a resource-library folder. parent_folder_id (optional) must be a folder in the same community. Names must be unique among siblings (409). price must be > 0 if set.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"description":{"type":"string","maxLength":2000},"parent_folder_id":{"description":"Parent folder; omit/null for top level","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"}]},"icon":{"description":"Icon name, defaults to \"folder\"","type":"string","minLength":1,"maxLength":50},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","description":"#RRGGBB hex color"},"position":{"description":"Sort order among siblings","type":"integer","minimum":0,"maximum":9007199254740991},"price":{"anyOf":[{"type":"number","exclusiveMinimum":0},{"type":"null"}]}},"required":["name"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_create_track","description":"Create a learning track (curated course sequence). After this, add courses in order with hivelearn_add_track_course. is_published defaults to false — publish once the curriculum is set.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":20000},"thumbnail_url":{"type":"string","format":"uri"},"estimated_hours":{"type":"integer","minimum":0,"maximum":9007199254740991},"difficulty_level":{"type":"string","enum":["beginner","intermediate","advanced"]},"is_published":{"description":"Defaults to false","type":"boolean"},"is_featured":{"type":"boolean"}},"required":["title"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_generate_ai_course","description":"Generate a full course with AI and return a job_id to poll with hivelearn_get_ai_job. SPENDS the key creator's AI credits: 1 credit, or 5 for hybrid_chapters (paid plans only), plus 1 when include_recap_video is true in a video mode. Confirm with the user before calling. Requires the explicit generate:ai_courses scope, which admin:* does NOT include. source_type video_url imports a public YouTube/Vimeo/Loom link; every other type needs a file already uploaded to HiveLearn media storage (external URLs are rejected). Limited to 2 running and 10 per hour.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"source_type":{"type":"string","enum":["document","audio","video","video_url"]},"source_url":{"type":"string","format":"uri","description":"Video link for video_url; otherwise an https URL on the HiveLearn media host"},"source_filename":{"description":"Required for every type except video_url","type":"string","minLength":1},"video_mode":{"description":"none/intro_only = 1 credit, hybrid_chapters = 5, +1 for include_recap_video in a video mode. Default intro_only; forced to none for video_url (always 1 credit)","type":"string","enum":["none","intro_only","hybrid_chapters"]},"include_quizzes":{"type":"boolean"},"quiz_questions_per_chapter":{"type":"integer","minimum":2,"maximum":10},"include_intro_video":{"type":"boolean"},"include_recap_video":{"description":"Opt-in second avatar clip, +1 credit","type":"boolean"},"content_depth":{"type":"string","enum":["auto","concise","standard","deep"]},"style_preset":{"description":"Thumbnail style preset key; unknown values are ignored","type":"string"},"brand_intensity":{"type":"integer","minimum":0,"maximum":100},"context_url":{"description":"Optional supporting document on the HiveLearn media host","type":"string","format":"uri"}},"required":["source_type","source_url"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_ai_credits","description":"AI credit balance for the API key's creator: monthly allowance remaining, purchased top-ups (never expire), total available, reset date, and whether the AI Course Builder is enabled for this community. Check this before generating. Needs scope read:ai.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_ai_job","description":"Status and progress of one AI generation job. Poll after hivelearn_generate_ai_course. status is queued | processing | completed | failed | refunded; current_step shows the phase; course_id is the resulting course. A job that stays queued with started_at null was never picked up and is failed and refunded automatically within about an hour. Needs scope read:ai.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"job_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)$"}},"required":["job_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_analytics_summary","description":"Community analytics over a trailing window of `days` (default 30): total and new members, posts created, enrollments (total, new, completions, completion rate), published courses, and events created/held with RSVPs and check-ins. Definitions match the admin dashboard. Requires read:analytics.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"days":{"description":"Trailing window in days (1-365), default 30","type":"integer","minimum":1,"maximum":365}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_assignment_submission","description":"Fetch one assignment submission: text/url, status, instructor feedback and reviewer. Requires read:courses.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"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":"Submission uuid"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_certificate","description":"Fetch one certificate by id. Includes verification_code and download URL.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_community_me","description":"Returns the community the current API key is scoped to. Use this first whenever you need the community_id, owner, slug, or tier — the API key determines tenancy, you cannot switch community.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_course","description":"Fetch one course with full metadata (description, instructor, tags, flags). For the lesson tree use hivelearn_get_course_structure instead.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_course_analytics","description":"Per-course analytics for the community (newest course first): enrollments, new enrollments and completions in the last `days`, completion rate, average progress, and average rating. Paginated. Requires read:analytics.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"days":{"description":"Trailing window in days (1-365), default 30","type":"integer","minimum":1,"maximum":365},"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_course_gradebook","description":"Quiz-score gradebook for a course: per-user quiz attempts, scores, pass/fail. Use for analytics or grading dashboards.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"course_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)$"},"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991},"user_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)$"}},"required":["course_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_course_progress","description":"Aggregate lesson-completion progress for a course across enrolled users. Returns per-user percent_complete, last_accessed_at, completed_lesson_count.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"course_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)$"},"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991},"user_id":{"description":"Scope to one user","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)$"}},"required":["course_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_course_structure","description":"Return a compact titles-only tree of the course: course → modules → lessons. Ideal for agents to plan reorders, spot empty lessons, or summarize a course. Does NOT include lesson body content.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_discussion","description":"Fetch one discussion by uuid, with author. Use list_discussion_replies for its replies.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"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":"Discussion uuid (from list_discussions)"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_enrollment","description":"Fetch one enrollment with status and progress.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_event","description":"Fetch one event by id with full description and RSVP metadata.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_leaderboard","description":"Ranked member leaderboard for the community. period chooses the window: all_time (default), 30_day, or 7_day. Each entry carries rank and the points for the selected period, plus level info.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"period":{"description":"Defaults to all_time","type":"string","enum":["all_time","30_day","7_day"]},"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_member","description":"Fetch a single member by profile uuid. Returns the same fields as list_members for one row.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"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":"Profile uuid (matches the id from list_members)"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_member_health","description":"Get a member's health score (engagement, activity, risk level). 404 until the daily job has scored them.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"user_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":"Member's user (profile) uuid, not the membership row id"}},"required":["user_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_member_points","description":"Full points breakdown for one member (by auth user id) in the community: total, per-category (posts/comments/events/courses/engagement), period totals, level. 404 if the member has no points record here.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"user_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":"The auth user id (community_members.user_id)"}},"required":["user_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_post","description":"Fetch one post with full content. Reply thread is NOT included — this is the post itself only.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_question_bank","description":"Fetch one question bank with its item_count. Items are listed separately via hivelearn_list_question_bank_items.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_quiz","description":"Fetch one quiz with metadata (passing_score, time_limit, max_attempts). Questions are NOT included — use hivelearn_list_quiz_questions.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_resource","description":"Fetch one published resource by id, with joined author. 404 if unpublished or in another community.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_resource_folder","description":"Fetch one resource folder by id, with its resource_count. 404 if it belongs to another community.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_track","description":"Fetch one learning track by id with full metadata. For its ordered curriculum use hivelearn_list_track_courses.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_get_track_progress","description":"Per-member progress through a learning track: enrolled_at, started_at, completed_at, total_courses, completed counts. Use for cohort/track analytics.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"track_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)$"},"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["track_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_grade_assignment_submission","description":"Review an assignment submission: sets status (reviewed, approved, revision_requested, submitted) and instructor feedback, recorded as reviewed by the API key's creator. This changes a member's record and the student will see it. revision_requested requires feedback. Requires write:grades.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"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":"Submission uuid"},"status":{"type":"string","enum":["submitted","reviewed","approved","revision_requested"]},"feedback":{"description":"Feedback shown to the student","type":"string","maxLength":10000}},"required":["id","status"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_ai_jobs","description":"List the key creator's AI course generation jobs in this community, newest first, with status and progress. Needs scope read:ai.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_assignment_submissions","description":"List assignment submissions in the community, newest first, with student profile and lesson title. Filter by course_id, lesson_id or status. Requires read:courses.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"course_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)$"},"lesson_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)$"},"status":{"type":"string","enum":["submitted","reviewed","approved","revision_requested"]},"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_certificates","description":"List issued certificates, optionally scoped to one user or one course. Returns id, user, course, verification_code, status, issued_at.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991},"user_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)$"},"course_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)$"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_course_lessons","description":"List lessons of a course, optionally filtered to one module. Use hivelearn_get_course_structure for a nested tree.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"course_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)$"},"module_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)$"}},"required":["course_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_course_modules","description":"List modules (sections) of a course, ordered by sort_order. Modules group lessons; a course has 1..N modules.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"course_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)$"}},"required":["course_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_courses","description":"List courses in the authenticated community. status=published returns only courses visible to learners. Returns id, title, visibility, is_published, thumbnail_url, timestamps.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991},"status":{"description":"Defaults to \"all\"","type":"string","enum":["draft","published","all"]}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_discussion_replies","description":"List replies in a discussion, oldest first. Returns id, content, parent_reply_id, is_accepted_answer, author, likes_count.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"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":"Discussion uuid"},"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_discussions","description":"List published discussions (forum threads), pinned first then newest. Returns id, title, content, category, tags, reply/like counts, is_locked, author.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991},"category":{"description":"Filter by exact category","type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_enrollments","description":"List course enrollments, optionally scoped to one course or one user. Returns enrollment_id, user_id, course_id, status, progress %, enrolled_at, completed_at.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991},"course_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)$"},"user_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)$"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_event_attendees","description":"List an event's attendees with check-in status and basic profile. source='rsvp' (default) for free RSVPs, 'ticket' for paid ticket purchases. Requires scope read:events.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"event_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":"Event UUID"},"source":{"description":"'rsvp' (default) or 'ticket'","type":"string","enum":["rsvp","ticket"]},"rsvp_status":{"description":"Filter RSVPs (source=rsvp)","type":"string","enum":["going","maybe","not_going"]},"payment_status":{"description":"Filter tickets (source=ticket)","type":"string","enum":["pending","succeeded","failed","refunded","partially_refunded"]},"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["event_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_event_waitlist","description":"List an event's waitlist in queue order (oldest first) with position and basic profile. Requires scope read:events.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"event_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":"Event UUID"},"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["event_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_events","description":"List community events. Use upcoming=true for future events only (recommended for calendar UI). Returns id, title, start/end dates, event_type, location/meeting_url, attendee counts.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991},"upcoming":{"description":"If true, only events with start_date in the future","type":"boolean"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_member_notes","description":"List private admin notes on a member, newest first.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"user_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":"Member's user (profile) uuid, not the membership row id"},"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["user_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_member_tag_assignments","description":"List the tags assigned to a member.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"user_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":"Member's user (profile) uuid, not the membership row id"}},"required":["user_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_member_tags","description":"List the community's member tags (id, name, color).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_members","description":"List members of the authenticated community. Returns id (profile uuid), role, email, display_name, avatar_url, and joined_at. Filter by role to find admins/owners.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991},"role":{"description":"Restrict to a single role","type":"string","enum":["owner","admin","moderator","member"]}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_post_comments","description":"List comments on a feed post, oldest first. Returns id, content, parent_comment_id, author, likes_count, timestamps. 404 if the post is not in this community.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"post_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":"Post uuid (from list_posts)"},"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["post_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_posts","description":"List community feed posts, newest first. Use category to filter (e.g. \"announcements\"). Returns id, title, content, category, author, reply counts, timestamps.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991},"category":{"description":"Filter by category slug","type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_question_bank_items","description":"List the questions in a bank, WITH the answer key (is_correct, pairs/items, explanation). Authoring view for admins.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"bank_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)$"},"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["bank_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_question_banks","description":"List question banks (reusable question pools that bank-draw quizzes sample from), newest first.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_quiz_attempts","description":"List attempts for one quiz: learner, score (0-100), points, passed, started_at and completed_at (null = in progress). Never includes answers or answer keys. Requires read:courses.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"quiz_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":"Quiz uuid"},"user_id":{"description":"Only this learner","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)$"},"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["quiz_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_quiz_questions","description":"List all questions for a quiz, ordered by sort_order. Each question carries its options and correct answer.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"quiz_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)$"}},"required":["quiz_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_quizzes","description":"List quizzes, optionally scoped to a course or a specific lesson. Each quiz belongs to one lesson.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991},"course_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)$"},"lesson_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)$"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_resource_folders","description":"List resource-library folders in the authenticated community, ordered by position then name. Folders nest via parent_folder_id; pass parent_folder_id=\"root\" for top-level only, or a folder id for its children. Each folder includes resource_count.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991},"parent_folder_id":{"description":"Folder id, or \"root\" for top-level folders","type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_resources","description":"List published resources in the authenticated community, newest first. Filter by folder_id, resource_type, or access_level. Returns id, title, resource_type, resource_url/file_url, access_level, counts (downloads, views, favorites), author. The internal storage key is never exposed.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991},"folder_id":{"description":"Filter to a single resource folder","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)$"},"resource_type":{"type":"string","enum":["guide","toolkit","course","checklist","template","other"]},"access_level":{"type":"string","enum":["public","members","premium"]}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_segment_members","description":"List members matching a segment's rules, evaluated server-side the same way the admin CRM does.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"segment_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":"Segment uuid"},"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["segment_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_segments","description":"List saved member segments with their filter rules.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_track_courses","description":"Return the ordered curriculum of a track: its courses with sort_order, is_required, and unlock_after_course_id (prerequisite gating).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"track_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)$"}},"required":["track_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_list_tracks","description":"List published learning tracks (curated course sequences) in the community, newest first. Returns id, title, description, difficulty_level, estimated_hours, flags.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"description":"Page size, default 20","type":"integer","minimum":1,"maximum":100},"offset":{"description":"Rows to skip, default 0","type":"integer","minimum":0,"maximum":9007199254740991}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_publish_course","description":"Publish a course: sets is_published=true after validating that every lesson has content_url. Returns error if any lesson is still empty — run hivelearn_get_course_structure to diagnose.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_reorder_module_lessons","description":"Set the full lesson order within a module in one atomic call. Pass the desired final order as lesson_ids — every lesson currently in the module must appear exactly once.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"module_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)$"},"lesson_ids":{"minItems":1,"type":"array","items":{"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)$"}}},"required":["module_id","lesson_ids"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_update_certificate","description":"Change a certificate status. Use \"revoked\" to invalidate (verify endpoint will reject).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"},"status":{"type":"string","enum":["active","revoked","expired"]}},"required":["id","status"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_update_course","description":"Edit course metadata. Use hivelearn_publish_course instead of setting is_published=true directly — publish runs validation.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"},"title":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"description_json":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description_format":{"type":"string","enum":["markdown","tiptap_json"]},"thumbnail_url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"visibility":{"type":"string","enum":["all_members","admin_only"]},"instructor_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"instructor_avatar_url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"tags":{"type":"array","items":{"type":"string"}},"difficulty":{"anyOf":[{"type":"string","enum":["beginner","intermediate","advanced"]},{"type":"null"}]},"is_published":{"type":"boolean"},"is_featured":{"type":"boolean"},"is_pinned":{"type":"boolean"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_update_event","description":"Edit an event. Set is_cancelled=true to cancel (preserves history). Set max_attendees=null to lift the cap.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"},"title":{"type":"string"},"description":{"type":"string"},"description_json":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"description_format":{"type":"string","enum":["markdown","tiptap_json"]},"event_type":{"type":"string","enum":["virtual","in-person","hybrid"]},"location":{"type":"string"},"meeting_url":{"type":"string","format":"uri"},"start_date":{"type":"string"},"end_date":{"type":"string"},"timezone":{"type":"string"},"max_attendees":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"tags":{"type":"array","items":{"type":"string"}},"cover_image_url":{"type":"string","format":"uri"},"is_cancelled":{"type":"boolean"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_update_lesson","description":"Edit lesson metadata or move it between modules. To edit ONLY the content body use hivelearn_update_lesson_content (narrower scope, safer).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"},"module_id":{"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"}]},"title":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"content_url":{"type":"string","format":"uri"},"content_type":{"type":"string","enum":["youtube","google_drive","video","image","document","pitch"]},"content_json":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"content_format":{"type":"string","enum":["markdown","tiptap_json"]},"thumbnail_url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"duration_seconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"sort_order":{"type":"integer","minimum":0,"maximum":9007199254740991},"is_published":{"type":"boolean"},"is_preview":{"type":"boolean"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_update_lesson_content","description":"Replace just the content of a lesson — URL, content_type, and optional description/duration/thumbnail. Narrower than update_lesson; safe for bulk agent writes. Does NOT change title, sort_order, or module assignment.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"},"content_url":{"type":"string","format":"uri"},"content_type":{"type":"string","enum":["youtube","google_drive","video","image","document","pitch"]},"content_json":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"content_format":{"type":"string","enum":["markdown","tiptap_json"]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"duration_seconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"thumbnail_url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_update_member","description":"Change a member's role or ban status. role accepts member/moderator/admin (owner cannot be assigned via the API). Set is_banned=true to ban, false to lift. At least one field required.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"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":"Profile uuid (matches the id from list_members)"},"role":{"type":"string","enum":["member","moderator","admin"]},"is_banned":{"type":"boolean"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_update_module","description":"Rename or reorder a module. To reorder lessons within a module use hivelearn_reorder_module_lessons.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"},"title":{"type":"string"},"sort_order":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_update_post","description":"Edit an existing post. Only include fields you want to change. Use is_pinned to pin/unpin a post from the top of the feed.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"},"content":{"type":"string"},"content_json":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"content_format":{"type":"string","enum":["markdown","tiptap_json"]},"category":{"type":"string"},"is_pinned":{"type":"boolean"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_update_question_bank","description":"Rename a question bank or change its description.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"},"name":{"type":"string","minLength":1,"maxLength":200},"description":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_update_question_bank_item","description":"Edit a bank question. Changing question_type or any answer field rebuilds the answer key, so resupply the answer field for the (new) type.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"},"question_text":{"type":"string","minLength":1},"question_type":{"type":"string","enum":["multiple_choice","true_false","fill_in_blank","multi_select","matching","ordering"]},"options":{"description":"multiple_choice (exactly one is_correct:true) or multi_select (one or more). 2-12 entries.","type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string","minLength":1},"is_correct":{"type":"boolean"}},"required":["text"]}},"correct_answer":{"description":"true_false only","type":"boolean"},"accepted_answers":{"description":"fill_in_blank only; matched case-insensitively","type":"array","items":{"type":"string","minLength":1}},"pairs":{"description":"matching only; at least 2 pairs","type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"left":{"type":"string","minLength":1},"right":{"type":"string","minLength":1}},"required":["left","right"]}},"items":{"description":"ordering only; correct order is position 1..n, or array order if positions are omitted","type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string","minLength":1},"position":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["text"]}},"points":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"explanation":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_update_quiz","description":"Edit quiz settings. Cannot move a quiz to a different lesson — create a new one instead.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"},"title":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"passing_score":{"type":"integer","minimum":0,"maximum":100},"time_limit_seconds":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"max_attempts":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"shuffle_questions":{"type":"boolean"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_update_quiz_question","description":"Edit a question. Sending question_type or any answer field (options, correct_answer, accepted_answers, pairs, items) rebuilds the answer key, so supply the full answer for the effective type.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"},"question_text":{"type":"string"},"question_type":{"type":"string","enum":["multiple_choice","true_false","fill_in_blank","multi_select","matching","ordering"]},"options":{"description":"multiple_choice (exactly one is_correct:true) or multi_select (one or more). 2-12 entries.","type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string","minLength":1},"is_correct":{"type":"boolean"}},"required":["text"]}},"correct_answer":{"description":"true_false only","type":"boolean"},"accepted_answers":{"description":"fill_in_blank only; matched case-insensitively","type":"array","items":{"type":"string","minLength":1}},"pairs":{"description":"matching only; at least 2 pairs","type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"left":{"type":"string","minLength":1},"right":{"type":"string","minLength":1}},"required":["left","right"]}},"items":{"description":"ordering only; correct order is position 1..n, or array order if positions are omitted","type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string","minLength":1},"position":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["text"]}},"points":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"explanation":{"anyOf":[{"type":"string"},{"type":"null"}]},"sort_order":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_update_resource","description":"Edit a resource. Only include fields you want to change. Set is_featured to surface it; set is_published=false to unlist.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"},"title":{"type":"string","minLength":1,"maxLength":200},"resource_type":{"type":"string","enum":["guide","toolkit","course","checklist","template","other"]},"description":{"type":"string","maxLength":20000},"resource_url":{"type":"string","format":"uri"},"file_url":{"type":"string","format":"uri"},"folder_id":{"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"}]},"cover_image_url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"tags":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":50}},"access_level":{"type":"string","enum":["public","members","premium"]},"is_premium":{"type":"boolean"},"price":{"anyOf":[{"type":"number","exclusiveMinimum":0},{"type":"null"}]},"is_published":{"type":"boolean"},"is_featured":{"type":"boolean"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_update_resource_folder","description":"Update a resource folder (rename, recolor, reorder, reprice, or move). parent_folder_id=null moves it to top level; moving a folder into itself or a descendant is rejected. Only supplied fields change.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"},"name":{"type":"string","minLength":1,"maxLength":100},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]},"parent_folder_id":{"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"}]},"icon":{"type":"string","minLength":1,"maxLength":50},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","description":"#RRGGBB hex color"},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"price":{"anyOf":[{"type":"number","exclusiveMinimum":0},{"type":"null"}]}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_update_track","description":"Edit a learning track. Only include fields you want to change. Set is_published=true to make it live.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"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)$"},"title":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","maxLength":20000},"thumbnail_url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"estimated_hours":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"difficulty_level":{"type":"string","enum":["beginner","intermediate","advanced"]},"is_published":{"type":"boolean"},"is_featured":{"type":"boolean"}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"hivelearn_verify_certificate","description":"Public verification lookup by verification_code. Returns { valid, certificate } if found and active. Use this when a third party presents a certificate code.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"The verification_code printed on the certificate"}},"required":["code"],"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":73,"grade":"B","scanned_at":"2026-11-01T13:27:32.205Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-11-01T13:27:32.173Z","components":{"code":{"score":25,"max":25,"notes":["2 source files scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1033ms"]},"poisoning":{"score":15,"max":15,"notes":["96 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":3,"max":15,"notes":["repository not readable: repo not found"]},"identity":{"score":2,"max":10,"notes":["no repository or website to verify"]}},"findings":[],"inputs":{"probes":[{"url":"https://mcp.hivelearn.app","reachable":true,"authRequired":false,"latencyMs":1033,"serverInfo":{"name":"hivelearn","version":"0.3.0"}}],"packages":[{"registryType":"npm","identifier":"hivelearn-mcp","version":"0.1.2","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":1,"publishedAt":"2026-09-21T16:21:39.170Z","repositoryUrl":"git+https://github.com/hivelearn/community-hub.git","weeklyDownloads":42}],"repo":{"found":false,"owner":"hivelearn","repo":"community-hub","error":"repo not found"},"icon":{"url":"https://hivelearn.app/hivelearn-icon.png","source":"registry","width":512,"height":512},"presence":{"stars":null,"forks":null,"downloadsWeek":42,"license":"Apache-2.0","lastPushAt":null,"score":16}}}},"grade_history":[],"reviews":[]}