hivelearn avatar

HiveLearn

hivelearn/community-hub

Connects Claude to HiveLearn's community platform APIs, letting you read and create learning content without leaving your workflow. You get programmatic access to communities, courses, events, quizzes, and certificates, so you can draft curriculum structures, generate quiz questions, or pull event data directly through conversation. Runs over stdio locally or hits their remote endpoint at mcp.hivelearn.app via streamable HTTP. Reach for this if you're managing educational content on HiveLearn and want to skip the browser dashboard for routine authoring tasks or bulk operations across your learning materials.

tools
80
auth
Secret needed
transport
STDIO, HTTP
env var
1
last updated
Sep 21, 2026

Install

From registry metadata
$ npx add-mcp https://mcp.hivelearn.app --name hivelearn-mcp --header 'X-Hivelearn-Api-Key: ${X_HIVELEARN_API_KEY}'

Run in your terminal. add-mcp asks which agents to add it to, then asks for each value it needs. Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http hivelearn-mcp https://mcp.hivelearn.app --header 'X-Hivelearn-Api-Key: YOUR_X_HIVELEARN_API_KEY'

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 80 tools

Verified live against the running server on Nov 6, 2026.

hivelearn_get_community_meReturns 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.

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.

No parameters. Call it with no arguments.

hivelearn_list_membersList 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.3 params

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.

Parameters* required
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
rolestring
Restrict to a single roleone of owner · admin · moderator · member
hivelearn_get_memberFetch a single member by profile uuid. Returns the same fields as list_members for one row.1 params

Fetch a single member by profile uuid. Returns the same fields as list_members for one row.

Parameters* required
id*string
Profile uuid (matches the id from list_members)
hivelearn_update_memberChange 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.3 params

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.

Parameters* required
id*string
Profile uuid (matches the id from list_members)
is_bannedboolean
rolestring
one of member · moderator · admin
hivelearn_list_postsList community feed posts, newest first. Use category to filter (e.g. "announcements"). Returns id, title, content, category, author, reply counts, timestamps.3 params

List community feed posts, newest first. Use category to filter (e.g. "announcements"). Returns id, title, content, category, author, reply counts, timestamps.

Parameters* required
categorystring
Filter by category slug
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
hivelearn_get_postFetch one post with full content. Reply thread is NOT included — this is the post itself only.1 params

Fetch one post with full content. Reply thread is NOT included — this is the post itself only.

Parameters* required
id*string
hivelearn_create_postPublish 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".4 params

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".

Parameters* required
categorystring
contentstring
Markdown body (use when content_format=markdown)
content_formatstring
Defaults to markdownone of markdown · tiptap_json
content_jsonobject
Tiptap JSON doc (use when content_format=tiptap_json)
hivelearn_update_postEdit an existing post. Only include fields you want to change. Use is_pinned to pin/unpin a post from the top of the feed.6 params

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.

Parameters* required
categorystring
contentstring
content_formatstring
one of markdown · tiptap_json
content_jsonobject
id*string
is_pinnedboolean
hivelearn_list_eventsList 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.3 params

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.

Parameters* required
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
upcomingboolean
If true, only events with start_date in the future
hivelearn_get_eventFetch one event by id with full description and RSVP metadata.1 params

Fetch one event by id with full description and RSVP metadata.

Parameters* required
id*string
hivelearn_create_eventCreate 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.13 params

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.

Parameters* required
cover_image_urlstring
descriptionstring
description_formatstring
one of markdown · tiptap_json
description_jsonobject
end_date*string
ISO 8601 timestamp
event_type*string
one of virtual · in-person · hybrid
locationstring
max_attendeesinteger
meeting_urlstring
start_date*string
ISO 8601 timestamp
tagsarray
timezonestring
IANA tz, e.g. "America/New_York"
title*string
hivelearn_update_eventEdit an event. Set is_cancelled=true to cancel (preserves history). Set max_attendees=null to lift the cap.15 params

Edit an event. Set is_cancelled=true to cancel (preserves history). Set max_attendees=null to lift the cap.

Parameters* required
cover_image_urlstring
descriptionstring
description_formatstring
one of markdown · tiptap_json
description_jsonobject
end_datestring
event_typestring
one of virtual · in-person · hybrid
id*string
is_cancelledboolean
locationstring
max_attendeesvalue
meeting_urlstring
start_datestring
tagsarray
timezonestring
titlestring
hivelearn_list_coursesList courses in the authenticated community. status=published returns only courses visible to learners. Returns id, title, visibility, is_published, thumbnail_url, timestamps.3 params

