A small MCP wrapper for the UofT Timetable Builder API.
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"uoft-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# UofT MCP A small Python MCP server for the public [UofT Timetable Builder](https://ttb.utoronto.ca/) API, with reusable UofT login for Degree Explorer and ACORN. It exposes thirteen tools over local stdio using the [official MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk): ten public timetable tools and three local authentication controls. > **Work in progress:** ACORN and Degree Explorer authentication is available, but > their student-data and planning tools are still under development. The current > ACORN and Degree Explorer controls only connect, check, and forget local sessions. Public timetable tools require no login, API key, database, web server, or environment variables. This is an unofficial wrapper; it does not enroll students or write to ACORN. Saving a timetable creates an anonymous public share link on the Timetable Builder, not a personal account record. ## Connect an MCP Client Install [uv](https://docs.astral.sh/uv/getting-started/installation/), then add this configuration to any client that supports `mcpServers`: ```json { "mcpServers": { "uoft-timetable": { "command": "uvx", "args": ["uoft-mcp@latest"], "env": { "UV_HTTP_TIMEOUT": "300" } } } } ``` Restart the client after saving its configuration. On Windows, if the client cannot find `uvx`, restart it after installing uv or replace `"uvx"` with the absolute path reported by `where.exe uvx`. `uvx` downloads the published package into an isolated environment and starts the `uoft-mcp` command. No repository clone, virtual environment setup, API key, server URL, or listening port is needed. The first start can take longer while uv downloads Python and the dependencies; later starts use its cache. To pin a release instead of following the newest release, use `"args": ["uoft-mcp==0.3.2"]`. ## Local Development From a clone of this repository: ```powershell uv python install 3.13 uv sync --locked --managed-python ``` `uv s…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.