canvas-mcp
canvas-mcp
MCP-сервер, который предоставляет данные Canvas LMS (курсы, задания, объявления) любому MCP-совместимому клиенту (Claude Desktop, Claude Code и т. д.).
В этом репозитории нет учётных данных. Здесь нет ни токена Canvas, ни адреса электронной почты. Вы предоставляете свой собственный токен в локальном файле
.env, который игнорируется git и никогда не покидает ваш компьютер. См. Куда помещается ваш токен.
Предварительные требования
uv (менеджер пакетов Python)
Учётная запись Canvas LMS с API-токеном
Related MCP server: canvas-mcp
Настройка
1. Создайте API-токен Canvas
Войдите на сайт Canvas вашего учебного заведения (например,
https://canvas.fen.uchile.cl)Перейдите в Account → Settings → Approved Integrations
Нажмите + New Access Token, дайте ему имя и скопируйте токен
2. Настройте окружение
Куда помещается ваш токен: в файл с точным именем .env в корне папки этого проекта (рядом с main.py). Этот файл указан в .gitignore, поэтому git никогда не закоммитит и не отправит его.
Скопируйте шаблон:
cp .env.example .envЗатем откройте .env и заполните пропуски:
# Your Canvas instance URL -- change this to your school's Canvas address
CANVAS_URL=https://canvas.fen.uchile.cl
# Paste the token from step 1 here
CANVAS_API_TOKEN=
# Optional second account (use account="udd" in the tools). Leave blank if unused.
CANVAS_UDD_URL=
CANVAS_UDD_TOKEN=Обязательными являются только CANVAS_URL и CANVAS_API_TOKEN. Пара CANVAS_UDD_* предназначена для дополнительной второй учётной записи Canvas; оставьте оба поля пустыми, если у вас только одна.
Никогда не коммитьте
.env, не вставляйте свой токен в чат и не помещайте его в файл, который будет передан другим. Он предоставляет полный доступ к вашей учётной записи Canvas. Если он утёк, удалите токен в Canvas (Account -> Settings -> Approved Integrations) и создайте новый.
3. Установите зависимости
uv sync4. Запустите сервер вручную (необязательная проверка)
uv run python main.pyСервер общается через stdio, поэтому он ничего не выводит, пока не подключится MCP-клиент.
Подключение к Claude Desktop
Добавьте следующее в файл конфигурации Claude Desktop:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"canvas": {
"command": "uv",
"args": ["run", "--project", "/absolute/path/to/canvas-mcp", "python", "main.py"]
}
}
}Замените /absolute/path/to/canvas-mcp на реальный путь к этой папке. Используйте прямые слэши / даже в Windows.
В этот файл не помещается токен. Он считывается из вашего
.env(см. Куда помещается ваш токен) —python-dotenvзагружает его автоматически.
Подключение к Claude Code
Добавьте MCP-сервер в настройки Claude Code или выполните:
claude mcp add canvas -- uv run --project /absolute/path/to/canvas-mcp python main.pyДоступные инструменты
Инструмент | Описание |
| Список всех активных курсов, на которые вы записаны |
| Список предстоящих заданий, отсортированных по сроку сдачи |
| Список последних объявлений по каждому курсу |
Структура проекта
canvas-mcp/
├── main.py # MCP server
├── .env # Your token lives here (git-ignored, never pushed)
├── .env.example # Template
├── pyproject.toml # Project metadata & dependencies
└── uv.lock # Locked dependency versionsMaintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server for Canvas LMS enabling parent observers and students to access courses, assignments, grades, and more. Supports multiple authentication methods including token, OAuth, and a convenient fetchproxy fallback.18165MIT
- AlicenseNot gradedqualityCmaintenanceEnables managing Canvas LMS courses, assignments, grades, modules, and more from MCP-compatible clients like Claude Desktop, Kiro, or Amazon Q Developer.MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Canvas LMS with automatic OAuth authentication. Enables interaction with courses, assignments, grades, modules, discussions, quizzes, files, calendar, messaging, and more without manual API token management.339MIT
- AlicenseNot gradedqualityCmaintenanceA read-only MCP server for Canvas LMS that exposes a user's courses, upcoming work, and assignments as callable tools.MIT
Related MCP Connectors
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
MCP adapter for the Paxaver school community platform. Streamable HTTP, OAuth 2.1, capability auth.
MCP server for the Inistate platform: module discovery, entry management, and activity submission.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/salvadoracuna/canvas-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server