HiveLearn
io.github.williamechevarria/hivelearn-mcpRead and author HiveLearn courses, events, quizzes, certificates, resources, leaderboards, tracks.
Tools · 57
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.
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.
Fetch a single member by profile uuid. Returns the same fields as list_members for one row.
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.
List community feed posts, newest first. Use category to filter (e.g. "announcements"). Returns id, title, content, category, author, reply counts, timestamps.
Fetch one post with full content. Reply thread is NOT included — this is the post itself only.
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 "gener…
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.
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.
Fetch one event by id with full description and RSVP metadata.
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.
Edit an event. Set is_cancelled=true to cancel (preserves history). Set max_attendees=null to lift the cap.
List courses in the authenticated community. status=published returns only courses visible to learners. Returns id, title, visibility, is_published, thumbnail_url, timestamps.
Fetch one course with full metadata (description, instructor, tags, flags). For the lesson tree use hivelearn_get_course_structure instead.
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.
Edit course metadata. Use hivelearn_publish_course instead of setting is_published=true directly — publish runs validation.
List modules (sections) of a course, ordered by sort_order. Modules group lessons; a course has 1..N modules.
Add a module to a course. sort_order is optional — server auto-appends if omitted.
Rename or reorder a module. To reorder lessons within a module use hivelearn_reorder_module_lessons.
List lessons of a course, optionally filtered to one module. Use hivelearn_get_course_structure for a nested tree.
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_cours…
Edit lesson metadata or move it between modules. To edit ONLY the content body use hivelearn_update_lesson_content (narrower scope, safer).
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_conte…
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 mo…
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.
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.
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.
List quizzes, optionally scoped to a course or a specific lesson. Each quiz belongs to one lesson.
Fetch one quiz with metadata (passing_score, time_limit, max_attempts). Questions are NOT included — use hivelearn_list_quiz_questions.
Create a quiz attached to a lesson. passing_score is 0-100 (percent). Omit time_limit_seconds or max_attempts for unlimited.
Edit quiz settings. Cannot move a quiz to a different lesson — create a new one instead.
List all questions for a quiz, ordered by sort_order. Each question carries its options and correct answer.
Add a question to a quiz. For multiple_choice: pass options as an array of { text, is_correct } objects — at least one must be is_correct:true. For true_false: omit options and set correct_answer (boo…
Edit a question. Changing question_type will require resupplying options or correct_answer to match the new type.
List course enrollments, optionally scoped to one course or one user. Returns enrollment_id, user_id, course_id, status, progress %, enrolled_at, completed_at.
Fetch one enrollment with status and progress.
Enroll a user in a course. Both user_id and course_id must belong to the authenticated community. Duplicate enrollments are rejected.
Aggregate lesson-completion progress for a course across enrolled users. Returns per-user percent_complete, last_accessed_at, completed_lesson_count.
Quiz-score gradebook for a course: per-user quiz attempts, scores, pass/fail. Use for analytics or grading dashboards.
List issued certificates, optionally scoped to one user or one course. Returns id, user, course, verification_code, status, issued_at.
Fetch one certificate by id. Includes verification_code and download URL.
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.
Change a certificate status. Use "revoked" to invalidate (verify endpoint will reject).
Public verification lookup by verification_code. Returns { valid, certificate } if found and active. Use this when a third party presents a certificate code.
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, count…
Fetch one published resource by id, with joined author. 404 if unpublished or in another community.
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_lev…
Edit a resource. Only include fields you want to change. Set is_featured to surface it; set is_published=false to unlist.
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.
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 he…
List published learning tracks (curated course sequences) in the community, newest first. Returns id, title, description, difficulty_level, estimated_hours, flags.
Fetch one learning track by id with full metadata. For its ordered curriculum use hivelearn_list_track_courses.
Return the ordered curriculum of a track: its courses with sort_order, is_required, and unlock_after_course_id (prerequisite gating).
Per-member progress through a learning track: enrolled_at, started_at, completed_at, total_courses, completed counts. Use for cohort/track analytics.
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.
Edit a learning track. Only include fields you want to change. Set is_published=true to make it live.
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_re…
Similar MCP servers embedding-nearest
How to use
Add to your Claude Desktop / Cursor / Cline MCP config:
{
"mcpServers": {
"hivelearn": {
"url": "https://mcp.hivelearn.app/mcp",
"transport": "http"
}
}
}