List courses in the authenticated community. status=published returns only courses visible to learners. Returns id, title, visibility, is_published, thumbnail_url, timestamps.

Parameters* required
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
statusstring
Defaults to "all"one of draft · published · all
hivelearn_get_courseFetch one course with full metadata (description, instructor, tags, flags). For the lesson tree use hivelearn_get_course_structure instead.1 params

Fetch one course with full metadata (description, instructor, tags, flags). For the lesson tree use hivelearn_get_course_structure instead.

Parameters* required
id*string
hivelearn_create_courseCreate 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.10 params

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.

Parameters* required
descriptionstring
description_formatstring
one of markdown · tiptap_json
description_jsonobject
difficultyvalue
instructor_avatar_urlvalue
instructor_namevalue
tagsarray
thumbnail_urlvalue
title*string
visibilitystring
Defaults to all_membersone of all_members · admin_only
hivelearn_update_courseEdit course metadata. Use hivelearn_publish_course instead of setting is_published=true directly — publish runs validation.14 params

Edit course metadata. Use hivelearn_publish_course instead of setting is_published=true directly — publish runs validation.

Parameters* required
descriptionvalue
description_formatstring
one of markdown · tiptap_json
description_jsonobject
difficultyvalue
id*string
instructor_avatar_urlvalue
instructor_namevalue
is_featuredboolean
is_pinnedboolean
is_publishedboolean
tagsarray
thumbnail_urlvalue
titlestring
visibilitystring
one of all_members · admin_only
hivelearn_list_course_modulesList modules (sections) of a course, ordered by sort_order. Modules group lessons; a course has 1..N modules.1 params

List modules (sections) of a course, ordered by sort_order. Modules group lessons; a course has 1..N modules.

Parameters* required
course_id*string
hivelearn_create_moduleAdd a module to a course. sort_order is optional — server auto-appends if omitted.3 params

Add a module to a course. sort_order is optional — server auto-appends if omitted.

Parameters* required
course_id*string
sort_orderinteger
title*string
hivelearn_update_moduleRename or reorder a module. To reorder lessons within a module use hivelearn_reorder_module_lessons.3 params

Rename or reorder a module. To reorder lessons within a module use hivelearn_reorder_module_lessons.

Parameters* required
id*string
sort_orderinteger
titlestring
hivelearn_list_course_lessonsList lessons of a course, optionally filtered to one module. Use hivelearn_get_course_structure for a nested tree.2 params

List lessons of a course, optionally filtered to one module. Use hivelearn_get_course_structure for a nested tree.

Parameters* required
course_id*string
module_idstring
hivelearn_create_lessonAdd 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.13 params

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.

Parameters* required
content_formatstring
one of markdown · tiptap_json
content_jsonobject
content_typestring
one of youtube · google_drive · video · image · document · pitch
content_url*string
course_id*string
descriptionvalue
duration_secondsinteger
is_previewboolean
If true, visible to non-enrolled users
is_publishedboolean
module_idvalue
sort_orderinteger
thumbnail_urlvalue
title*string
hivelearn_update_lessonEdit lesson metadata or move it between modules. To edit ONLY the content body use hivelearn_update_lesson_content (narrower scope, safer).13 params

Edit lesson metadata or move it between modules. To edit ONLY the content body use hivelearn_update_lesson_content (narrower scope, safer).

Parameters* required
content_formatstring
one of markdown · tiptap_json
content_jsonobject
content_typestring
one of youtube · google_drive · video · image · document · pitch
content_urlstring
descriptionvalue
duration_secondsinteger
id*string
is_previewboolean
is_publishedboolean
module_idvalue
sort_orderinteger
thumbnail_urlvalue
titlestring
hivelearn_create_course_outlineScaffold 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 auth...11 params

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 auth...

Parameters* required
descriptionstring
description_formatstring
one of markdown · tiptap_json
description_jsonobject
difficultyvalue
instructor_avatar_urlvalue
instructor_namevalue
modules*array
Ordered list of modules; each with optional lesson placeholders
tagsarray
thumbnail_urlvalue
title*string
visibilitystring
one of all_members · admin_only
hivelearn_update_lesson_contentReplace 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.8 params

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.

