Skip to main content
Glama

🎓 Canvas LMS MCP 서버

Claude AI를 Canvas LMS 계정에 연결하여 자연어로 강의 관련 내용을 상호작용할 수 있게 해주는 강력한 Model Context Protocol (MCP) 서버입니다.

Python · Canvas REST API · MCP SDK로 구축됨


✨ 기능 (4개 모듈, 14개 도구)

📚 과제 및 강의

도구

설명

canvas_get_course_list

활성화된 모든 수강 강의 목록

canvas_get_assignments

모든 과제 가져오기 (전체 또는 필터링)

canvas_get_upcoming_deadlines

향후 N일 이내의 마감일 (긴급도에 따라 색상 구분)

canvas_get_assignment_details

특정 과제의 상세 정보

canvas_get_submission_status

모든 강의의 제출 여부 및 미제출 현황

📊 성적

도구

설명

canvas_get_course_grades

시각적 진행률 표시줄이 포함된 현재 성적

canvas_get_grade_breakdown

누적 합계가 포함된 과제별 성적 분석

canvas_get_missing_assignments

제출하지 않은 모든 과제

📢 공지사항 및 모듈

도구

설명

canvas_get_announcements

강의별 최근 공지사항

canvas_get_course_modules

잠김/완료 상태가 포함된 모듈

canvas_get_module_items

완료 체크박스가 포함된 모듈 내 항목

📅 캘린더

도구

설명

canvas_get_calendar_events

향후 N일간의 모든 이벤트

canvas_get_weekly_schedule

주간 일정 한눈에 보기

canvas_get_upcoming_events

모든 강의의 향후 N개 이벤트


Related MCP server: Canvas LMS MCP Server

🚀 설정

1. 저장소 복제

git clone https://github.com/yourusername/canvas-mcp.git
cd canvas-mcp

2. 의존성 설치

pip install -r requirements.txt

3. Canvas 자격 증명 구성

cp .env.example .env

.env 파일 편집:

CANVAS_BASE_URL=https://yourschool.instructure.com
CANVAS_API_TOKEN=your_token_here

Canvas API 토큰을 얻는 방법:

  1. Canvas에 로그인

  2. **계정(Account) → 설정(Settings)**으로 이동

  3. **승인된 통합(Approved Integrations)**으로 스크롤

  4. 새 액세스 토큰(New Access Token) 클릭

  5. 토큰을 복사하여 .env 파일에 붙여넣기

4. Claude Desktop 구성

claude_desktop_config.json에 다음 내용을 추가하세요:

Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "canvas": {
      "command": "python",
      "args": ["/absolute/path/to/canvas-mcp/server.py"],
      "env": {
        "CANVAS_BASE_URL": "canvas_base_url"
        "CANVAS_API_TOKEN": "your_token_here"
      }
    }
  }
}

5. Claude Desktop 재시작

이제 Claude 사이드바에 Canvas 도구가 나타납니다!


💬 예시 프롬프트

연결 후 Claude에게 다음과 같이 질문해 보세요:

  • "이번 주에 마감인 과제가 뭐야?"

  • "현재 예상 학점이 어떻게 돼?"

  • "제출하지 않은 과제가 있어?"

  • "교수님이 최근에 올린 공지사항이 뭐야?"

  • "강의 12345의 성적 분석을 보여줘"

  • "이번 주 일정은 어떻게 돼?"


🗂️ 프로젝트 구조

canvas-mcp/
├── server.py           # MCP server entry point (14 tools)
├── canvas_client.py    # Canvas REST API wrapper with pagination
├── tools/
│   ├── assignments.py  # Assignment & course tools
│   ├── grades.py       # Grade tools
│   ├── announcements.py# Announcement & module tools
│   └── calendar.py     # Calendar tools
├── .env.example        # Environment config template
├── requirements.txt
└── README.md

🔒 개인정보 보호 및 보안

  • 읽기 전용 — 이 서버는 귀하의 Canvas 데이터를 작성, 제출 또는 수정하지 않습니다.


🛠️ 기술 스택

  • Python 3.10+

  • MCP SDK — Model Context Protocol

  • httpx — 비동기 지원 HTTP 클라이언트

  • python-dotenv — 환경 설정

  • Canvas LMS REST API


Related MCP Connectors

Related MCP Servers