Content
# Non-official INIAD MOOCs MCP Server
> [!WARNING]
> **This project is deprecated and will no longer be maintained.**
>
> A successor, a faster, lighter, and more feature-rich CLI tool **[iniad-moocs-cli](https://github.com/rarandeyo/iniad-moocs-cli)**, has been released. We recommend migrating to it for both new and existing usage.
>
> - Repository: <https://github.com/rarandeyo/iniad-moocs-cli>
> - npm: [`@rarandeyo/iniad-moocs-cli`](https://www.npmjs.com/package/@rarandeyo/iniad-moocs-cli)
>
> This repository is archived, and issues/pull requests are no longer accepted. Please report requests and bug reports to the successor repository.
---
A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server that automates logging in, submitting assignments, uploading files, and filling out forms on the university's assignment submission site [INIAD MOOCs](https://moocs.iniad.org/).
Built on top of [Playwright MCP](https://github.com/microsoft/playwright-mcp) with additional automation features for INIAD.
## Key Features
- **Automatic login with INIAD account** (specified by environment variables)
- **Automatic retrieval of course list, course episodes, slides, and assignment details**
- **Automated assignment submission (file upload and form filling)**
- **MCP protocol support**: Can be used from various MCP hosts like Claude, Cursor, VSCode, etc.
## Required Environment Variables
- `INIAD_USERNAME`: INIAD MOOCs username (the part before "@" in the email address, and must be a student ID starting with "s")
- `INIAD_PASSWORD`: INIAD MOOCs password
## Usage
<details>
<summary>⚠️ npm/npx version compatibility when using WSL on Cursor or VS Code</summary>
When using WSL on Cursor or VS Code, if different major versions of npm or npx are used on WSL and Windows, errors or unexpected behavior may occur during command execution.
<strong>Issues with npx version differences have been reported.</strong>
If problems occur, consider aligning the npm/npx versions on WSL and Windows.
</details>
### 1. MCP Host Configuration Example
On major MCP hosts like Cursor, Cline, and Claude Desktop, you can register the MCP server using a configuration file like `mcp_config.json`:
```json
{
"mcpServers": {
"iniad-moocs-mcp": {
"command": "npx",
"args": [
"@rarandeyo/iniad-moocs-mcp",
"--headless"
],
"env": {
"INIAD_USERNAME": "your_username",
"INIAD_PASSWORD": "your_password"
}
}
}
}
```
#### With browser window (if you want to display the browser window)
```json
{
"mcpServers": {
"iniad-moocs-mcp": {
"command": "npx",
"args": [
"@rarandeyo/iniad-moocs-mcp"
],
"env": {
"INIAD_USERNAME": "your_username",
"INIAD_PASSWORD": "your_password"
}
}
}
}
```
---
### 2. Installation and Launch from VS Code
#### From Command Palette
1. Open Command Palette (`Ctrl+Shift+P`)
2. Select `MCP: Add Server`
3. Enter the following content
**Headless mode:**
```json
{"name":"iniad-moocs-mcp","command":"npx","args":["@rarandeyo/iniad-moocs-mcp","--headless"],"env":{"INIAD_USERNAME":"your_username","INIAD_PASSWORD":"your_password"}}
```
**With browser window:**
```json
{"name":"iniad-moocs-mcp","command":"npx","args":["@rarandeyo/iniad-moocs-mcp"],"env":{"INIAD_USERNAME":"your_username","INIAD_PASSWORD":"your_password"}}
```
#### Directly from CLI
**For VS Code:**
```bash
code --add-mcp '{"name":"iniad-moocs-mcp","command":"npx","args":["@rarandeyo/iniad-moocs-mcp","--headless"],"env":{"INIAD_USERNAME":"your_username","INIAD_PASSWORD":"your_password"}}'
```
**For VS Code Insiders:**
```bash
code-insiders --add-mcp '{"name":"iniad-moocs-mcp","command":"npx","args":["@rarandeyo/iniad-moocs-mcp","--headless"],"env":{"INIAD_USERNAME":"your_username","INIAD_PASSWORD":"your_password"}}'
```
## User Data Directory
Playwright MCP (and this tool) creates a new "user profile (user data)" when launching the browser and stores login information, cookies, cache, etc. in it.
- **Save location (by OS):**
- **Windows:** `%USERPROFILE%\AppData\Local\ms-playwright\mcp-chrome-profile`
- **macOS:** `~/Library/Caches/ms-playwright/mcp-chrome-profile`
- **Linux:** `~/.cache/ms-playwright/mcp-chrome-profile`
This directory stores the login state, session information, history, etc.
- **Benefits:**
- Once logged in, the login state is maintained automatically for subsequent uses.
- No need to log in again every time.
- **Reset method:**
- If you want to reset the session or login state, delete this directory.
- After deletion, the next launch will start with a clean profile.
## License
Apache License 2.0
---
## Notes and Contributions
⚠️ **Unofficial and use at your own risk**
- This tool is not official from INIAD or Toyo University.
- The developer is not responsible for any damage or disadvantage caused by using this tool. Please use it at your own risk.
💡 **Contributions welcome**
Bug reports, feature requests, pull requests, etc. are welcome!
**Reference**
- [Playwright MCP README](https://github.com/microsoft/playwright-mcp/blob/main/README.md)
- [Model Context Protocol (MCP) official documentation](https://modelcontextprotocol.io/introduction)
Connection Info
You Might Also Like
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
servers
Model Context Protocol Servers
servers
Model Context Protocol Servers
Time
A Model Context Protocol server for time and timezone conversions.
Filesystem
Node.js MCP Server for filesystem operations with dynamic access control.