Skip to main content
Glama
salvadoracuna

canvas-mcp

canvas-mcp

Canvas LMS 데이터(강좌, 과제, 공지사항)를 모든 MCP 호환 클라이언트(Claude Desktop, Claude Code 등)에 노출하는 MCP 서버입니다.

이 저장소에는 자격 증명이 포함되어 있지 않습니다. Canvas 토큰이나 이메일 주소가 어디에도 없습니다. 사용자는 로컬 .env 파일에 자신의 토큰을 직접 입력해야 하며, 이 파일은 git에서 무시되고 기기 밖으로 나가지 않습니다. 토큰이 저장되는 위치를 참조하세요.

사전 요구 사항

  • uv (Python 패키지 관리자)

  • API 토큰이 있는 Canvas LMS 계정

Related MCP server: canvas-mcp

설정

1. Canvas API 토큰 생성

  1. 학교의 Canvas 사이트에 로그인합니다(예: https://canvas.fen.uchile.cl)

  2. 계정 → 설정 → 승인된 통합으로 이동합니다.

  3. + 새 액세스 토큰을 클릭하고 이름을 지정한 다음 토큰을 복사합니다.

2. 환경 구성

토큰이 저장되는 위치: 이 프로젝트 폴더의 루트(main.py 바로 옆)에 정확히 .env라는 이름의 파일에 저장됩니다. 이 파일은 .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_URLCANVAS_API_TOKEN만 필수입니다. CANVAS_UDD_* 쌍은 선택적인 두 번째 Canvas 계정용입니다. 계정이 하나뿐이면 둘 다 비워 두세요.

.env를 커밋하지 말고, 토큰을 채팅에 붙여넣지 말고, 공유되는 파일에 넣지 마세요. 토큰은 Canvas 계정에 대한 전체 액세스 권한을 부여합니다. 유출된 경우 Canvas에서 토큰을 삭제(계정 → 설정 → 승인된 통합)하고 새로 생성하세요.

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에 연결

Claude Code 설정에서 MCP 서버를 추가하거나 다음을 실행합니다:

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