Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "hivelearn_generate_ai_course"
⟨22 unchanged words⟩ 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 ⟨42 unchanged words⟩
⟨39 unchanged words⟩ include_recap_video":{"description":"Opt-in second avatar clip, +1 credit","type":"boolean"},"quiz_questions_per_chapter":{ ⟨59 unchanged words⟩ ":"none/intro_only = 1 credit, hybrid_chapters =5.5, +1 for include_recap_video in a video mode. Default intro_only; forced to none for video_url (always 1 credit)","enum":["none","intro_only"," ⟨8 unchanged words⟩
Added "hivelearn_add_member_tag", "hivelearn_create_discussion", "hivelearn_create_discussion_reply" and 36 more; changed the definition of "hivelearn_create_quiz_question" and "hivelearn_update_quiz_question" (57 tools before, 96 now)
Add a question to a quiz.ForSupplymultiple_choice:thepassansweroptionsfieldasforanthearraytype:ofmultiple_choice{→
Certificate recorded, valid to 2026-11-20
Authorization not required
First tool surface recorded: 57 tools (server version 0.3.0)
Showing the latest 5 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"correct_answeraccepted_answers":{"description":"Forfill_in_blank only; matched case-insensitively","items":{"minLength":1,"type":"string"},"type":"array"},"correct_answer":{"description":"true_false only","type":"boolean"},"explanation ⟨3 unchanged words⟩ "},{"type":"null"}]},"optionsitems":{"description":"For multiple_choiceordering only;shape:correct[order is position 1..n, or array order if positions are omitted","items":{"properties":{"id":{"type":"string"},"position":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"text":{"minLength":1,"type":"string"}},"required":["text"],"type":"object"},"type":"array"},"options":{"description":"multiple_choice (exactly one is_correct:true) or multi_select (one or more). 2-12 entries.","items":{"properties":{"id":{"type":"string"},"is_correct":{"type":"boolean"},"text":{"minLength":1,"type":"string"}},"required":["text"],"type":"object"},"type":"array"},"pairs":{"description":"matching only; at least 2 pairs","items":{"additionalPropertiesproperties":{"id":{"type":"string"},"propertyNamesleft":{"minLength":1,"type":"string"},"right":{"minLength":1,"type":"string"}},"required":["left","right"],"type":"object"},"type":"array"},"points" ⟨15 unchanged words⟩ "question_type":{"enum":["multiple_choice","true_false","fill_in_blank","multi_select","matching","ordering"],"type":"string"},"quiz_id": ⟨37 unchanged words⟩
Edit a question.ChangingSending question_typewillorrequireanyresupplyingansweroptionsfieldor(options, correct_answer,toaccepted_answers,matchpairs, items) rebuilds thenewanswer key, so supply the full answer for the effective type.
{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"accepted_answers":{"description":"fill_in_blank only; matched case-insensitively","items":{"minLength":1,"type":"string"},"type":"array"},"correct_answer":{"description":"true_false only","type":"boolean"},"explanation":{"anyOf" ⟨25 unchanged words⟩ }|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"items":{"description":"ordering only; correct order is position 1..n, or array order if positions are omitted","items":{"properties":{"id":{"type":"string"},"position":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"text":{"minLength":1,"type":"string"}},"required":["text"],"type":"object"},"type":"array"},"options":{"description":"multiple_choice (exactly one is_correct:true) or multi_select (one or more). 2-12 entries.","items":{"additionalPropertiesproperties":{"id":{"type":"string"},"propertyNamesis_correct":{"type":"boolean"},"text":{"minLength":1,"type":"string"}},"required":["text"],"type":"object"},"type":"array"},"pairs":{"description":"matching only; at least 2 pairs","items":{"properties":{"id":{"type":"string"},"left":{"minLength":1,"type":"string"},"right":{"minLength":1,"type":"string"}},"required":["left","right"],"type":"object"},"type":"array"},"points":{"exclusiveMinimum":0,"maximum":9007199254740991, ⟨5 unchanged words⟩ "question_type":{"enum":["multiple_choice","true_false","fill_in_blank","multi_select","matching","ordering"],"type":"string"},"sort_order": ⟨10 unchanged words⟩
Assign a tag to a member. Idempotent: returns the existing assignment if already tagged.
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.
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.
Add a private admin note to a member. The author is the API key's creator.
Create a member tag. Names are unique per community (409 on duplicate).
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.
Create an empty question bank. Add questions with hivelearn_create_question_bank_item.
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).
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.
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). 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.
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.
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.
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.
Fetch one assignment submission: text/url, status, instructor feedback and reviewer. Requires read:courses.
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.
Fetch one discussion by uuid, with author. Use list_discussion_replies for its replies.
Get a member's health score (engagement, activity, risk level). 404 until the daily job has scored them.
Fetch one question bank with its item_count. Items are listed separately via hivelearn_list_question_bank_items.
Fetch one resource folder by id, with its resource_count. 404 if it belongs to another community.
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.
List the key creator's AI course generation jobs in this community, newest first, with status and progress. Needs scope read:ai.
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.
List replies in a discussion, oldest first. Returns id, content, parent_reply_id, is_accepted_answer, author, likes_count.
List published discussions (forum threads), pinned first then newest. Returns id, title, content, category, tags, reply/like counts, is_locked, author.
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.
List an event's waitlist in queue order (oldest first) with position and basic profile. Requires scope read:events.
List private admin notes on a member, newest first.
List the tags assigned to a member.
List the community's member tags (id, name, color).
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.
List the questions in a bank, WITH the answer key (is_correct, pairs/items, explanation). Authoring view for admins.
List question banks (reusable question pools that bank-draw quizzes sample from), newest first.
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.
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.
List members matching a segment's rules, evaluated server-side the same way the admin CRM does.
List saved member segments with their filter rules.
Rename a question bank or change its 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.
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.