Provides tools for interacting with the Canvas LMS API, allowing users to list courses and filter them by enrollment type (teacher, student, or TA).
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Canvas MCP Serverlist my courses where I'm a student"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Canvas MCP Server
A Model Context Protocol (MCP) server implementation for the Canvas LMS API. This server provides functionality to interact with Canvas LMS programmatically.
Features
List courses from Canvas LMS with optional enrollment type filtering
Interactive help prompts for using the tools
Prerequisites
Node.js 18 or later
A Canvas LMS instance
Canvas API access token
Cursor (for client integration)
Setup
Clone this repository
Install dependencies:
npm installSet up environment variables:
export CANVAS_BASE_URL="https://your-canvas-instance.com" export CANVAS_ACCESS_TOKEN="your-api-token"Build the project:
npm run buildStart the server:
npm start
Connecting with Cursor
To use this MCP server with Cursor:
Open Cursor's settings
Navigate to the MCP configuration section
Add a new server configuration:
{ "mcpServers": { "canvas": { "command": "npm", "args": [ "start" ], "cwd": "/path/to/mcp-server-canvas" } } }Save the configuration and restart Cursor
The Canvas tools will now be available in Cursor's MCP tools panel
Available Tools
list_courses
Lists all courses from Canvas LMS.
Parameters:
enrollment_type(optional): Filter courses by enrollment type (teacher, student, ta)
Example response:
list-courses-help
An interactive prompt that provides help with using the list_courses tool.
Development
The server is built using TypeScript and the MCP SDK. To add new features:
Add new API methods to the
CanvasAPIclassRegister new tools using
server.tool()Register help prompts using
server.prompt()Build and test your changes
Troubleshooting
If you encounter issues:
Check that environment variables are set correctly
Verify your Canvas API token has the necessary permissions
Check Cursor's MCP server logs for any error messages
Ensure the server path in Cursor's configuration is correct
License
MIT