Parameters* required
content_formatstring
one of markdown · tiptap_json
content_jsonobject
content_typestring
one of youtube · google_drive · video · image · document · pitch
content_urlstring
descriptionvalue
duration_secondsinteger
id*string
thumbnail_urlvalue
hivelearn_reorder_module_lessonsSet 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.2 params

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.

Parameters* required
lesson_ids*array
module_id*string
hivelearn_publish_coursePublish 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.1 params

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.

Parameters* required
id*string
hivelearn_get_course_structureReturn 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.1 params

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.

Parameters* required
id*string
hivelearn_list_quizzesList quizzes, optionally scoped to a course or a specific lesson. Each quiz belongs to one lesson.4 params

List quizzes, optionally scoped to a course or a specific lesson. Each quiz belongs to one lesson.

Parameters* required
course_idstring
lesson_idstring
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
hivelearn_get_quizFetch one quiz with metadata (passing_score, time_limit, max_attempts). Questions are NOT included — use hivelearn_list_quiz_questions.1 params

Fetch one quiz with metadata (passing_score, time_limit, max_attempts). Questions are NOT included — use hivelearn_list_quiz_questions.

Parameters* required
id*string
hivelearn_create_quizCreate a quiz attached to a lesson. passing_score is 0-100 (percent). Omit time_limit_seconds or max_attempts for unlimited.7 params

Create a quiz attached to a lesson. passing_score is 0-100 (percent). Omit time_limit_seconds or max_attempts for unlimited.

Parameters* required
descriptionvalue
lesson_id*string
max_attemptsvalue
passing_scoreinteger
shuffle_questionsboolean
time_limit_secondsvalue
title*string
hivelearn_update_quizEdit quiz settings. Cannot move a quiz to a different lesson — create a new one instead.7 params

Edit quiz settings. Cannot move a quiz to a different lesson — create a new one instead.

Parameters* required
descriptionvalue
id*string
max_attemptsvalue
passing_scoreinteger
shuffle_questionsboolean
time_limit_secondsvalue
titlestring
hivelearn_list_quiz_questionsList all questions for a quiz, ordered by sort_order. Each question carries its options and correct answer.1 params

List all questions for a quiz, ordered by sort_order. Each question carries its options and correct answer.

Parameters* required
quiz_id*string
hivelearn_create_quiz_questionAdd 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 →...11 params

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 →...

Parameters* required
accepted_answersarray
fill_in_blank only; matched case-insensitively
correct_answerboolean
true_false only
explanationvalue
itemsarray
ordering only; correct order is position 1..n, or array order if positions are omitted
optionsarray
multiple_choice (exactly one is_correct:true) or multi_select (one or more). 2-12 entries.
pairsarray
matching only; at least 2 pairs
pointsinteger
Defaults to 1
question_text*string
question_type*string
one of multiple_choice · true_false · fill_in_blank · multi_select · matching · ordering
quiz_id*string
sort_orderinteger
hivelearn_update_quiz_questionEdit 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.11 params

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.

Parameters* required
accepted_answersarray
fill_in_blank only; matched case-insensitively
correct_answerboolean
true_false only
explanationvalue
id*string
itemsarray
ordering only; correct order is position 1..n, or array order if positions are omitted
optionsarray
multiple_choice (exactly one is_correct:true) or multi_select (one or more). 2-12 entries.
pairsarray
matching only; at least 2 pairs
pointsinteger
question_textstring
question_typestring
one of multiple_choice · true_false · fill_in_blank · multi_select · matching · ordering
sort_orderinteger
hivelearn_list_enrollmentsList course enrollments, optionally scoped to one course or one user. Returns enrollment_id, user_id, course_id, status, progress %, enrolled_at, completed_at.4 params

List course enrollments, optionally scoped to one course or one user. Returns enrollment_id, user_id, course_id, status, progress %, enrolled_at, completed_at.

Parameters* required
course_idstring
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
user_idstring
hivelearn_get_enrollmentFetch one enrollment with status and progress.1 params

Fetch one enrollment with status and progress.

Parameters* required
id*string
hivelearn_create_enrollmentEnroll a user in a course. Both user_id and course_id must belong to the authenticated community. Duplicate enrollments are rejected.2 params

Enroll a user in a course. Both user_id and course_id must belong to the authenticated community. Duplicate enrollments are rejected.

