Skip to main content
Glama

@striderlabs/mcp-coursera

MCP (Model Context Protocol) server for Coursera — search courses, get details, enroll, track progress, and view certificates.

Tools

Tool

Description

search_courses

Search courses by topic, skill, difficulty level

get_course_details

Get full course info: syllabus, duration, instructor, reviews

enroll_course

Enroll in a course (requires login)

get_my_courses

List enrolled courses and progress

get_certificates

View earned certificates

Related MCP server: Playwright Plus Python MCP

Requirements

Installation

npm install @striderlabs/mcp-coursera
# Install browser binaries
npx playwright install chromium

Configuration

Environment Variables

Variable

Required

Description

BROWSERBASE_CDP_URL

Optional

Browserbase CDP endpoint for cloud browsers

COURSERA_EMAIL

For auth tools

Your Coursera account email

COURSERA_PASSWORD

For auth tools

Your Coursera account password

Claude Desktop / MCP Client

Add to your MCP client config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "coursera": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-coursera"],
      "env": {
        "COURSERA_EMAIL": "your@email.com",
        "COURSERA_PASSWORD": "yourpassword",
        "BROWSERBASE_CDP_URL": "wss://connect.browserbase.com?apiKey=YOUR_KEY"
      }
    }
  }
}

With Browserbase (Cloud Browsers)

Browserbase provides cloud browser infrastructure. Set BROWSERBASE_CDP_URL to connect:

BROWSERBASE_CDP_URL="wss://connect.browserbase.com?apiKey=YOUR_API_KEY" npx @striderlabs/mcp-coursera

Without BROWSERBASE_CDP_URL, a local Chromium instance is launched.

Usage Examples

Search for Courses

search_courses(query="machine learning", difficulty="beginner", limit=5)

Get Course Details

get_course_details(course_url="https://www.coursera.org/learn/machine-learning")

Enroll in a Course

enroll_course(course_url="https://www.coursera.org/learn/python")

Check Progress

get_my_courses()

View Certificates

get_certificates()

Authentication

Tools that access personal data (enroll_course, get_my_courses, get_certificates) require Coursera credentials. Provide them via:

  1. Environment variables (recommended): COURSERA_EMAIL and COURSERA_PASSWORD

  2. Tool arguments: Pass email and password directly in the tool call

Credentials are never stored or transmitted beyond the browser session.

Development

git clone <repo>
cd mcp-coursera
npm install
npx playwright install chromium
npm run build
npm start

License

MIT

Available Tools

5 tools
enroll_courseB

Enroll in a Coursera course. Requires authentication via COURSERA_EMAIL and COURSERA_PASSWORD environment variables (or passed directly).

NameRequiredDescriptionDefault
course_urlYesFull URL of the course to enroll in
emailNoCoursera account email (optional if COURSERA_EMAIL env var is set)
passwordNoCoursera account password (optional if COURSERA_PASSWORD env var is set)
get_certificatesA

View all earned Coursera certificates with titles, issuers, dates, and verification URLs. Requires authentication.

NameRequiredDescriptionDefault
emailNoCoursera account email (optional if COURSERA_EMAIL env var is set)
passwordNoCoursera account password (optional if COURSERA_PASSWORD env var is set)
get_course_detailsC

Get detailed information about a specific Coursera course including syllabus, instructor, duration, skills, and reviews.

NameRequiredDescriptionDefault
course_urlYesFull URL or path of the course (e.g. 'https://www.coursera.org/learn/machine-learning' or '/learn/machine-learning')
get_my_coursesA

List all enrolled Coursera courses with progress and status. Requires authentication.

NameRequiredDescriptionDefault
emailNoCoursera account email (optional if COURSERA_EMAIL env var is set)
passwordNoCoursera account password (optional if COURSERA_PASSWORD env var is set)
search_coursesA

Search Coursera for courses by topic, skill, or keyword. Returns course titles, providers, ratings, difficulty, and URLs.

NameRequiredDescriptionDefault
queryYesSearch query — topic, skill, or keyword (e.g. 'machine learning', 'Python for beginners', 'data science')
difficultyNoFilter by difficulty level (optional)
languageNoCourse language code (default: 'en')
limitNoMax number of results to return (default: 10, max: 25)

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv1.0.0
    • First observedenroll_course
    • First observedget_certificates
    • First observedget_course_details
    • First observedget_my_courses
    • First observedsearch_courses

TDQS

A3.7/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: enrolling in courses, viewing certificates, getting course details, listing enrolled courses, and searching for courses. There is no overlap in functionality, making it easy for an agent to select the correct tool for any task.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., enroll_course, get_certificates, get_course_details, get_my_courses, search_courses). This uniformity enhances readability and predictability for agents.

Tool Count5/5

With 5 tools, this server is well-scoped for a Coursera integration, covering key user actions without being overwhelming. Each tool serves a clear and necessary function, making the count appropriate for the domain.

Completeness4/5

The toolset covers core operations like enrollment, viewing certificates, course details, enrolled courses, and search, providing a solid foundation. However, there are minor gaps, such as no tools for unenrolling from courses, updating user profiles, or managing course progress, which agents might need to work around.

Maintenance

ActivityInactive
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides browser automation capabilities using Playwright, enabling users to navigate websites, extract content, take screenshots, and interact with web pages through natural language prompts.
    9 npm
    MIT
  • A
    license
    B
    quality
    Not graded
    maintenance
    Enables browser automation and web scraping through Playwright, supporting navigation, screenshots, element interaction, form filling, JavaScript execution, and content extraction.
    8
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to programmatically interact with Coursera, including enrolling in courses, completing lectures, solving quizzes, submitting assignments, earning certificates, and pushing them to LinkedIn.
    1
    MIT