MCP server for Canvas LMS API — student-focused tools for Claude
Canvas Api MCP MCP server exists for a simple reason — assistants are far more useful when they can act on Canvas Api MCP directly instead of describing what you should do. MCP server for Canvas LMS API — student-focused tools for Claude.
Connect Claude to your Canvas LMS. Ask natural questions like "What assignments do I have due this week?" or "What's my current grade in Biology?" and get real answers pulled directly from your Canvas account.
Once Canvas Api MCP is connected, these are the calls the assistant has available:
list_courses — List all your active coursesget_course — Full details for a course (including syllabus)list_assignments — All assignments for a course with due dates and point valuesget_assignment — Full assignment details including descriptionlist_upcoming_assignments — Assignments due in the next N days across all your coursesget_grades — Your current and final grade for a courselist_submissions — Submission status for every assignment in a courselist_announcements — Recent announcements for a courselist_discussions — Discussion topics for a courselist_calendar_events — Upcoming events and due dates in a date rangelist_files — Files available in a course with download linksYou will need 2 environment variables: CANVAS_TOKEN, CANVAS_BASE_URL. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.
@modelcontextprotocol/inspector on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.
Plenty of developer tooling servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Canvas Api MCP's toolset — list_courses, get_course, list_assignments and 8 more — is a fair guide to whether it matches your workflow. It is maintained by kdude43ver; worth a glance at recent repository activity before you build anything load-bearing on it.
We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.
| Tool | What it does |
|---|---|
| list_courses | List all your active courses |
| get_course | Full details for a course (including syllabus) |
| list_assignments | All assignments for a course with due dates and point values |
| get_assignment | Full assignment details including description |
| list_upcoming_assignments | Assignments due in the next N days across **all** your courses |
| get_grades | Your current and final grade for a course |
| list_submissions | Submission status for every assignment in a course |
| list_announcements | Recent announcements for a course |
| list_discussions | Discussion topics for a course |
| list_calendar_events | Upcoming events and due dates in a date range |
| list_files | Files available in a course with download links |
{
"mcpServers": {
"canvas": {
"command": "node",
"args": ["/absolute/path/to/Canvas-API-MCP/dist/index.js"],
"env": {
"CANVAS_TOKEN": "your_token_here",
"CANVAS_BASE_URL": "https://yourschool.instructure.com"
}
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| CANVAS_TOKEN | Credential the server authenticates with. | Yes |
| CANVAS_BASE_URL | Endpoint or connection string the server talks to. | Yes |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.