io.github.AnonymousOnyx22/canvas-lms-student-mcp·Utilities

canvas-lms-student-mcp

Read-only Canvas LMS for AI: due dates, grades, missing work, announcements and course content.

Stars
0
Version
0.1.0
License
MIT
Review
Passed
Language
TypeScript
Last commit
1h ago
Forks
0
Open issues
0
Registry update
Oct 14, 2026
canvas-lmschatgptclaudeedtechmcpmcp-servermodel-context-protocolstudents

Connect

npm
Terminal
$claude mcp add canvas-lms-student-mcp \  -- npx -y [email protected]

Environment variables

Nothing to configure — it works as is.

Security review

Review passed

Reviewed 7m ago.

metadata
scanned
packages
1 checked

No findings.

Tools

This server runs on your machine, so its tool list is not fetched before install — the README below describes what it offers.

Canvas MCP for students

Ask your AI what's actually left to do in Canvas.

This is a free, open source MCP server. It lets Claude, ChatGPT, Cursor and other AI apps read your Canvas courses, due dates, grades and announcements. It is read only. It can never submit, edit or delete anything.

Works with any school that uses Canvas. Not affiliated with Instructure.

Free forever. No sign up and no subscription. Your login details only ever go to your own school.

Quick start

  1. In Canvas, go to Account > Settings, scroll to Approved Integrations and click New Access Token. Copy it.
  2. Add this to your AI app's MCP config (for Claude Desktop that's claude_desktop_config.json):
{
  "mcpServers": {
    "canvas": {
      "command": "npx",
      "args": ["-y", "canvas-lms-student-mcp"],
      "env": {
        "CANVAS_BASE_URL": "https://yourschool.instructure.com",
        "CANVAS_API_TOKEN": "paste-your-token-here"
      }
    }
  }
}
  1. Restart your AI app and ask something like "what's due this week?"

To check your setup first, run npx canvas-lms-student-mcp doctor with the two environment variables set.

Some schools turn off student access tokens. If you don't see the New Access Token button, your school has disabled it and this server can't connect to your account.

What you can ask

  • "What's due this week?"
  • "Do I have anything missing or overdue?"
  • "What's my grade in each class?"
  • "What did my instructors announce lately?"
  • "Show me what's in the Week 3 module for Networking."

Tools

All tools are read only.

ToolWhat it does
get_my_coursesYour active courses and their IDs
get_todoYour Canvas to-do list
get_upcoming_due_datesUpcoming assignments and events, soonest first
get_missing_assignmentsPast due work you haven't submitted
get_assignmentsAssignments for a course with due dates and submission status
get_my_gradesCurrent grade for each course
get_course_contentModules and items for a course
get_syllabusA course's syllabus text
get_announcementsRecent announcements
get_discussionsDiscussion topics for a course
get_calendar_eventsCalendar events between two dates

Privacy and security

  • Your token stays on your computer. It is only sent to your own school's Canvas address.
  • Nothing is sent to any other server by this project.
  • Every tool is marked read only. Revoke the token any time in Canvas settings.

Troubleshooting

MessageFix
Not signed inYour token expired or was revoked. Make a new one.
Access deniedYour school turned that feature off for students.
Not foundCheck the course ID with get_my_courses.
Rate limitedWait a minute and try again.

Development

npm install
npm run build
npm test

Tests run against a fake Canvas server, so they need no account or network.

Also available

  • Brightspace MCP for D2L Brightspace, with a hosted version, deadline alerts and a daily digest.

License

MIT

From the server's repository — third-party content, read it before running anything it suggests.

More in Utilities

Listing from the official MCP Registry · repository facts from GitHub, 10m ago.