Repository navigation
vutoolkit v0.1.0
vutoolkit v0.1.0 — first public release
Universal toolkit for Vanderbilt student life, built for AI agents first: zero-step SSO, a live academic record, GPA truth-checking, and a web UI — shipped as one MCP server, an OpenClaw plugin, a CLI, and a browser extension.
Zero-step auth
sessions.ensure— returns a cached session or mints one invisibly: OneVU passkey ceremony for Vanderbilt, Entra-carry (identifier-first + KMSI fallback) for Microsoft. The agent's only decision is calling ensure — never how auth happens.- Session liveness — cached sessions are probed against the real service; dead-but-unexpired sessions are re-minted automatically, so cookies never fail on first use. Freshly minted sessions skip the probe.
sessions.refresh(force re-mint),sessions.forget,sessions.list,sessions.open.- Session values live in a file-backed vault (0600, per-IdP domain allowlist, metadata-only tool output). Only two secrets are needed (VANDERBILT_EMAIL, VANDERBILT_PASSKEY) and the Microsoft chain needs none.
Academic record & GPA
record.fetch— live YES academic record through seamless auth: the aai shell is walked for the academic-record endpoint and parsed into a chronological transcript. If the session dies mid-fetch, one forced re-mint retry happens before surfacing a failure.gpa.verify— recomputes per-term GPAs from posted marks and compares against the numbers Vanderbilt posted (truncation-aware exact match). Run it before trusting any what-if output.grades.whatif— what-if GPA planning on the synthetic fixture or a live transcript.
Surfaces
- MCP server (stdio and HTTP) and an OpenClaw plugin (gateway tools + a Control UI tab).
- CLI (
node --import tsx src/toolfactory/cli.ts <operation>). - Web UI (shadcn) served by the plugin at
/plugins/vutoolkit/webor standalone. - Browser extension (Chrome/Firefox/Edge) paired to a kernel over the relay.
Install
- OpenClaw:
openclaw plugins install --link hosts/openclawfrom a checkout, or install the released plugin tarball. - Local dev:
bash .agents/setup, thennpx toolfactory check/npm test. - After touching
web/or core source on a linked install:npm run relinkrebuilds web/dist and refreshes the host plugin in one step.
Quality
61 unit tests across 10 files, toolfactory drift gates (check/build), per-surface upstream validators, and a scripted (no-LLM) end-to-end OpenClaw check run in release CI.
Release engineering status
- This first cut was published from a verified local build: 61/61 unit tests, drift gates green, npm tarball ships the built web UI, plugin tarball and web bundle attached here.
- npm registry publication and browser-store submission will ride the tag-driven CI on a subsequent cut once (a) the upstream toolfactory
validatescaffold-drift is fixed (openclaw-native/web surfaces, toolfactory lane) and (b) an NPM_TOKEN secret is configured on the repository. - Browser-extension zips are not attached in this first cut; they arrive with the first CI-driven release.