MCP server for browser automation and web interaction, with specialized tools for THU (Tsinghua University) students including WLXT navigation, Overleaf integration, and PDF handling
CoLearner MCP exposes 36 browser automation and platform-specific tools with minimal documentation. Tool descriptions are present but extremely brief (avg ~15 chars), falling well below the 194-char baseline for production tools. No visible input schemas in provided source code, tool definitions appear to be inferred from tool.ts type definitions rather than explicitly registered with JSON Schema. Parameters lack type annotations and descriptions. Error handling is absent. The server is a fork of playwright-mcp with added WLXT/Overleaf integrations but inherits structural quality issues.
Capture an accessibility snapshot of the current page
Check a checkbox
Click on an element in the page
Close the current browser tab
Get console logs from the page
Download a file from the page
Execute JavaScript in the page context
Fill in a form field
Get an attribute value from an element
No input schemas visible in source code. Tool definitions appear inferred from type system rather than explicitly registered with JSON Schema. Cannot verify parameter types, constraints, or descriptions.
Tool descriptions are extremely brief (avg ~15 chars), far below the 194-char production baseline. Examples: 'Navigate to a URL in the browser', 'Go back in browser history'. Descriptions lack context for LLM selection, prerequisites, or when to use each tool.
No parameter descriptions visible. LLMs cannot infer what 'selector', 'value', 'url', or 'credentials' mean without explicit documentation. This violates the requirement that every parameter must have a non-empty description.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 30 | 2026-07-28+ | v2 |
Get text content from an element
Go back in browser history
Go forward in browser history
Handle a dialog (alert, confirm, prompt)
Handle a file upload dialog
Hover over an element
Install a browser
List all open browser tabs
Navigate to a URL in the browser
Get network requests from the page
Open a new browser tab
Generate a PDF from the current page
Press a keyboard key
Reload the current page
Take a screenshot of the current page
Scroll the page
Select an option from a dropdown
Switch to a specific browser tab
Type text into a focused element
Uncheck a checkbox
Wait for an element to appear
Wait for page navigation to complete
Access Overleaf home page
Access Overleaf project
Download resources from WLXT
Login to WLXT (Tsinghua University learning platform)
Navigate within WLXT platform
No error handling or recovery guidance. Tools like wlxt_login and browser_navigate provide no actionable error messages. LLMs cannot determine if failures are retryable, user-fixable, or fatal.
Credentials exposed as parameters. wlxt_login likely accepts username/password as tool parameters, which will be logged in agent traces and prompt history. Credentials must use server-side secret injection.