Canvas MCP Server
An MCP server for interacting with the Canvas LMS API.
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 install - Set up environment variables:
export CANVAS_BASE_URL="https://your-canvas-instance.com" export CANVAS_ACCESS_TOKEN="your-api-token" - Build the project:
npm run build - Start 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:
{
"content": [
{
"type": "text",
"text": [
{
"id": 1234,
"name": "Example Course",
"code": "EX101",
"state": "available",
"startDate": "2024-01-01T00:00:00Z",
"endDate": "2024-12-31T23:59:59Z"
}
]
}
]
}
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
CanvasAPIclass - Register 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
Serveurs connexes
JIRA
Integrate Atlassian JIRA into any MCP-compatible application to manage issues and projects.
Simple Voice MCP Server
A simple text-to-speech server that plays audio from text, supporting multiple voice models.
Wiki.js
Integrates with Wiki.js, enabling AI to read and update documentation.
Rebrandly
Generate short URLs using the Rebrandly API.
Hyperspell
A spellchecker and grammar checker for developers, requiring a Hyperspell token for authentication.
DateTime
Provides current date and time with configurable formats and timezones.
Promptheus
AI-powered prompt refinement tool with adaptive questioning and multi-provider support. Intelligently refines prompts through clarifying questions, supports 6+ AI providers (Google Gemini, Anthropic Claude, OpenAI, Groq, Alibaba Qwen, Zhipu GLM), and provides comprehensive prompt engineering capabilities.
PyApple MCP Tools
Python tools for MCP that integrate with native Apple applications like Messages, Notes, Mail, and more on macOS.
Trello MCP Server
Uses a Trello board as a knowledge base to store and retrieve code snippets, notes, and other information.
ClickUp MCP Server (Enhanced Fork)
An MCP server for integrating ClickUp tasks with AI applications, featuring task dependency management and bug fixes.