Skip to content

Releases: jiangjunw15-web/uplus-mcp

v0.5.2 - Security & logic defect fixes + CI fix

Choose a tag to compare

@jiangjunw15-web jiangjunw15-web released this 25 Oct 08:54

What Changed

Five audited defects are closed in this patch release, with 18 regression tests guarding them.

Fixes

# Priority Problem Fix
1 High Custom profile directory could be recursively deleted _copy_profile now refuses when src/dst overlap or target lacks Local State
2 High Password values echoed back inconsistently fill(), snapshot, and batch extract all mask password fields as ....
3 High Submit gate had two opposite bugs (empty list passed 0==0; answered-only items unbalanced) Empty question list now refuses submit; previously-answered objectives counted in total
4 Medium patrol(submit=True) had no effect auto_answer+submit now wired through rule_based_answer with full-coverage gate
5 Medium Unknown course ID widened query to all courses Unknown/expired course ID now raises UplusError instead of falling back

Regression Tests

tests/test_fixes.py - 18 tests covering all five fixes (positive + negative cases), all passing.

CI Fix

  • pom.xml: replaced hardcoded 0.5.0 filenames with ${project.version} so artifact paths follow the version bump automatically
  • publish-packages.yml: rm -rf maven-package/artifacts before copy to prevent stale files from previous releases

Full Changelog: v0.5.0...v0.5.2

v0.5.0 - Cross-platform generic MCP install, per-agent AI onboarding guide

Choose a tag to compare

@jiangjunw15-web jiangjunw15-web released this 25 Oct 04:41

What's new

  • Cross-platform, machine-agnostic install: the launcher probes the installed Microsoft Edge or Google Chrome on Windows, macOS and Linux, with a PATH fallback; no Windows-only executable path is hard-coded.
  • Configurable browser engine, CDP port, dedicated profile directory and auto-launch switch, overridable through UPLUS_BROWSER, UPLUS_CDP_PORT and UPLUS_PROFILE_DIR; the legacy auto_launch_edge config field maps automatically onto the new generic settings.
  • rename.md: a step-by-step playbook any MCP-compatible AI agent follows after installation (environment check, install, client registration, two-mode sign-in, patrol, objective-question answering, human takeover).
  • Login detection prefers the session token before page text, fixing a first-navigation hydration timing miss that could report a signed-in session as logged out.
  • README, README.zh and docs/mcp-clients.md are generalized for Windows / macOS / Linux first-time users, with bare Python and uplus-mcp console-script registration options.

Tooling & quality

  • 28 tools: 10 uplus_* business tools and 18 browse_* generic browser tools.
  • 73 unit tests pass; a clean virtualenv install was verified; a real-platform read-only regression (courses, homework, experiments, attachment question classification) passed without answering or submitting anything.

Scope & integrity

  • Objective questions (single choice, multiple choice, true/false, fill-in) can be filled and submitted after the model's answers are reviewed; subjective answers, programming, attachments, experiment reports and group deliverables are always handed back to the user.
  • The server stores no passwords, cookies or session snapshots in the repository.

Getting started

Follow the Quick start in README.md, then register the stdio server in your MCP client; read rename.md for the AI onboarding script.