Local edition: Canvas LMS MCP server for desktop and command-line AI apps. 209 tools, runs on your computer, nothing exposed to the internet.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add canvas-lms-local --env CANVAS_API_TOKEN='<CANVAS_API_TOKEN>' --env CANVAS_BASE_URL='<CANVAS_BASE_URL>' -- npx -y canvas-lms-mcp-local~/.codex/config.toml
[mcp_servers.canvas-lms-local]
command = "npx"
args = ["-y", "canvas-lms-mcp-local"]
env = { CANVAS_API_TOKEN = "<CANVAS_API_TOKEN>", CANVAS_BASE_URL = "<CANVAS_BASE_URL>" }
# codex mcp add canvas-lms-local --env CANVAS_API_TOKEN='<CANVAS_API_TOKEN>' --env CANVAS_BASE_URL='<CANVAS_BASE_URL>' -- npx -y canvas-lms-mcp-local~/.cursor/mcp.json
{
"mcpServers": {
"canvas-lms-local": {
"command": "npx",
"args": [
"-y",
"canvas-lms-mcp-local"
],
"env": {
"CANVAS_API_TOKEN": "<CANVAS_API_TOKEN>",
"CANVAS_BASE_URL": "<CANVAS_BASE_URL>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"canvas-lms-local": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"canvas-lms-mcp-local"
],
"env": {
"CANVAS_API_TOKEN": "<CANVAS_API_TOKEN>",
"CANVAS_BASE_URL": "<CANVAS_BASE_URL>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"canvas-lms-local": {
"command": "npx",
"args": [
"-y",
"canvas-lms-mcp-local"
],
"env": {
"CANVAS_API_TOKEN": "<CANVAS_API_TOKEN>",
"CANVAS_BASE_URL": "<CANVAS_BASE_URL>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"canvas-lms-local": {
"command": "npx",
"args": [
"-y",
"canvas-lms-mcp-local"
],
"env": {
"CANVAS_API_TOKEN": "<CANVAS_API_TOKEN>",
"CANVAS_BASE_URL": "<CANVAS_BASE_URL>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"canvas-lms-local": {
"command": "npx",
"args": [
"-y",
"canvas-lms-mcp-local"
],
"env": {
"CANVAS_API_TOKEN": "<CANVAS_API_TOKEN>",
"CANVAS_BASE_URL": "<CANVAS_BASE_URL>"
}
}
}
}Environment variables
CANVAS_API_TOKENCANVAS_BASE_URL
Replace the placeholders with your own credentials and keep them out of version control.