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개 이벤트


🚀 설정

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


F
license - not found
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/adityas0604/MCP-Canvas'

If you have feedback or need assistance with the MCP directory API, please join our Discord server