---
title: "Tool catalog"
description: "Every Open edX MCP tool, the scope it requires, the process it runs in, and the native openedx-platform API behind it."
source: "https://docs.blend-ed.com/openedx-mcp/tools/"
---

# Tool catalog

Tools group into read, people & access, certificates, reports, retirement, and CMS authoring. Each runs in the LMS or the CMS process and maps to a native `openedx-platform` API. Scopes are described in [Security & scopes](/openedx-mcp/security/).

## Read (LMS)

| Tool | Scope | Native API |
| --- | --- | --- |
| `whoami` | read | request.user |
| `analytics_overview` | read | `CourseOverview` + `enrollment_counts` |
| `list_courses` / `course_detail` | read | `course_overviews` |
| `list_users` / `user_roles` / `course_team` | read | `auth.User`, `CourseAccessRole`, course roles |
| `user_grade` | read | `grades.api.CourseGradeFactory` |
| `list_course_certificates` / `user_certificates` | read | `GeneratedCertificate` |
| `report_tasks` / `report_downloads` | read | `InstructorTask`, `ReportStore` |
| `retirement_status` | read | `UserRetirementStatus` |

## People & access (LMS)

| Tool | Scope | Native API |
| --- | --- | --- |
| `enroll` / `unenroll` | write:enrollment | `enrollments.api` |
| `bulk_enroll` | write:enrollment | `instructor.enrollment.enroll_email` |
| `create_user` | write:users | `student.helpers.do_create_account` |
| `reset_student_attempts` | write:users | `instructor.enrollment.reset_student_attempts` |
| `set_role` | write:roles / grant:admin | `student.roles`, `GlobalStaff` |
| `instructor_access` | write:roles | `instructor.access.allow/revoke_access` |
| `deactivate_user` | write:users + destructive | `User.is_active` |
| `request_retirement` | write:users + destructive | retirement pipeline utils |

## Certificates & reports (LMS)

| Tool | Scope | Native API |
| --- | --- | --- |
| `generate_certificate` / `regenerate_certificates` | write:certificates | `certificates.api`, `instructor_task.api` |
| `invalidate_certificate` | write:certificates + destructive | `certificates.api.invalidate_certificate` |
| `submit_report` | write:reports | `instructor_task.api.submit_*` |

## Course authoring (CMS)
Content hierarchy: **course → chapter → sequential → vertical → component**. Everything created lands on the draft branch; publish to expose it to learners.

| Tool | Scope | Native API |
| --- | --- | --- |
| `read_course_outline` | read | `modulestore` + `create_xblock_info` |
| `create_block` / `create_block_tree` / `update_block` | write:courses | `xblock_storage_handlers` |
| `publish_block` | write:courses | `modulestore().publish` |
| `delete_block` | write:courses + destructive | `view_handlers._delete_item` |
| `update_course_settings` | write:courses | `CourseDetails` / `CourseGradingModel` / `CourseMetadata` |
