Learning management: courses, lessons, members, cohorts, programs, stages, milestones, and progress. learn is the canonical home for Members — lookup_member lives here.
| |
|---|
| Endpoint | https://learn.mcp.devfellowship.com/mcp |
| Tools | 44 |
| Backing data | lms / 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).
| Tool | Description |
|---|
create_member | Create a new community member. |
delete_member | Soft delete a member by setting is_active to false. |
get_member | Get a specific member by their ID. |
list_members | List all members with optional filters. Returns members you have access to based on your permissions. |
lookup_member | Resolve 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_member | Update an existing community member. |
get_profile | Get a specific user profile by ID. |
list_profiles | List user profiles with optional filters. |
update_profile | Update your own profile. Only the authenticated user can update their profile. |
Cohorts
| Tool | Description |
|---|
create_cohort | Create an LMS cohort (batch). Admin only — RLS rejects writes from non-global-admins. If slug is omitted it is derived from the name. |
list_cohorts | List LMS cohorts (batches). |
update_cohort | Update an LMS cohort. Admin only — RLS rejects writes from non-global-admins. |
Courses
| Tool | Description |
|---|
create_course | Create a new course. Admin only. |
delete_course | Delete a course. Admin only. This will also delete all associated lessons. |
get_course | Get a specific course by ID, including lesson count. |
list_courses | List all courses with optional filters. |
update_course | Update an existing course. Admin only. |
Lessons
| Tool | Description |
|---|
create_lesson | Create a new lesson within a course. Admin only. |
delete_lesson | Delete a lesson. Admin only. |
get_lesson | Get a specific lesson by ID. |
list_lessons | List lessons for a specific course. |
update_lesson | Update an existing lesson. Admin only. |
Programs
| Tool | Description |
|---|
create_program | Create an LMS program. Admin only. A program is either a reusable TEMPLATE or a per-cohort INSTANCE. |
delete_program | Delete an LMS program. Admin only. CASCADE removes its stages, milestones, and stage_dependencies. Deleting an instance program detaches it from its cohort. |
get_program | Read ONE LMS program by id (or slug) with its full tree: stages (ordered) each with their milestones (ordered). |
get_program_member_progress | Read the lms.program_member_progress VIEW — computed per-(member, cohort) progress through the cohort’s program. |
instantiate_program | Deep-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_programs | List LMS programs (curriculum trees rendered by the Gantt). Filter by kind and/or cohort_id. |
update_program | Update an LMS program. Admin only. |
Program Stages
| Tool | Description |
|---|
create_stage | Create a stage (top-level Gantt node) under a program. Admin only. Stages inherit template-vs-instance from their program. |
delete_stage | Delete a stage. Admin only. CASCADE removes its milestones. |
list_stages | List the stages (top-level Gantt nodes) of a program, ordered by position. Each stage includes its milestone count. |
update_stage | Update a stage. Admin only. |
Program Milestones
| Tool | Description |
|---|
create_milestone | Create a milestone under a stage. Admin only. points is the gamification weight (default 0). |
delete_milestone | Delete a milestone. Admin only. Associated completion rows cascade. |
list_milestones | List the milestones under a stage, ordered by position. |
update_milestone | Update a milestone. Admin only. |
Program Dependencies
| Tool | Description |
|---|
add_stage_dependency | Add 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_dependencies | List the sequence/dependency edges (predecessor → successor) of a program. These drive the dependency Gantt. |
remove_stage_dependency | Remove a dependency edge. Admin only. Provide either the edge id, OR the full tuple (program_id + node_kind + predecessor_id + successor_id). |
Member Progress
| Tool | Description |
|---|
get_my_course_progress | Get the authenticated user’s progress for a course. |
get_my_lesson_progress | Get the authenticated user’s progress for a lesson. |
mark_lesson_complete | Mark a lesson as completed by the authenticated user. |
mark_lesson_viewed | Mark a lesson as viewed by the authenticated user. Sets last_viewed_at to now, and first_viewed_at if not already set. |