Canvas Api MCP Server

MCP server for Canvas LMS API — student-focused tools for Claude

Local serverstdioGo

What is the Canvas Api MCP MCP server?

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.

What you get

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.

What the assistant can call

Once Canvas Api MCP is connected, these are the calls the assistant has available:

  • 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

Configuration and credentials

You 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.

Setting it up

@modelcontextprotocol/inspector on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.

Choosing this one

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.

Before you rely on it

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 11 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Canvas Api MCP.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the canvas api mcp mcp server does with a few real requests.

Available tools

ToolWhat it does
list_coursesList all your active courses
get_courseFull details for a course (including syllabus)
list_assignmentsAll assignments for a course with due dates and point values
get_assignmentFull assignment details including description
list_upcoming_assignmentsAssignments due in the next N days across **all** your courses
get_gradesYour current and final grade for a course
list_submissionsSubmission status for every assignment in a course
list_announcementsRecent announcements for a course
list_discussionsDiscussion topics for a course
list_calendar_eventsUpcoming events and due dates in a date range
list_filesFiles available in a course with download links

How to install the Canvas Api MCP MCP server

{
  "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.

Configuration

VariableDescriptionRequired
CANVAS_TOKENCredential the server authenticates with.Yes
CANVAS_BASE_URLEndpoint or connection string the server talks to.Yes

Example prompts to try

  • Use Canvas Api MCP to list courses.
  • Use Canvas Api MCP to get course.
  • Use Canvas Api MCP to list assignments.

Frequently asked questions

It connects Canvas Api MCP to MCP-compatible AI assistants such as Claude and Cursor, exposing 11 tools (list_courses, get_course, list_assignments, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Canvas Api MCP directly.