Chrome Course MCP

Chrome Course MCP

A local MCP server that enables Codex to inspect and interact with Chrome tabs through the Chrome DevTools Protocol, primarily for collecting authorized Brightspace course materials into local folders.

Category
Visit Server

README

Chrome Course MCP

Chrome Course MCP is a local Model Context Protocol server that lets Codex inspect a Chrome tab through the Chrome DevTools Protocol. The initial target workflow is collecting authorized Brightspace course material into local course folders: module page HTML/PDF snapshots, manifests of content links, and direct downloadable media/document URLs.

It does not bypass access controls, DRM, or streaming restrictions. Use it only with course materials and sites you are authorized to access.

Install

npm install

Start Chrome For MCP Access

Use a dedicated Chrome profile so the debugging port is available without disturbing your normal browser session:

& "C:\Program Files\Google\Chrome\Application\chrome.exe" `
  --remote-debugging-port=9222 `
  --user-data-dir="$env:LOCALAPPDATA\ChromeMCPProfile"

Log in to Brightspace in that Chrome window and open the course page, for example:

https://online.academyart.edu/d2l/home/90511

You can also run:

.\scripts\launch-chrome-mcp.ps1

Or open a target site directly in that debuggable profile:

.\scripts\launch-chrome-mcp.ps1 "https://www.tripo3d.ai/"

Add To Codex

Add this MCP server to your Codex MCP config, adjusting the path if needed:

[mcp_servers.chrome_course_mcp]
command = "node"
args = ["C:\\Users\\NewAdmin\\Documents\\GDeveloper\\Workspaces\\ChromeMCP\\src\\index.js"]

Restart Codex after editing the config.

Tools

chrome_tabs

Lists Chrome tabs exposed on http://127.0.0.1:9222.

chrome_launch

Launches Chrome with --remote-debugging-port=9222 and the dedicated ChromeMCPProfile, or opens a new tab if the endpoint is already running.

Example:

{
  "url": "https://www.tripo3d.ai/"
}

chrome_open_tab

Opens a new tab through an existing Chrome DevTools Protocol endpoint.

Control Panel Automation Tools

These tools are useful for authenticated control panels such as Host Havoc when Chrome is launched with the debug profile:

  • chrome_navigate: navigate the selected tab to a URL.
  • chrome_snapshot: summarize visible text, links, buttons, inputs, selects, and forms.
  • chrome_click: click by CSS selector or visible text.
  • chrome_type: type into an input by selector or label/placeholder/name/id/aria-label.
  • chrome_select: set a dropdown by selector or label.
  • chrome_press: send a keyboard key.
  • chrome_screenshot: save a PNG screenshot.
  • chrome_eval: run a small explicit JavaScript inspection/action.

Suggested game panel workflow:

.\scripts\launch-chrome-mcp.ps1

Then log in through the Chrome window and use chrome_snapshot before each destructive or high-impact action.

chrome_extract_media

Extracts candidate media URLs, document links, iframe URLs, and Brightspace content links from the selected tab.

Useful arguments:

{
  "urlContains": "online.academyart.edu"
}

brightspace_collect_current

Builds a module folder with manifest.json and optionally HTML/PDF snapshots.

Example arguments for your GAM_623 folder:

{
  "urlContains": "online.academyart.edu",
  "outputDir": "C:\\Users\\NewAdmin\\Documents\\Academy of Art University\\2026\\Gam623",
  "courseCode": "Gam_623",
  "saveHtml": true,
  "savePdf": true
}

brightspace_archive_links

Navigates through Brightspace links found on the current page, or through a provided URL list, and saves each page into a categorized folder. This tool moves the selected Chrome tab as it works.

Example:

{
  "urlContains": "online.academyart.edu",
  "outputDir": "C:\\Users\\NewAdmin\\Documents\\Academy of Art University\\2026\\Gam623",
  "courseCode": "Gam_623",
  "maxPages": 20,
  "saveHtml": true,
  "savePdf": true
}

chrome_save_page

Saves the selected tab as HTML and/or PDF.

chrome_download_urls

Downloads direct authorized URLs using cookies from the selected Chrome tab. This is intended for direct links to files such as .mp4, .pdf, .zip, .pptx, and similar resources. HLS manifests (.m3u8) and DRM-backed players are reported by chrome_extract_media, but this server does not convert or bypass them.

Suggested Brightspace Workflow

For the normal authenticated Person 1 profile, use the local extension bridge. Once Chrome has loaded the extension, future collection jobs can be started by Codex through the local collector:

node .\scripts\extension-collector.mjs "C:\Users\NewAdmin\Documents\Academy of Art University\2026\Gam623"
.\scripts\start-gam623-collection.ps1

If Chrome is fully closed first, this helper opens the Person 1 profile with the collector extension preloaded:

.\scripts\launch-person1-collector.ps1

The extension polls the local collector from Brightspace pages and will navigate through discovered course content links after Codex starts a job.

The older CDP tools are still useful when Chrome is launched with a separate debug profile:

  1. Launch Chrome with --remote-debugging-port=9222.
  2. Log in to Brightspace and open a module page.
  3. Ask Codex to run brightspace_collect_current into the relevant course folder.
  4. Review manifest.json for media and document candidates.
  5. Ask Codex to download the direct URLs you want with chrome_download_urls.
  6. For bulk page snapshots, ask Codex to run brightspace_archive_links from a content/module index page.

Development

npm run check
npm start

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured