Skip to content

HiveLearn

by williamechevarria · remote · local (npm) · no sign-in to list tools · v0.4.0 · published by GitHub user williamechevarria

Read and author HiveLearn courses, events, quizzes, certificates, resources, leaderboards, tracks.

Final · 3Changes · 39

96 tools: 3 do something that can't be undone, 39 change things and 54 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http hivelearn https://mcp.hivelearn.app --header 'X-Hivelearn-Api-Key: <your-x-hivelearn-api-key>'

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

96 tools

Can't be undone 3Claude Code: ask
  • hivelearn_create_discussion_replyReply to a discussion as the API key's owner.No findings

    Why it is in this group

    • The name "hivelearn_create_discussion_reply" says "create": a word for a change.
    • The description's first verb is "reply": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    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.
  • hivelearn_create_postPublish a new post to the community feed.No findings

    Why it is in this group

    • The name "hivelearn_create_post" says "create": a word for a change.
    • The description's first verb is "publish": a word for a change that another call does not undo.
    Description, as the server wrote it
    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".
  • hivelearn_publish_coursePublish a course: sets is_published=true after validating that every lesson has content_url.No findings

    Why it is in this group

    • The name "hivelearn_publish_course" says "publish": a word for a change that another call does not undo.
    Description, as the server wrote it
    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.
