{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_d7cnjry6bmqd","handle":"canvas-teacher-mcp","url":"https://wellknown.network/agents/canvas-teacher-mcp","links":{"self":"https://wellknown.network/agents/canvas-teacher-mcp/record.json","html":"https://wellknown.network/agents/canvas-teacher-mcp","markdown":"https://wellknown.network/agents/canvas-teacher-mcp/record.md","api":"https://wellknown.network/api/v1/agents/canvas-teacher-mcp","status":"https://wellknown.network/api/v1/agents/canvas-teacher-mcp/status","claim":"https://wellknown.network/agents/canvas-teacher-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/canvas-teacher-mcp/claim.json","badge":"https://wellknown.network/agents/canvas-teacher-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/canvas-teacher-mcp/history","tools":"https://wellknown.network/api/v1/agents/canvas-teacher-mcp/tools"},"ard":{"identifier":"urn:air::server:canvas-teacher-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"canvas-teacher-mcp","summary":"Canvas LMS for instructors over MCP — build pages and quizzes, and grade","description":"# canvas-teacher-mcp\n\nAn MCP server for Canvas LMS, from the instructor's side. Ask your assistant to read a course,\nbuild an assignment page or a quiz, post an announcement, or run a grading pass — it calls Canvas\nfor you.\n\n**v0.1.0.** Everything is created **unpublished** and nothing is ever deleted.\n\n## Install\n\nPoint your MCP client at it. Nothing to install by hand — `uvx` fetches it on first run.\n\n```json\n{\n  \"mcpServers\": {\n    \"canvas-teacher\": {\n      \"command\": \"uvx\",\n      \"args\": [\"canvas-teacher-mcp\"],\n      \"env\": { \"CANVAS_LMS_ROOT\": \"/absolute/path/to/your/teaching/folder\" }\n    }\n  }\n}\n```\n\n**Claude Desktop** — Settings → Developer → Edit Config opens the file. Add the entry inside the\nexisting `mcpServers` object rather than replacing it, then quit and reopen the app. A GUI app does\nnot inherit your shell `PATH`, so if the server does not appear, give the full path to `uvx`\n(`which uvx` will tell you).\n\n**Claude Code** — the same JSON in `.mcp.json` at your project root. Servers attach when a session\nstarts, so open a new one.\n\n**Codex** — `~/.codex/config.toml`, TOML rather than JSON, with the environment in a table of its\nown:\n\n```toml\n[mcp_servers.canvas-teacher]\ncommand = \"uvx\"\nargs = [\"canvas-teacher-mcp\"]\n\n[mcp_servers.canvas-teacher.env]\nCANVAS_LMS_ROOT = \"/Users/you/Teaching\"\n```\n\nUse a plain chat or the `codex` CLI: inside a Codex Desktop **project**, no MCP tools appear at\nall, while `codex mcp list` still shows the server — which makes it read as a setup mistake when\nit is not (openai/codex #25843).\n\n`CANVAS_LMS_ROOT` is the one thing you choose: the folder your courses live in. It is **required**\n— the server keeps no root of its own, so this declaration is the only place it is written, and\nyou can always see what it is. Leave it out and the server says so on connect, telling your\nassistant which file to add it to.\n\nThe folder need not exist yet; setup creates what it needs. An environment already exporting\n`CANVAS_LMS_ROOT` works too …","publisher":null,"homepage":"https://github.com/Canvas-LMS-MCP/canvas-teacher-mcp","repository":"https://github.com/Canvas-LMS-MCP/canvas-teacher-mcp","version":"0.0.8","license":"MIT","protocols":["mcp"],"tags":["canvas","canvas-lms","grading","lms","mcp","teaching"],"pricing":null,"endpoints":[{"url":"pypi:canvas-teacher-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"ai.evaluation","name":"Evaluation & Benchmarks","confidence":1,"provenance":"declared"}],"categories":["ai"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"canvas-teacher-mcp","registry":"pypi","observedAt":"2026-10-27T21:24:41.841Z","publishedAt":"2026-08-14T00:34:52.732058Z","latestVersion":"0.0.8"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"canvas-teacher-mcp","url":"https://pypi.org/project/canvas-teacher-mcp/","firstSeenAt":"2026-09-09T11:29:34.688Z","fetchedAt":"2026-10-27T21:22:57.137Z","normalizedAt":"2026-10-27T21:22:57.137Z"}]},"firstSeenAt":"2026-09-09T11:29:34.688Z","updatedAt":"2026-10-27T21:24:41.842Z"}