Skip to main content
Glama
salvadoracuna

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

  1. Войдите на сайт Canvas вашего учебного заведения (например, https://canvas.fen.uchile.cl)

  2. Перейдите в Account → Settings → Approved Integrations

  3. Нажмите + 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 sync

4. Запустите сервер вручную (необязательная проверка)

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

Доступные инструменты

Инструмент

Описание

get_courses

Список всех активных курсов, на которые вы записаны

get_assignments(days_ahead=30)

Список предстоящих заданий, отсортированных по сроку сдачи

get_announcements

Список последних объявлений по каждому курсу

Структура проекта

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 versions
Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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