Chrome Course MCP
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., "@Chrome Course MCP collect current Brightspace module for GAM_623"
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.
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 installRelated MCP server: paparazzi
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/90511You can also run:
.\scripts\launch-chrome-mcp.ps1Or 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.ps1Then 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.ps1If Chrome is fully closed first, this helper opens the Person 1 profile with the collector extension preloaded:
.\scripts\launch-person1-collector.ps1The 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:
Launch Chrome with
--remote-debugging-port=9222.Log in to Brightspace and open a module page.
Ask Codex to run
brightspace_collect_currentinto the relevant course folder.Review
manifest.jsonfor media and document candidates.Ask Codex to download the direct URLs you want with
chrome_download_urls.For bulk page snapshots, ask Codex to run
brightspace_archive_linksfrom a content/module index page.
Development
npm run check
npm startAvailable Tools
16 toolsbrightspace_archive_linksB
Navigate through Brightspace links from the current tab or a provided URL list and save each page as a categorized manifest plus HTML/PDF.
Inputs: outputDir (required), urls, tabId, delayMs, +8 more.
brightspace_collect_currentC
Create a Brightspace-oriented manifest from the selected course/module page.
Inputs: outputDir (required), tabId, savePdf, debugUrl, +4 more.
chrome_clickB
Click an element by CSS selector or visible text. Useful for control panels and file-manager buttons.
Inputs: text, exact, tabId, waitMs, +4 more.
chrome_download_urlsC
Download authorized direct URLs using cookies from the selected Chrome tab.
Inputs: urls (required), outputDir (required), tabId, debugUrl, +3 more.
chrome_evalB
Evaluate JavaScript in the selected tab. Use for small, explicit inspection or panel automation snippets.
Inputs: expression (required), tabId, waitMs, debugUrl, +2 more.
chrome_extract_mediaC
Extract media, document, iframe, and link candidates from a selected Chrome tab.
Inputs: tabId, debugUrl, urlContains, titleContains.
chrome_launchB
Launch a Chrome window with the DevTools Protocol enabled, or open a new tab if it is already running.
Inputs: url, waitMs, debugUrl, extraArgs, +2 more.
chrome_open_tabA
Open a new tab through an existing Chrome DevTools Protocol endpoint.
Inputs: url, debugUrl.
chrome_pressB
Send a keyboard key to the selected page, optionally after focusing an element.
Inputs: key (required), tabId, waitMs, debugUrl, +3 more.
chrome_save_pageC
Save the selected Chrome tab as HTML and/or PDF.
Inputs: outputDir (required), pdf, html, tabId, +5 more.
chrome_screenshotC
Capture a PNG screenshot of the selected page.
Inputs: outputPath (required), tabId, debugUrl, fullPage, +2 more.
chrome_selectA
Set a select dropdown by CSS selector or label text, matching option value or visible text.
Inputs: value (required), label, tabId, waitMs, +4 more.
chrome_snapshotB
Summarize the selected page with visible text, links, buttons, inputs, selects, and forms for automation planning.
Inputs: tabId, debugUrl, maxElements, urlContains, +2 more.
chrome_tabsA
List Chrome tabs exposed by the local Chrome DevTools Protocol endpoint.
Inputs: debugUrl.
chrome_typeC
Type into an input or textarea by CSS selector, label text, placeholder, name, id, or aria-label.
Inputs: value (required), clear, label, tabId, +6 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 16 tools
Most tools target distinct actions (open, navigate, click, type, screenshot, etc.), and the two Brightspace tools are clearly separate. Slight overlap exists between chrome_open_tab and chrome_launch, and between chrome_snapshot and chrome_extract_media, but descriptions resolve ambiguity.
All tools follow a consistent pattern: domain_verb_noun (chrome_*, brightspace_*). Every name uses lowercase with underscores and a clear action verb, making the naming predictable and easy to learn.
With 16 tools, the set is slightly above the ideal 3-15 range but still well-scoped for Chrome automation plus Brightspace-specific archiving. Each tool has a specific role, and the count feels justified rather than bloated.
The Chrome automation covers a full interaction lifecycle: tab management, navigation, reading, clicking, typing, selecting, pressing, evaluating, saving, downloading, and media extraction. Brightspace coverage is limited to collecting/archiving pages, which fits the apparent purpose but lacks other potential course-management operations.
Maintenance
Related MCP Connectors
Discord MCP server for ChatGPT, Claude and any AI agent: list servers and channels, read channel messages, search messages, send message, reply to message, send DM, read mentions and assign role in your own Discord account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Discord yourself; Cotlet does not store your password and you need no Discord API key. About the official Discord API: Yes, Discord has an official API for bots and OAuth2 apps, but it acts as a bot that a server manager adds, not as you, and Discord has no official MCP server for it (checked 5 Nov 2026). The MCP server on Discord's docs site only searches documentation. Setup and FAQ: https://cotlet.dev/integrations/discord-api-mcp-server
LearnWorlds MCP server for ChatGPT, Claude and any AI agent: list users, list course learners, enroll users, unenroll users, update tags, send message, suspend user and grade assessment in your own LearnWorlds account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to LearnWorlds yourself; Cotlet does not store your password and you need no LearnWorlds API key. About the official LearnWorlds API: LearnWorlds has a REST API (v2) for courses, users, bundles, subscriptions, promotions, payments and certifications, but it comes with the Learning Center plan and higher, and you need your own code to use it (checked 5 Nov 2026). LearnWorlds has no official MCP server. Setup and FAQ: https://cotlet.dev/integrations/learnworlds-api-mcp-server
Dubsado MCP server for ChatGPT, Claude and any AI agent: create project, send form, send invoice, record payment and list unpaid invoices in your own Dubsado account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Dubsado yourself; Cotlet does not store your password and you need no Dubsado API key. About the official Dubsado API: Dubsado has no public API (checked 11 Oct 2026). Its only official connection is Zapier, on the Premier plan: five triggers and one action, Create Project. Setup and FAQ: https://cotlet.dev/integrations/dubsado-api-mcp-server
Overleaf MCP server for ChatGPT, Claude and any AI agent: list projects, read file, edit file, compile project, add comment, reply to comment, accept tracked change and invite collaborator in your own Overleaf account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Overleaf yourself; Cotlet does not store your password and you need no Overleaf API key. About the official Overleaf API: Overleaf has no public API to read or change existing projects (checked 5 Nov 2026). Its only API, Open in Overleaf, sends LaTeX in one direction to create a new project. Setup and FAQ: https://cotlet.dev/integrations/overleaf-api-mcp-server
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP Server for Chrome DevTools, following the Chrome DevTools Protocol. Integrates with Claude Desktop and Claude Code.315MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that connects to your browser to capture screenshots, inspect console logs, network requests, and more via Chrome DevTools Protocol.16 npm2MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that lets coding agents control and inspect live Chrome browsers, providing full Chrome DevTools capabilities for automation, debugging, and performance analysis.2,099,626 npmApache 2.0
- FlicenseNot gradedqualityDmaintenanceLocal MCP server for Codex that provides on-demand, read-only access to Edge tabs and bookmarks, plus controlled interaction with agent-owned tabs. Requires manual activation via the browser extension and enforces a fail-closed security model.-