Parameters* required
course_id*string
user_id*string
hivelearn_get_course_progressAggregate lesson-completion progress for a course across enrolled users. Returns per-user percent_complete, last_accessed_at, completed_lesson_count.4 params

Aggregate lesson-completion progress for a course across enrolled users. Returns per-user percent_complete, last_accessed_at, completed_lesson_count.

Parameters* required
course_id*string
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
user_idstring
Scope to one user
hivelearn_get_course_gradebookQuiz-score gradebook for a course: per-user quiz attempts, scores, pass/fail. Use for analytics or grading dashboards.4 params

Quiz-score gradebook for a course: per-user quiz attempts, scores, pass/fail. Use for analytics or grading dashboards.

Parameters* required
course_id*string
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
user_idstring
hivelearn_list_certificatesList issued certificates, optionally scoped to one user or one course. Returns id, user, course, verification_code, status, issued_at.4 params

List issued certificates, optionally scoped to one user or one course. Returns id, user, course, verification_code, status, issued_at.

Parameters* required
course_idstring
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
user_idstring
hivelearn_get_certificateFetch one certificate by id. Includes verification_code and download URL.1 params

Fetch one certificate by id. Includes verification_code and download URL.

Parameters* required
id*string
hivelearn_create_certificateIssue 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.6 params

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.

Parameters* required
completion_datestring
ISO timestamp; defaults to now
course_id*string
expires_atvalue
ISO timestamp; omit or null for no expiry
final_scoreinteger
instructor_namestring
user_id*string
hivelearn_update_certificateChange a certificate status. Use "revoked" to invalidate (verify endpoint will reject).2 params

Change a certificate status. Use "revoked" to invalidate (verify endpoint will reject).

Parameters* required
id*string
status*string
one of active · revoked · expired
hivelearn_verify_certificatePublic verification lookup by verification_code. Returns { valid, certificate } if found and active. Use this when a third party presents a certificate code.1 params

Public verification lookup by verification_code. Returns { valid, certificate } if found and active. Use this when a third party presents a certificate code.

Parameters* required
code*string
The verification_code printed on the certificate
hivelearn_list_resourcesList 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 ex...5 params

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 ex...

Parameters* required
access_levelstring
one of public · members · premium
folder_idstring
Filter to a single resource folder
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
resource_typestring
one of guide · toolkit · course · checklist · template · other
hivelearn_get_resourceFetch one published resource by id, with joined author. 404 if unpublished or in another community.1 params

Fetch one published resource by id, with joined author. 404 if unpublished or in another community.

Parameters* required
id*string
hivelearn_create_resourceAdd 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.12 params

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.

Parameters* required
access_levelstring
Defaults to publicone of public · members · premium
cover_image_urlstring
descriptionstring
file_urlstring
For already-uploaded file resources
folder_idstring
is_premiumboolean
is_publishedboolean
Defaults to true
pricenumber
One-time price (> 0); omit for free
resource_typestring
Defaults to "guide"one of guide · toolkit · course · checklist · template · other
resource_urlstring
For external-link resources
tagsarray
title*string
hivelearn_update_resourceEdit a resource. Only include fields you want to change. Set is_featured to surface it; set is_published=false to unlist.14 params

Edit a resource. Only include fields you want to change. Set is_featured to surface it; set is_published=false to unlist.

Parameters* required
access_levelstring
one of public · members · premium
cover_image_urlvalue
descriptionstring
file_urlstring
folder_idvalue
id*string
is_featuredboolean
is_premiumboolean
is_publishedboolean
pricevalue
resource_typestring
one of guide · toolkit · course · checklist · template · other
resource_urlstring
tagsarray
titlestring
hivelearn_get_leaderboardRanked 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.3 params

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.

Parameters* required
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
periodstring
Defaults to all_timeone of all_time · 30_day · 7_day
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. 404 if the member has no points record here.1 params

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.

Parameters* required
user_id*string
The auth user id (community_members.user_id)
hivelearn_list_tracksList published learning tracks (curated course sequences) in the community, newest first. Returns id, title, description, difficulty_level, estimated_hours, flags.2 params

List published learning tracks (curated course sequences) in the community, newest first. Returns id, title, description, difficulty_level, estimated_hours, flags.

Parameters* required
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
hivelearn_get_trackFetch one learning track by id with full metadata. For its ordered curriculum use hivelearn_list_track_courses.1 params

