Skip to content

learn

Learning management: courses, lessons, members, cohorts, programs, stages, milestones, and progress. learn is the canonical home for Memberslookup_member lives here.

Endpointhttps://learn.mcp.devfellowship.com/mcp
Tools44
Backing datalms / public schemas (courses, lessons, members, profiles, programs, progress).

Members

The canonical Members group — member CRUD, profiles, and lookup_member (name → public.members.id, the id other MCPs reference, e.g. work.placements.member_id).

ToolDescription
create_memberCreate a new community member.
delete_memberSoft delete a member by setting is_active to false.
get_memberGet a specific member by their ID.
list_membersList all members with optional filters. Returns members you have access to based on your permissions.
lookup_memberResolve a fellow’s name to their public.members.id (the id used as work.placements.member_id). Tries exact case-insensitive match first, then a fuzzy substring (ilike) match. Returns all candidates so the caller can disambiguate.
update_memberUpdate an existing community member.
get_profileGet a specific user profile by ID.
list_profilesList user profiles with optional filters.
update_profileUpdate your own profile. Only the authenticated user can update their profile.

Cohorts

ToolDescription
create_cohortCreate an LMS cohort (batch). Admin only — RLS rejects writes from non-global-admins. If slug is omitted it is derived from the name.
list_cohortsList LMS cohorts (batches).
update_cohortUpdate an LMS cohort. Admin only — RLS rejects writes from non-global-admins.

Courses

ToolDescription
create_courseCreate a new course. Admin only.
delete_courseDelete a course. Admin only. This will also delete all associated lessons.
get_courseGet a specific course by ID, including lesson count.
list_coursesList all courses with optional filters.
update_courseUpdate an existing course. Admin only.

Lessons

ToolDescription
create_lessonCreate a new lesson within a course. Admin only.
delete_lessonDelete a lesson. Admin only.
get_lessonGet a specific lesson by ID.
list_lessonsList lessons for a specific course.
update_lessonUpdate an existing lesson. Admin only.

Programs

ToolDescription
create_programCreate an LMS program. Admin only. A program is either a reusable TEMPLATE or a per-cohort INSTANCE.
delete_programDelete an LMS program. Admin only. CASCADE removes its stages, milestones, and stage_dependencies. Deleting an instance program detaches it from its cohort.
get_programRead ONE LMS program by id (or slug) with its full tree: stages (ordered) each with their milestones (ordered).
get_program_member_progressRead the lms.program_member_progress VIEW — computed per-(member, cohort) progress through the cohort’s program.
instantiate_programDeep-copy a TEMPLATE program tree (program → stages → milestones → stage_dependencies) into a new per-cohort INSTANCE program, and return the new instance program id. Admin only. Idempotent per cohort.
list_programsList LMS programs (curriculum trees rendered by the Gantt). Filter by kind and/or cohort_id.
update_programUpdate an LMS program. Admin only.

Program Stages

ToolDescription
create_stageCreate a stage (top-level Gantt node) under a program. Admin only. Stages inherit template-vs-instance from their program.
delete_stageDelete a stage. Admin only. CASCADE removes its milestones.
list_stagesList the stages (top-level Gantt nodes) of a program, ordered by position. Each stage includes its milestone count.
update_stageUpdate a stage. Admin only.

Program Milestones

ToolDescription
create_milestoneCreate a milestone under a stage. Admin only. points is the gamification weight (default 0).
delete_milestoneDelete a milestone. Admin only. Associated completion rows cascade.
list_milestonesList the milestones under a stage, ordered by position.
update_milestoneUpdate a milestone. Admin only.

Program Dependencies

ToolDescription
add_stage_dependencyAdd a sequence/dependency edge (predecessor → successor) within a program. node_kind must match the type of both endpoint ids (stage.id or milestone.id). Admin only. The successor is gated until the predecessor is done.
list_stage_dependenciesList the sequence/dependency edges (predecessor → successor) of a program. These drive the dependency Gantt.
remove_stage_dependencyRemove a dependency edge. Admin only. Provide either the edge id, OR the full tuple (program_id + node_kind + predecessor_id + successor_id).

Member Progress

ToolDescription
get_my_course_progressGet the authenticated user’s progress for a course.
get_my_lesson_progressGet the authenticated user’s progress for a lesson.
mark_lesson_completeMark a lesson as completed by the authenticated user.
mark_lesson_viewedMark a lesson as viewed by the authenticated user. Sets last_viewed_at to now, and first_viewed_at if not already set.