# HiveLearn MCP server

Read and author HiveLearn communities, courses, events, quizzes, and certificates.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-williamechevarria-hivelearn-mcp
- Repository: https://github.com/hivelearn/community-hub
- Website: https://hivelearn.app/mcp

## Install
- Command: `npx -y hivelearn-mcp`
- Endpoint: https://mcp.hivelearn.app
- Auth: Auth required by registry metadata

## Setup notes
- Remote header: X-Hivelearn-Api-Key (required; secret)
- Package: Npm hivelearn-mcp v0.1.1
- Environment variable: HIVELEARN_API_KEY (required; secret)
- The upstream registry signals required auth or secrets.
- Remote endpoint: https://mcp.hivelearn.app
- Header: X-Hivelearn-Api-Key

## Tools
- hivelearn_get_community_me - 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. Endpoint: https://mcp.hivelearn.app
- hivelearn_list_members - 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. Endpoint: https://mcp.hivelearn.app
- hivelearn_get_member - Fetch a single member by profile uuid. Returns the same fields as list_members for one row. Endpoint: https://mcp.hivelearn.app
- hivelearn_update_member - 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. Endpoint: https://mcp.hivelearn.app
- hivelearn_list_posts - List community feed posts, newest first. Use category to filter (e.g. "announcements"). Returns id, title, content, category, author, reply counts, timestamps. Endpoint: https://mcp.hivelearn.app
- hivelearn_get_post - Fetch one post with full content. Reply thread is NOT included — this is the post itself only. Endpoint: https://mcp.hivelearn.app
- hivelearn_create_post - 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". Endpoint: https://mcp.hivelearn.app
- hivelearn_update_post - 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. Endpoint: https://mcp.hivelearn.app
- hivelearn_list_events - 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. Endpoint: https://mcp.hivelearn.app
- hivelearn_get_event - Fetch one event by id with full description and RSVP metadata. Endpoint: https://mcp.hivelearn.app
- hivelearn_create_event - 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. Endpoint: https://mcp.hivelearn.app
- hivelearn_update_event - Edit an event. Set is_cancelled=true to cancel (preserves history). Set max_attendees=null to lift the cap. Endpoint: https://mcp.hivelearn.app
- hivelearn_list_courses - List courses in the authenticated community. status=published returns only courses visible to learners. Returns id, title, visibility, is_published, thumbnail_url, timestamps. Endpoint: https://mcp.hivelearn.app
- hivelearn_get_course - Fetch one course with full metadata (description, instructor, tags, flags). For the lesson tree use hivelearn_get_course_structure instead. Endpoint: https://mcp.hivelearn.app
- hivelearn_create_course - 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. Endpoint: https://mcp.hivelearn.app
- hivelearn_update_course - Edit course metadata. Use hivelearn_publish_course instead of setting is_published=true directly — publish runs validation. Endpoint: https://mcp.hivelearn.app
- hivelearn_list_course_modules - List modules (sections) of a course, ordered by sort_order. Modules group lessons; a course has 1..N modules. Endpoint: https://mcp.hivelearn.app
- hivelearn_create_module - Add a module to a course. sort_order is optional — server auto-appends if omitted. Endpoint: https://mcp.hivelearn.app
- hivelearn_update_module - Rename or reorder a module. To reorder lessons within a module use hivelearn_reorder_module_lessons. Endpoint: https://mcp.hivelearn.app
- hivelearn_list_course_lessons - List lessons of a course, optionally filtered to one module. Use hivelearn_get_course_structure for a nested tree. Endpoint: https://mcp.hivelearn.app
- hivelearn_create_lesson - 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. Endpoint: https://mcp.hivelearn.app
- hivelearn_update_lesson - Edit lesson metadata or move it between modules. To edit ONLY the content body use hivelearn_update_lesson_content (narrower scope, safer). Endpoint: https://mcp.hivelearn.app
- hivelearn_create_course_outline - 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. Endpoint: https://mcp.hivelearn.app
- hivelearn_update_lesson_content - 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. Endpoint: https://mcp.hivelearn.app
- hivelearn_reorder_module_lessons - 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. Endpoint: https://mcp.hivelearn.app
- hivelearn_publish_course - 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. Endpoint: https://mcp.hivelearn.app
- hivelearn_get_course_structure - 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. Endpoint: https://mcp.hivelearn.app
- hivelearn_list_quizzes - List quizzes, optionally scoped to a course or a specific lesson. Each quiz belongs to one lesson. Endpoint: https://mcp.hivelearn.app
- hivelearn_get_quiz - Fetch one quiz with metadata (passing_score, time_limit, max_attempts). Questions are NOT included — use hivelearn_list_quiz_questions. Endpoint: https://mcp.hivelearn.app
- hivelearn_create_quiz - Create a quiz attached to a lesson. passing_score is 0-100 (percent). Omit time_limit_seconds or max_attempts for unlimited. Endpoint: https://mcp.hivelearn.app
- hivelearn_update_quiz - Edit quiz settings. Cannot move a quiz to a different lesson — create a new one instead. Endpoint: https://mcp.hivelearn.app
- hivelearn_list_quiz_questions - List all questions for a quiz, ordered by sort_order. Each question carries its options and correct answer. Endpoint: https://mcp.hivelearn.app
- hivelearn_create_quiz_question - 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 (boolean). Endpoint: https://mcp.hivelearn.app
- hivelearn_update_quiz_question - Edit a question. Changing question_type will require resupplying options or correct_answer to match the new type. Endpoint: https://mcp.hivelearn.app
- hivelearn_list_enrollments - List course enrollments, optionally scoped to one course or one user. Returns enrollment_id, user_id, course_id, status, progress %, enrolled_at, completed_at. Endpoint: https://mcp.hivelearn.app
- hivelearn_get_enrollment - Fetch one enrollment with status and progress. Endpoint: https://mcp.hivelearn.app
- hivelearn_create_enrollment - Enroll a user in a course. Both user_id and course_id must belong to the authenticated community. Duplicate enrollments are rejected. Endpoint: https://mcp.hivelearn.app
- hivelearn_get_course_progress - Aggregate lesson-completion progress for a course across enrolled users. Returns per-user percent_complete, last_accessed_at, completed_lesson_count. Endpoint: https://mcp.hivelearn.app
- hivelearn_get_course_gradebook - Quiz-score gradebook for a course: per-user quiz attempts, scores, pass/fail. Use for analytics or grading dashboards. Endpoint: https://mcp.hivelearn.app
- hivelearn_list_certificates - List issued certificates, optionally scoped to one user or one course. Returns id, user, course, verification_code, status, issued_at. Endpoint: https://mcp.hivelearn.app
- hivelearn_get_certificate - Fetch one certificate by id. Includes verification_code and download URL. Endpoint: https://mcp.hivelearn.app
- hivelearn_create_certificate - 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. Endpoint: https://mcp.hivelearn.app
- hivelearn_update_certificate - Change a certificate status. Use "revoked" to invalidate (verify endpoint will reject). Endpoint: https://mcp.hivelearn.app
- hivelearn_verify_certificate - Public verification lookup by verification_code. Returns { valid, certificate } if found and active. Use this when a third party presents a certificate code. Endpoint: https://mcp.hivelearn.app
- hivelearn_list_resources - 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. Endpoint: https://mcp.hivelearn.app
- hivelearn_get_resource - Fetch one published resource by id, with joined author. 404 if unpublished or in another community. Endpoint: https://mcp.hivelearn.app
- hivelearn_create_resource - 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. Endpoint: https://mcp.hivelearn.app
- hivelearn_update_resource - Edit a resource. Only include fields you want to change. Set is_featured to surface it; set is_published=false to unlist. Endpoint: https://mcp.hivelearn.app
- hivelearn_get_leaderboard - 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. Endpoint: https://mcp.hivelearn.app
- hivelearn_get_member_points - 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. Endpoint: https://mcp.hivelearn.app
- hivelearn_list_tracks - List published learning tracks (curated course sequences) in the community, newest first. Returns id, title, description, difficulty_level, estimated_hours, flags. Endpoint: https://mcp.hivelearn.app
- hivelearn_get_track - Fetch one learning track by id with full metadata. For its ordered curriculum use hivelearn_list_track_courses. Endpoint: https://mcp.hivelearn.app
- 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). Endpoint: https://mcp.hivelearn.app
- hivelearn_get_track_progress - Per-member progress through a learning track: enrolled_at, started_at, completed_at, total_courses, completed counts. Use for cohort/track analytics. Endpoint: https://mcp.hivelearn.app
- hivelearn_create_track - 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. Endpoint: https://mcp.hivelearn.app
- hivelearn_update_track - Edit a learning track. Only include fields you want to change. Set is_published=true to make it live. Endpoint: https://mcp.hivelearn.app
- hivelearn_add_track_course - 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. Endpoint: https://mcp.hivelearn.app

## Resources
Not captured

## Prompts
Not captured

## Metadata
- Owner: io.github.williamechevarria
- Version: 0.2.0
- Runtime: Npm
- Transports: STDIO, HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Apr 21, 2026
- Source: https://registry.modelcontextprotocol.io