Fetch one learning track by id with full metadata. For its ordered curriculum use hivelearn_list_track_courses.

Parameters* required
id*string
hivelearn_list_track_coursesReturn the ordered curriculum of a track: its courses with sort_order, is_required, and unlock_after_course_id (prerequisite gating).1 params

Return the ordered curriculum of a track: its courses with sort_order, is_required, and unlock_after_course_id (prerequisite gating).

Parameters* required
track_id*string
hivelearn_get_track_progressPer-member progress through a learning track: enrolled_at, started_at, completed_at, total_courses, completed counts. Use for cohort/track analytics.3 params

Per-member progress through a learning track: enrolled_at, started_at, completed_at, total_courses, completed counts. Use for cohort/track analytics.

Parameters* required
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
track_id*string
hivelearn_create_trackCreate 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.7 params

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.

Parameters* required
descriptionstring
difficulty_levelstring
one of beginner · intermediate · advanced
estimated_hoursinteger
is_featuredboolean
is_publishedboolean
Defaults to false
thumbnail_urlstring
title*string
hivelearn_update_trackEdit a learning track. Only include fields you want to change. Set is_published=true to make it live.8 params

Edit a learning track. Only include fields you want to change. Set is_published=true to make it live.

Parameters* required
descriptionstring
difficulty_levelstring
one of beginner · intermediate · advanced
estimated_hoursvalue
id*string
is_featuredboolean
is_publishedboolean
thumbnail_urlvalue
titlestring
hivelearn_add_track_courseAdd 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.5 params

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.

Parameters* required
course_id*string
is_requiredboolean
Defaults to true
sort_order*integer
Position within the track
track_id*string
unlock_after_course_idvalue
Prerequisite course id, or null for no gate
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 enabled for this community. Check this before generating. Needs scope read:ai.

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.

No parameters. Call it with no arguments.

hivelearn_list_ai_jobsList the key creator's AI course generation jobs in this community, newest first, with status and progress. Needs scope read:ai.2 params

List the key creator's AI course generation jobs in this community, newest first, with status and progress. Needs scope read:ai.

Parameters* required
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
hivelearn_get_ai_jobStatus 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...1 params

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...

Parameters* required
job_id*string
hivelearn_generate_ai_courseGenerate 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. Requi...12 params

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. Requi...

Parameters* required
brand_intensityinteger
content_depthstring
one of auto · concise · standard · deep
context_urlstring
Optional supporting document on the HiveLearn media host
include_intro_videoboolean
include_quizzesboolean
include_recap_videoboolean
Opt-in second avatar clip, +1 credit
quiz_questions_per_chapterinteger
source_filenamestring
Required for every type except video_url
source_type*string
one of document · audio · video · video_url
source_url*string
Video link for video_url; otherwise an https URL on the HiveLearn media host
style_presetstring
Thumbnail style preset key; unknown values are ignored
video_modestring
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)one of none · intro_only · hybrid_chapters
hivelearn_list_event_attendeesList 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.6 params

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.

Parameters* required
event_id*string
Event UUID
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
payment_statusstring
Filter tickets (source=ticket)one of pending · succeeded · failed · refunded · partially_refunded
rsvp_statusstring
Filter RSVPs (source=rsvp)one of going · maybe · not_going
sourcestring
'rsvp' (default) or 'ticket'one of rsvp · ticket
hivelearn_list_event_waitlistList an event's waitlist in queue order (oldest first) with position and basic profile. Requires scope read:events.3 params

List an event's waitlist in queue order (oldest first) with position and basic profile. Requires scope read:events.

Parameters* required
event_id*string
Event UUID
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
hivelearn_list_post_commentsList 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.3 params

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.

Parameters* required
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
post_id*string
Post uuid (from list_posts)
hivelearn_create_post_commentComment 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.5 params

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.

Parameters* required
contentstring
Plain-text/markdown body. Required unless content_json is given.
content_formatstring
Defaults to 'tiptap_json' with content_json, else 'markdown'one of markdown · tiptap_json
content_jsonvalue
Tiptap JSON body (alternative to content)
parent_comment_idstring
Comment uuid on the same post to reply to
post_id*string
Post uuid (from list_posts)
hivelearn_list_discussionsList published discussions (forum threads), pinned first then newest. Returns id, title, content, category, tags, reply/like counts, is_locked, author.3 params