Changes things 39Claude Code: ask
  • hivelearn_add_member_tagAssign a tag to a member.No findings

    Why it is in this group

    • The name "hivelearn_add_member_tag" says "add": a word for a change.
    Description, as the server wrote it
    Assign a tag to a member. Idempotent: returns the existing assignment if already tagged.
  • hivelearn_add_track_courseAdd a course to a track at a given position.No findings

    Why it is in this group

    • The name "hivelearn_add_track_course" says "add": a word for a change.
    Description, as the server wrote it
    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.
  • hivelearn_create_certificateIssue a certificate of completion to a user for a course.No findings

    Why it is in this group

    • The name "hivelearn_create_certificate" says "create": a word for a change.
    Description, as the server wrote it
    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.
  • hivelearn_create_courseCreate an empty course (no modules/lessons).No findings

    Why it is in this group

    • The name "hivelearn_create_course" says "create": a word for a change.
    Description, as the server wrote it
    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.
  • hivelearn_create_course_outlineScaffold an entire course in one call: course + modules + lesson placeholders (title/description only, no content yet).No findings

    Why it is in this group

    • The name "hivelearn_create_course_outline" says "create": a word for a change.
    Description, as the server wrote it
    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.
  • hivelearn_create_discussionStart a discussion as the API key's owner.No findings

    Why it is in this group

    • The name "hivelearn_create_discussion" says "create": a word for a change.
    Description, as the server wrote it
    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.
  • hivelearn_create_enrollmentEnroll a user in a course.No findings

    Why it is in this group

    • The name "hivelearn_create_enrollment" says "create": a word for a change.
    Description, as the server wrote it
    Enroll a user in a course. Both user_id and course_id must belong to the authenticated community. Duplicate enrollments are rejected.
  • hivelearn_create_eventCreate a calendar event.No findings

    Why it is in this group

    • The name "hivelearn_create_event" says "create": a word for a change.
    Description, as the server wrote it
    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.
  • hivelearn_create_lessonAdd a lesson to a course.No findings

    Why it is in this group

    • The name "hivelearn_create_lesson" says "create": a word for a change.
    Description, as the server wrote it
    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.
  • hivelearn_create_member_noteAdd a private admin note to a member.No findings

    Why it is in this group

    • The name "hivelearn_create_member_note" says "create": a word for a change.
    Description, as the server wrote it
    Add a private admin note to a member. The author is the API key's creator.
  • hivelearn_create_member_tagCreate a member tag.No findings

    Why it is in this group

    • The name "hivelearn_create_member_tag" says "create": a word for a change.
    Description, as the server wrote it
    Create a member tag. Names are unique per community (409 on duplicate).
  • hivelearn_create_moduleAdd a module to a course.No findings

    Why it is in this group

    • The name "hivelearn_create_module" says "create": a word for a change.
    Description, as the server wrote it
    Add a module to a course. sort_order is optional — server auto-appends if omitted.
  • hivelearn_create_post_commentComment on a feed post as the API key's owner.No findings

    Why it is in this group

    • The name "hivelearn_create_post_comment" says "create": a word for a change.
    Description, as the server wrote it
    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.
  • hivelearn_create_question_bankCreate an empty question bank.No findings

    Why it is in this group

    • The name "hivelearn_create_question_bank" says "create": a word for a change.
    Description, as the server wrote it
    Create an empty question bank. Add questions with hivelearn_create_question_bank_item.
  • hivelearn_create_question_bank_itemAdd a question to a bank.No findings

    Why it is in this group

    • The name "hivelearn_create_question_bank_item" says "create": a word for a change.
    Description, as the server wrote it
    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).
  • hivelearn_create_quizCreate a quiz attached to a lesson.No findings

    Why it is in this group

    • The name "hivelearn_create_quiz" says "create": a word for a change.
    Description, as the server wrote it
    Create a quiz attached to a lesson. passing_score is 0-100 (percent). Omit time_limit_seconds or max_attempts for unlimited.
  • hivelearn_create_quiz_questionAdd a question to a quiz.No findings

    Why it is in this group

    • The name "hivelearn_create_quiz_question" says "create": a word for a change.
    Description, as the server wrote it
    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).
  • hivelearn_create_resourceAdd a resource to the community library.No findings

    Why it is in this group

    • The name "hivelearn_create_resource" says "create": a word for a change.
    Description, as the server wrote it
    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.
  • hivelearn_create_resource_folderCreate a resource-library folder.No findings

    Why it is in this group

    • The name "hivelearn_create_resource_folder" says "create": a word for a change.
    Description, as the server wrote it
    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.
  • hivelearn_create_trackCreate a learning track (curated course sequence).No findings

    Why it is in this group

    • The name "hivelearn_create_track" says "create": a word for a change.
    Description, as the server wrote it
    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.
  • hivelearn_generate_ai_courseGenerate a full course with AI and return a job_id to poll with hivelearn_get_ai_job.No findings

    Why it is in this group

    • The name "hivelearn_generate_ai_course" says "generate": a word for a change.
    Description, as the server wrote it
    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.
  • hivelearn_grade_assignment_submissionReview an assignment submission: sets status (reviewed, approved, revision_requested, submitted) and instructor feedback, recorded as reviewed by the API key's creator.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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.
  • hivelearn_reorder_module_lessonsSet the full lesson order within a module in one atomic call.No findings

    Why it is in this group

    • The description's first verb is "set": a word for a change.
    Description, as the server wrote it
    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.
  • hivelearn_update_certificateChange a certificate status.No findings

    Why it is in this group

    • The name "hivelearn_update_certificate" says "update": a word for a change.
    Description, as the server wrote it
    Change a certificate status. Use "revoked" to invalidate (verify endpoint will reject).
  • hivelearn_update_courseEdit course metadata.No findings

    Why it is in this group

    • The name "hivelearn_update_course" says "update": a word for a change.
    Description, as the server wrote it
    Edit course metadata. Use hivelearn_publish_course instead of setting is_published=true directly — publish runs validation.
  • hivelearn_update_eventEdit an event.No findings

    Why it is in this group

    • The name "hivelearn_update_event" says "update": a word for a change.
    Description, as the server wrote it
    Edit an event. Set is_cancelled=true to cancel (preserves history). Set max_attendees=null to lift the cap.
  • hivelearn_update_lessonEdit lesson metadata or move it between modules.No findings

    Why it is in this group

    • The name "hivelearn_update_lesson" says "update": a word for a change.
    Description, as the server wrote it
    Edit lesson metadata or move it between modules. To edit ONLY the content body use hivelearn_update_lesson_content (narrower scope, safer).
  • hivelearn_update_lesson_contentReplace just the content of a lesson — URL, content_type, and optional description/duration/thumbnail.No findings

    Why it is in this group

    • The name "hivelearn_update_lesson_content" says "update": a word for a change.
    Description, as the server wrote it
    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.
  • hivelearn_update_memberChange a member's role or ban status.No findings

    Why it is in this group

    • The name "hivelearn_update_member" says "update": a word for a change.
    Description, as the server wrote it
    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.
  • hivelearn_update_moduleRename or reorder a module.No findings

    Why it is in this group

    • The name "hivelearn_update_module" says "update": a word for a change.
    Description, as the server wrote it
    Rename or reorder a module. To reorder lessons within a module use hivelearn_reorder_module_lessons.
  • hivelearn_update_postEdit an existing post.No findings

    Why it is in this group

    • The name "hivelearn_update_post" says "update": a word for a change.
    Description, as the server wrote it
    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.
  • hivelearn_update_question_bankRename a question bank or change its description.No findings

    Why it is in this group

    • The name "hivelearn_update_question_bank" says "update": a word for a change.
    Description, as the server wrote it
    Rename a question bank or change its description.
  • hivelearn_update_question_bank_itemEdit a bank question.No findings

    Why it is in this group

    • The name "hivelearn_update_question_bank_item" says "update": a word for a change.
    Description, as the server wrote it
    Edit a bank question. Changing question_type or any answer field rebuilds the answer key, so resupply the answer field for the (new) type.
  • hivelearn_update_quizEdit quiz settings.No findings

    Why it is in this group

    • The name "hivelearn_update_quiz" says "update": a word for a change.
    Description, as the server wrote it
    Edit quiz settings. Cannot move a quiz to a different lesson — create a new one instead.
  • hivelearn_update_quiz_questionEdit a question.No findings

    Why it is in this group

    • The name "hivelearn_update_quiz_question" says "update": a word for a change.
    Description, as the server wrote it
    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.
  • hivelearn_update_resourceEdit a resource.No findings

    Why it is in this group

    • The name "hivelearn_update_resource" says "update": a word for a change.
    Description, as the server wrote it
    Edit a resource. Only include fields you want to change. Set is_featured to surface it; set is_published=false to unlist.
  • hivelearn_update_resource_folderUpdate a resource folder (rename, recolor, reorder, reprice, or move).No findings

    Why it is in this group

    • The name "hivelearn_update_resource_folder" says "update": a word for a change.
    Description, as the server wrote it
    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.
  • hivelearn_update_trackEdit a learning track.No findings

    Why it is in this group

    • The name "hivelearn_update_track" says "update": a word for a change.
    Description, as the server wrote it
    Edit a learning track. Only include fields you want to change. Set is_published=true to make it live.
  • hivelearn_verify_certificatePublic verification lookup by verification_code.No findings

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    Description, as the server wrote it
    Public verification lookup by verification_code. Returns { valid, certificate } if found and active. Use this when a third party presents a certificate code.
