Coursera MCP Server
Allows searching for courses, retrieving detailed syllabus and instructor information, enrolling in courses, tracking enrollment progress, and viewing earned certificates on Coursera.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Coursera MCP Serverfind beginner data science courses for me"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@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 by topic, skill, difficulty level |
| Get full course info: syllabus, duration, instructor, reviews |
| Enroll in a course (requires login) |
| List enrolled courses and progress |
| View earned certificates |
Related MCP server: Playwright Plus Python MCP
Requirements
Node.js 18+
Playwright (installed automatically)
Installation
npm install @striderlabs/mcp-coursera
# Install browser binaries
npx playwright install chromiumConfiguration
Environment Variables
Variable | Required | Description |
| Optional | Browserbase CDP endpoint for cloud browsers |
| For auth tools | Your Coursera account email |
| 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-courseraWithout 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:
Environment variables (recommended):
COURSERA_EMAILandCOURSERA_PASSWORDTool arguments: Pass
emailandpassworddirectly 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 startLicense
MIT
Available Tools
5 toolsenroll_courseB
Enroll in a Coursera course. Requires authentication via COURSERA_EMAIL and COURSERA_PASSWORD environment variables (or passed directly).
| Name | Required | Description | Default |
|---|---|---|---|
| course_url | Yes | Full URL of the course to enroll in | |
| No | Coursera account email (optional if COURSERA_EMAIL env var is set) | ||
| password | No | Coursera 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.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Coursera account email (optional if COURSERA_EMAIL env var is set) | ||
| password | No | Coursera 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.
| Name | Required | Description | Default |
|---|---|---|---|
| course_url | Yes | Full 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.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Coursera account email (optional if COURSERA_EMAIL env var is set) | ||
| password | No | Coursera 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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query — topic, skill, or keyword (e.g. 'machine learning', 'Python for beginners', 'data science') | |
| difficulty | No | Filter by difficulty level (optional) | |
| language | No | Course language code (default: 'en') | |
| limit | No | Max number of results to return (default: 10, max: 25) |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v1.0.0- First observed
enroll_course - First observed
get_certificates - First observed
get_course_details - First observed
get_my_courses - First observed
search_courses
TDQS
Scored across 5 tools
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.
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.
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.
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
Related MCP Connectors
Playwright browser automation — navigate, click, fill forms, extract, screenshot — 17 agent tools.
Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides browser automation capabilities using Playwright, enabling users to navigate websites, extract content, take screenshots, and interact with web pages through natural language prompts.9 npmMIT
- AlicenseBqualityNot gradedmaintenanceEnables browser automation and web scraping through Playwright, supporting navigation, screenshots, element interaction, form filling, JavaScript execution, and content extraction.8Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to perform browser automation tasks including web scraping, taking screenshots, and executing JavaScript using Playwright. It facilitates real-time interaction with web pages and the generation of automated test code.22 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to programmatically interact with Coursera, including enrolling in courses, completing lectures, solving quizzes, submitting assignments, earning certificates, and pushing them to LinkedIn.1MIT