List published discussions (forum threads), pinned first then newest. Returns id, title, content, category, tags, reply/like counts, is_locked, author.

Parameters* required
categorystring
Filter by exact category
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
hivelearn_get_discussionFetch one discussion by uuid, with author. Use list_discussion_replies for its replies.1 params

Fetch one discussion by uuid, with author. Use list_discussion_replies for its replies.

Parameters* required
id*string
Discussion uuid (from list_discussions)
hivelearn_create_discussionStart 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.6 params

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.

Parameters* required
categorystring
Category label, default "General"
contentstring
Plain-text/markdown body. Required unless content_json is given.
content_formatstring
Defaults to 'tiptap_json' with content_json, else 'markdown'one of markdown · tiptap_json
content_jsonvalue
Tiptap JSON body (alternative to content)
tagsarray
Tag list
title*string
Discussion title
hivelearn_list_discussion_repliesList replies in a discussion, oldest first. Returns id, content, parent_reply_id, is_accepted_answer, author, likes_count.3 params

List replies in a discussion, oldest first. Returns id, content, parent_reply_id, is_accepted_answer, author, likes_count.

Parameters* required
id*string
Discussion uuid
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
hivelearn_create_discussion_replyReply 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.5 params

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.

Parameters* required
contentstring
Plain-text/markdown body. Required unless content_json is given.
content_formatstring
Defaults to 'tiptap_json' with content_json, else 'markdown'one of markdown · tiptap_json
content_jsonvalue
Tiptap JSON body (alternative to content)
id*string
Discussion uuid
parent_reply_idstring
Reply uuid in the same discussion to nest under
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, and events created/held with RSVPs and check-ins. Definitions match the admin dashboard. Requires...1 params

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...

Parameters* required
daysinteger
Trailing window in days (1-365), default 30
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. Paginated. Requires read:analytics.3 params

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.

Parameters* required
daysinteger
Trailing window in days (1-365), default 30
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
hivelearn_list_quiz_attemptsList 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.4 params

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.

Parameters* required
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
quiz_id*string
Quiz uuid
user_idstring
Only this learner
hivelearn_list_assignment_submissionsList assignment submissions in the community, newest first, with student profile and lesson title. Filter by course_id, lesson_id or status. Requires read:courses.5 params

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.

Parameters* required
course_idstring
lesson_idstring
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
statusstring
one of submitted · reviewed · approved · revision_requested
hivelearn_get_assignment_submissionFetch one assignment submission: text/url, status, instructor feedback and reviewer. Requires read:courses.1 params

Fetch one assignment submission: text/url, status, instructor feedback and reviewer. Requires read:courses.

Parameters* required
id*string
Submission uuid
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. This changes a member's record and the student will see it. revision_requested requires feedback. Requires w...3 params

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 w...

Parameters* required
feedbackstring
Feedback shown to the student
id*string
Submission uuid
status*string
one of submitted · reviewed · approved · revision_requested
hivelearn_list_resource_foldersList 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.3 params

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.

Parameters* required
limitinteger
Page size, default 20
offsetinteger
Rows to skip, default 0
parent_folder_idstring
Folder id, or "root" for top-level folders
hivelearn_get_resource_folderFetch one resource folder by id, with its resource_count. 404 if it belongs to another community.1 params

Fetch one resource folder by id, with its resource_count. 404 if it belongs to another community.

Parameters* required
id*string
hivelearn_create_resource_folderCreate 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.7 params

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.

Parameters* required
colorstring
#RRGGBB hex color
descriptionstring
iconstring
Icon name, defaults to "folder"
name*string
parent_folder_idvalue
Parent folder; omit/null for top level
positioninteger
Sort order among siblings
pricevalue
hivelearn_update_resource_folderUpdate 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.8 params

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.

Parameters* required
colorstring
#RRGGBB hex color
descriptionvalue
iconstring
id*string
namestring
parent_folder_idvalue
positioninteger
pricevalue

Sponsors

Configuration

HIVELEARN_API_KEY*secret

Your HiveLearn API key (hl_live_...). Create one at Admin → API Keys in your HiveLearn community.

Readme

Details

Repository
github.com/hivelearn/community-hub
Website
hivelearn.app/mcp
Package
hivelearn-mcp
Transport
STDIO, HTTP
Auth
Required
Registry
MCP registry, active
Tools verified
Nov 6, 2026