Only reads 54Claude Code: allow
  • hivelearn_get_ai_creditsAI 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 enable…No findings

    Why it is in this group

    • The name "hivelearn_get_ai_credits" says "get": a word for reading.
    Description, as the server wrote it
    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.
  • hivelearn_get_ai_jobStatus and progress of one AI generation job.No findings

    Why it is in this group

    • The name "hivelearn_get_ai_job" says "get": a word for reading.
    Description, as the server wrote it
    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.
  • hivelearn_get_analytics_summaryCommunity analytics over a trailing window of `days` (default 30): total and new members, posts created, enrollments (total, new, completions, completion rate), published courses, …No findings

    Why it is in this group

    • The name "hivelearn_get_analytics_summary" says "get": a word for reading.
    Description, as the server wrote it
    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.
  • hivelearn_get_assignment_submissionFetch one assignment submission: text/url, status, instructor feedback and reviewer.No findings

    Why it is in this group

    • The name "hivelearn_get_assignment_submission" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one assignment submission: text/url, status, instructor feedback and reviewer. Requires read:courses.
  • hivelearn_get_certificateFetch one certificate by id.No findings

    Why it is in this group

    • The name "hivelearn_get_certificate" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one certificate by id. Includes verification_code and download URL.
  • hivelearn_get_community_meReturns the community the current API key is scoped to.No findings

    Why it is in this group

    • The name "hivelearn_get_community_me" says "get": a word for reading.
    Description, as the server wrote it
    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.
  • hivelearn_get_courseFetch one course with full metadata (description, instructor, tags, flags).No findings

    Why it is in this group

    • The name "hivelearn_get_course" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one course with full metadata (description, instructor, tags, flags). For the lesson tree use hivelearn_get_course_structure instead.
  • hivelearn_get_course_analyticsPer-course analytics for the community (newest course first): enrollments, new enrollments and completions in the last `days`, completion rate, average progress, and average rating…No findings

    Why it is in this group

    • The name "hivelearn_get_course_analytics" says "get": a word for reading.
    Description, as the server wrote it
    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.
  • hivelearn_get_course_gradebookQuiz-score gradebook for a course: per-user quiz attempts, scores, pass/fail.No findings

    Why it is in this group

    • The name "hivelearn_get_course_gradebook" says "get": a word for reading.
    Description, as the server wrote it
    Quiz-score gradebook for a course: per-user quiz attempts, scores, pass/fail. Use for analytics or grading dashboards.
  • hivelearn_get_course_progressAggregate lesson-completion progress for a course across enrolled users.No findings

    Why it is in this group

    • The name "hivelearn_get_course_progress" says "get": a word for reading.
    Description, as the server wrote it
    Aggregate lesson-completion progress for a course across enrolled users. Returns per-user percent_complete, last_accessed_at, completed_lesson_count.
  • hivelearn_get_course_structureReturn a compact titles-only tree of the course: course → modules → lessons.No findings

    Why it is in this group

    • The name "hivelearn_get_course_structure" says "get": a word for reading.
    Description, as the server wrote it
    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.
  • hivelearn_get_discussionFetch one discussion by uuid, with author.No findings

    Why it is in this group

    • The name "hivelearn_get_discussion" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one discussion by uuid, with author. Use list_discussion_replies for its replies.
  • hivelearn_get_enrollmentFetch one enrollment with status and progress.No findings

    Why it is in this group

    • The name "hivelearn_get_enrollment" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one enrollment with status and progress.
  • hivelearn_get_eventFetch one event by id with full description and RSVP metadata.No findings

    Why it is in this group

    • The name "hivelearn_get_event" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one event by id with full description and RSVP metadata.
  • hivelearn_get_leaderboardRanked member leaderboard for the community.No findings

    Why it is in this group

    • The name "hivelearn_get_leaderboard" says "get": a word for reading.
    Description, as the server wrote it
    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.
  • hivelearn_get_memberFetch a single member by profile uuid.No findings

    Why it is in this group

    • The name "hivelearn_get_member" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a single member by profile uuid. Returns the same fields as list_members for one row.
  • hivelearn_get_member_healthGet a member's health score (engagement, activity, risk level).No findings

    Why it is in this group

    • The name "hivelearn_get_member_health" says "get": a word for reading.
    Description, as the server wrote it
    Get a member's health score (engagement, activity, risk level). 404 until the daily job has scored them.
  • hivelearn_get_member_pointsFull points breakdown for one member (by auth user id) in the community: total, per-category (posts/comments/events/courses/engagement), period totals, level.No findings

    Why it is in this group

    • The name "hivelearn_get_member_points" says "get": a word for reading.
    Description, as the server wrote it
    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.
  • hivelearn_get_postFetch one post with full content.No findings

    Why it is in this group

    • The name "hivelearn_get_post" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one post with full content. Reply thread is NOT included — this is the post itself only.
  • hivelearn_get_question_bankFetch one question bank with its item_count.No findings

    Why it is in this group

    • The name "hivelearn_get_question_bank" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one question bank with its item_count. Items are listed separately via hivelearn_list_question_bank_items.
  • hivelearn_get_quizFetch one quiz with metadata (passing_score, time_limit, max_attempts).No findings

    Why it is in this group

    • The name "hivelearn_get_quiz" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one quiz with metadata (passing_score, time_limit, max_attempts). Questions are NOT included — use hivelearn_list_quiz_questions.
  • hivelearn_get_resourceFetch one published resource by id, with joined author.No findings

    Why it is in this group

    • The name "hivelearn_get_resource" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one published resource by id, with joined author. 404 if unpublished or in another community.
  • hivelearn_get_resource_folderFetch one resource folder by id, with its resource_count.No findings

    Why it is in this group

    • The name "hivelearn_get_resource_folder" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one resource folder by id, with its resource_count. 404 if it belongs to another community.
  • hivelearn_get_trackFetch one learning track by id with full metadata.No findings

    Why it is in this group

    • The name "hivelearn_get_track" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one learning track by id with full metadata. For its ordered curriculum use hivelearn_list_track_courses.
  • hivelearn_get_track_progressPer-member progress through a learning track: enrolled_at, started_at, completed_at, total_courses, completed counts.No findings

    Why it is in this group

    • The name "hivelearn_get_track_progress" says "get": a word for reading.
    Description, as the server wrote it
    Per-member progress through a learning track: enrolled_at, started_at, completed_at, total_courses, completed counts. Use for cohort/track analytics.
  • hivelearn_list_ai_jobsList the key creator's AI course generation jobs in this community, newest first, with status and progress.No findings

    Why it is in this group

    • The name "hivelearn_list_ai_jobs" says "list": a word for reading.
    Description, as the server wrote it
    List the key creator's AI course generation jobs in this community, newest first, with status and progress. Needs scope read:ai.
  • hivelearn_list_assignment_submissionsList assignment submissions in the community, newest first, with student profile and lesson title.No findings

    Why it is in this group

    • The name "hivelearn_list_assignment_submissions" says "list": a word for reading.
    Description, as the server wrote it
    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.
  • hivelearn_list_certificatesList issued certificates, optionally scoped to one user or one course.No findings

    Why it is in this group

    • The name "hivelearn_list_certificates" says "list": a word for reading.
    Description, as the server wrote it
    List issued certificates, optionally scoped to one user or one course. Returns id, user, course, verification_code, status, issued_at.
  • hivelearn_list_course_lessonsList lessons of a course, optionally filtered to one module.No findings

    Why it is in this group

    • The name "hivelearn_list_course_lessons" says "list": a word for reading.
    Description, as the server wrote it
    List lessons of a course, optionally filtered to one module. Use hivelearn_get_course_structure for a nested tree.
  • hivelearn_list_course_modulesList modules (sections) of a course, ordered by sort_order.No findings

    Why it is in this group

    • The name "hivelearn_list_course_modules" says "list": a word for reading.
    Description, as the server wrote it
    List modules (sections) of a course, ordered by sort_order. Modules group lessons; a course has 1..N modules.
  • hivelearn_list_coursesList courses in the authenticated community.No findings

    Why it is in this group

    • The name "hivelearn_list_courses" says "list": a word for reading.
    Description, as the server wrote it
    List courses in the authenticated community. status=published returns only courses visible to learners. Returns id, title, visibility, is_published, thumbnail_url, timestamps.
  • hivelearn_list_discussion_repliesList replies in a discussion, oldest first.No findings

    Why it is in this group

    • The name "hivelearn_list_discussion_replies" says "list": a word for reading.
    Description, as the server wrote it
    List replies in a discussion, oldest first. Returns id, content, parent_reply_id, is_accepted_answer, author, likes_count.
  • hivelearn_list_discussionsList published discussions (forum threads), pinned first then newest.No findings

    Why it is in this group

    • The name "hivelearn_list_discussions" says "list": a word for reading.
    Description, as the server wrote it
    List published discussions (forum threads), pinned first then newest. Returns id, title, content, category, tags, reply/like counts, is_locked, author.
  • hivelearn_list_enrollmentsList course enrollments, optionally scoped to one course or one user.No findings

    Why it is in this group

    • The name "hivelearn_list_enrollments" says "list": a word for reading.
    Description, as the server wrote it
    List course enrollments, optionally scoped to one course or one user. Returns enrollment_id, user_id, course_id, status, progress %, enrolled_at, completed_at.
  • hivelearn_list_event_attendeesList an event's attendees with check-in status and basic profile.No findings

    Why it is in this group

    • The name "hivelearn_list_event_attendees" says "list": a word for reading.
    Description, as the server wrote it
    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.
  • hivelearn_list_event_waitlistList an event's waitlist in queue order (oldest first) with position and basic profile.No findings

    Why it is in this group

    • The name "hivelearn_list_event_waitlist" says "list": a word for reading.
    Description, as the server wrote it
    List an event's waitlist in queue order (oldest first) with position and basic profile. Requires scope read:events.
  • hivelearn_list_eventsList community events.No findings

    Why it is in this group

    • The name "hivelearn_list_events" says "list": a word for reading.
    Description, as the server wrote it
    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.
  • hivelearn_list_member_notesList private admin notes on a member, newest first.No findings

    Why it is in this group

    • The name "hivelearn_list_member_notes" says "list": a word for reading.
    Description, as the server wrote it
    List private admin notes on a member, newest first.
  • hivelearn_list_member_tag_assignmentsList the tags assigned to a member.No findings

    Why it is in this group

    • The name "hivelearn_list_member_tag_assignments" says "list": a word for reading.
    Description, as the server wrote it
    List the tags assigned to a member.
  • hivelearn_list_member_tagsList the community's member tags (id, name, color).No findings

    Why it is in this group

    • The name "hivelearn_list_member_tags" says "list": a word for reading.
    Description, as the server wrote it
    List the community's member tags (id, name, color).
  • hivelearn_list_membersList members of the authenticated community.No findings

    Why it is in this group

    • The name "hivelearn_list_members" says "list": a word for reading.
    Description, as the server wrote it
    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.
  • hivelearn_list_post_commentsList comments on a feed post, oldest first.No findings

    Why it is in this group

    • The name "hivelearn_list_post_comments" says "list": a word for reading.
    Description, as the server wrote it
    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.
  • hivelearn_list_postsList community feed posts, newest first.No findings

    Why it is in this group

    • The name "hivelearn_list_posts" says "list": a word for reading.
    Description, as the server wrote it
    List community feed posts, newest first. Use category to filter (e.g. "announcements"). Returns id, title, content, category, author, reply counts, timestamps.
  • hivelearn_list_question_bank_itemsList the questions in a bank, WITH the answer key (is_correct, pairs/items, explanation).No findings

    Why it is in this group

    • The name "hivelearn_list_question_bank_items" says "list": a word for reading.
    Description, as the server wrote it
    List the questions in a bank, WITH the answer key (is_correct, pairs/items, explanation). Authoring view for admins.
  • hivelearn_list_question_banksList question banks (reusable question pools that bank-draw quizzes sample from), newest first.No findings

    Why it is in this group

    • The name "hivelearn_list_question_banks" says "list": a word for reading.
    Description, as the server wrote it
    List question banks (reusable question pools that bank-draw quizzes sample from), newest first.
  • hivelearn_list_quiz_attemptsList attempts for one quiz: learner, score (0-100), points, passed, started_at and completed_at (null = in progress).No findings

    Why it is in this group

    • The name "hivelearn_list_quiz_attempts" says "list": a word for reading.
    Description, as the server wrote it
    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.
  • hivelearn_list_quiz_questionsList all questions for a quiz, ordered by sort_order.No findings

    Why it is in this group

    • The name "hivelearn_list_quiz_questions" says "list": a word for reading.
    Description, as the server wrote it
    List all questions for a quiz, ordered by sort_order. Each question carries its options and correct answer.
  • hivelearn_list_quizzesList quizzes, optionally scoped to a course or a specific lesson.No findings

    Why it is in this group

    • The name "hivelearn_list_quizzes" says "list": a word for reading.
    Description, as the server wrote it
    List quizzes, optionally scoped to a course or a specific lesson. Each quiz belongs to one lesson.
  • hivelearn_list_resource_foldersList resource-library folders in the authenticated community, ordered by position then name.No findings

    Why it is in this group

    • The name "hivelearn_list_resource_folders" says "list": a word for reading.
    Description, as the server wrote it
    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.
  • hivelearn_list_resourcesList published resources in the authenticated community, newest first.No findings

    Why it is in this group

    • The name "hivelearn_list_resources" says "list": a word for reading.
    Description, as the server wrote it
    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.
  • hivelearn_list_segment_membersList members matching a segment's rules, evaluated server-side the same way the admin CRM does.No findings

    Why it is in this group

    • The name "hivelearn_list_segment_members" says "list": a word for reading.
    Description, as the server wrote it
    List members matching a segment's rules, evaluated server-side the same way the admin CRM does.
  • hivelearn_list_segmentsList saved member segments with their filter rules.No findings

    Why it is in this group

    • The name "hivelearn_list_segments" says "list": a word for reading.
    Description, as the server wrote it
    List saved member segments with their filter rules.
  • hivelearn_list_track_coursesReturn the ordered curriculum of a track: its courses with sort_order, is_required, and unlock_after_course_id (prerequisite gating).No findings

    Why it is in this group

    • The name "hivelearn_list_track_courses" says "list": a word for reading.
    Description, as the server wrote it
    Return the ordered curriculum of a track: its courses with sort_order, is_required, and unlock_after_course_id (prerequisite gating).
  • hivelearn_list_tracksList published learning tracks (curated course sequences) in the community, newest first.No findings

    Why it is in this group

    • The name "hivelearn_list_tracks" says "list": a word for reading.
    Description, as the server wrote it
    List published learning tracks (curated course sequences) in the community, newest first. Returns id, title, description, difficulty_level, estimated_hours, flags.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.4.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http hivelearn https://mcp.hivelearn.app --header 'X-Hivelearn-Api-Key: <your-x-hivelearn-api-key>'

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__hivelearn__hivelearn_get_community_me",
      "mcp__hivelearn__hivelearn_list_members",
      "mcp__hivelearn__hivelearn_get_member",
      "mcp__hivelearn__hivelearn_list_posts",
      "mcp__hivelearn__hivelearn_get_post",
      "mcp__hivelearn__hivelearn_list_events",
      "mcp__hivelearn__hivelearn_get_event",
      "mcp__hivelearn__hivelearn_list_courses",
      "mcp__hivelearn__hivelearn_get_course",
      "mcp__hivelearn__hivelearn_list_course_modules",
      "mcp__hivelearn__hivelearn_list_course_lessons",
      "mcp__hivelearn__hivelearn_get_course_structure",
      "mcp__hivelearn__hivelearn_list_quizzes",
      "mcp__hivelearn__hivelearn_get_quiz",
      "mcp__hivelearn__hivelearn_list_quiz_questions",
      "mcp__hivelearn__hivelearn_list_enrollments",
      "mcp__hivelearn__hivelearn_get_enrollment",
      "mcp__hivelearn__hivelearn_get_course_progress",
      "mcp__hivelearn__hivelearn_get_course_gradebook",
      "mcp__hivelearn__hivelearn_list_certificates",
      "mcp__hivelearn__hivelearn_get_certificate",
      "mcp__hivelearn__hivelearn_list_resources",
      "mcp__hivelearn__hivelearn_get_resource",
      "mcp__hivelearn__hivelearn_get_leaderboard",
      "mcp__hivelearn__hivelearn_get_member_points",
      "mcp__hivelearn__hivelearn_list_tracks",
      "mcp__hivelearn__hivelearn_get_track",
      "mcp__hivelearn__hivelearn_list_track_courses",
      "mcp__hivelearn__hivelearn_get_track_progress",
      "mcp__hivelearn__hivelearn_get_ai_credits",
      "mcp__hivelearn__hivelearn_list_ai_jobs",
      "mcp__hivelearn__hivelearn_get_ai_job",
      "mcp__hivelearn__hivelearn_list_event_attendees",
      "mcp__hivelearn__hivelearn_list_event_waitlist",
      "mcp__hivelearn__hivelearn_list_post_comments",
      "mcp__hivelearn__hivelearn_list_discussions",
      "mcp__hivelearn__hivelearn_get_discussion",
      "mcp__hivelearn__hivelearn_list_discussion_replies",
      "mcp__hivelearn__hivelearn_get_analytics_summary",
      "mcp__hivelearn__hivelearn_get_course_analytics",
      "mcp__hivelearn__hivelearn_list_quiz_attempts",
      "mcp__hivelearn__hivelearn_list_assignment_submissions",
      "mcp__hivelearn__hivelearn_get_assignment_submission",
      "mcp__hivelearn__hivelearn_list_resource_folders",
      "mcp__hivelearn__hivelearn_get_resource_folder",
      "mcp__hivelearn__hivelearn_list_question_banks",
      "mcp__hivelearn__hivelearn_get_question_bank",
      "mcp__hivelearn__hivelearn_list_question_bank_items",
      "mcp__hivelearn__hivelearn_list_member_notes",
      "mcp__hivelearn__hivelearn_list_member_tags",
      "mcp__hivelearn__hivelearn_list_member_tag_assignments",
      "mcp__hivelearn__hivelearn_list_segments",
      "mcp__hivelearn__hivelearn_list_segment_members",
      "mcp__hivelearn__hivelearn_get_member_health"
    ],
    "ask": [
      "mcp__hivelearn__hivelearn_update_member",
      "mcp__hivelearn__hivelearn_create_post",
      "mcp__hivelearn__hivelearn_update_post",
      "mcp__hivelearn__hivelearn_create_event",
      "mcp__hivelearn__hivelearn_update_event",
      "mcp__hivelearn__hivelearn_create_course",
      "mcp__hivelearn__hivelearn_update_course",
      "mcp__hivelearn__hivelearn_create_module",
      "mcp__hivelearn__hivelearn_update_module",
      "mcp__hivelearn__hivelearn_create_lesson",
      "mcp__hivelearn__hivelearn_update_lesson",
      "mcp__hivelearn__hivelearn_create_course_outline",
      "mcp__hivelearn__hivelearn_update_lesson_content",
      "mcp__hivelearn__hivelearn_reorder_module_lessons",
      "mcp__hivelearn__hivelearn_publish_course",
      "mcp__hivelearn__hivelearn_create_quiz",
      "mcp__hivelearn__hivelearn_update_quiz",
      "mcp__hivelearn__hivelearn_create_quiz_question",
      "mcp__hivelearn__hivelearn_update_quiz_question",
      "mcp__hivelearn__hivelearn_create_enrollment",
      "mcp__hivelearn__hivelearn_create_certificate",
      "mcp__hivelearn__hivelearn_update_certificate",
      "mcp__hivelearn__hivelearn_verify_certificate",
      "mcp__hivelearn__hivelearn_create_resource",
      "mcp__hivelearn__hivelearn_update_resource",
      "mcp__hivelearn__hivelearn_create_track",
      "mcp__hivelearn__hivelearn_update_track",
      "mcp__hivelearn__hivelearn_add_track_course",
      "mcp__hivelearn__hivelearn_generate_ai_course",
      "mcp__hivelearn__hivelearn_create_post_comment",
      "mcp__hivelearn__hivelearn_create_discussion",
      "mcp__hivelearn__hivelearn_create_discussion_reply",
      "mcp__hivelearn__hivelearn_grade_assignment_submission",
      "mcp__hivelearn__hivelearn_create_resource_folder",
      "mcp__hivelearn__hivelearn_update_resource_folder",
      "mcp__hivelearn__hivelearn_create_question_bank",
      "mcp__hivelearn__hivelearn_update_question_bank",
      "mcp__hivelearn__hivelearn_create_question_bank_item",
      "mcp__hivelearn__hivelearn_update_question_bank_item",
      "mcp__hivelearn__hivelearn_create_member_note",
      "mcp__hivelearn__hivelearn_create_member_tag",
      "mcp__hivelearn__hivelearn_add_member_tag"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as hivelearn. Review it before you use it.