canvas-mcp-lite
canvas-mcp-lite
Canvas LMS용으로 FastMCP로 구축된, 강사 중심의 경량 MCP 서버입니다. AI 어시스턴트가 Canvas 인스턴스에서 조교 역할을 수행할 수 있게 해줍니다: 과정 탐색, 학생 제출물 읽기(PDF/DOCX 파일 업로드 포함), 루브릭으로 채점, 공지 게시, 모듈 및 페이지 관리 등.
Tools
11개 Canvas 도메인에 걸친 64개 도구, 위험 수준별로 구성:
그룹 | 개수 | 예시 |
읽기 | 32 |
|
쓰기 | 23 |
|
삭제 | 9 |
|
주요 기능:
학생이 실제로 제출한 내용 읽기 —
get_submission_content는 업로드된 PDF, DOCX 파일 및 일반 텍스트(입력한 텍스트 항목, URL, 토론 제출물 포함)에서 텍스트를 추출하고 제출물 댓글 스레드를 포함하므로 채점 도구가 실제 콘텐츠를 기반으로 작동합니다.실제 채점 워크플로 —
list_ungraded_submissions는 채점 대기열이고,grade_submission은 점수, 합격/불합격, 문자 및 백분율 성적을 처리하며(Canvas가 댓글은 저장하지만 성적을 거부할 때 부분 성공을 보고),post_grades/hide_grades는 학생이 결과를 볼 시점을 제어합니다.과정 코드 또는 ID — 모든 과정 범위 도구는 숫자 과정 ID 또는
course_code문자열(짧은 TTL 캐시로 해석)을 허용합니다.기본적으로 안전 — 달리 지정하지 않는 한 과제와 페이지는 비공개 상태로 생성되며, 파괴적인 도구는 명확하게 표시됩니다.
LLM 친화적 출력 — 모든 도구는 원시 JSON 대신 형식화된 읽기 가능한 텍스트를 반환합니다.
Related MCP server: Canvas MCP
설정
Python 3.10+ 필요.
설치 (프로젝트 루트에서 편집 가능 모드로):
python -m venv .venv source .venv/bin/activate pip install -e .자격 증명 구성 — 패키지 옆의
.env파일에:CANVAS_API_URL=https://yourschool.instructure.com/api/v1 CANVAS_API_TOKEN=your-canvas-access-tokenCanvas의 Account → Settings → New Access Token에서 토큰을 생성하세요.
.env는 작업 디렉터리가 아닌 패키지 위치를 기준으로 로드됩니다. MCP 클라이언트가 임의의 디렉터리에서 서버를 실행하기 때문입니다.실행 — 콘솔 스크립트로:
canvas-mcp-lite
Claude와 함께 사용하기
stdio MCP 서버로 등록하세요. Claude Code의 경우:
claude mcp add canvas -- /path/to/.venv/bin/canvas-mcp-lite또는 Claude Desktop / MCP 클라이언트 구성에서:
{
"mcpServers": {
"canvas": {
"command": "/path/to/.venv/bin/canvas-mcp-lite"
}
}
}프로젝트 구조
canvas_mcp_lite/
server.py FastMCP entry point; registers READ/WRITE/DELETE tool lists
client.py Async Canvas API client: auth, pagination, retry, errors
util.py Course code → ID resolution (cached), date formatting
tools/ One module per domain: courses, assignments, grading,
modules_pages, announcements, discussions, files, quizzes,
messaging, peer_review, analytics참고 사항
패키지 이름은
canvas_mcp_lite이며 상대 가져오기를 사용합니다 —python server.py가 아닌 설치된canvas-mcp-lite스크립트로 실행하세요.텍스트 추출을 위한 파일 다운로드는 25MB로 제한됩니다. 스캔/이미지 전용 PDF는 텍스트 대신 알림을 반환합니다.
Canvas API 오류는 상태 코드와 URL과 함께 표시됩니다. 일시적 시간 초과는 백오프로 재시도됩니다.
Maintenance
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
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Canvas LMS through 25 comprehensive tools. Supports course management, assignments, grades, messaging, calendar events, and file access through natural language.33912MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with Canvas LMS and Gradescope, allowing users to query courses, assignments, modules, calendar events, and find relevant resources using natural language.59ISC
- AlicenseAqualityCmaintenanceEnables AI systems to interact with Canvas Learning Management System data, allowing users to access courses, assignments, quizzes, planner items, files, and syllabi through natural language queries.227MIT
- AlicenseBqualityBmaintenanceEnables AI assistants to manage Canvas LMS courses, announcements, rubrics, assignments, modules, pages, and student data via the Canvas API.603612MIT
Related MCP Connectors
Give AI agents access to form submissions — read, search, update, and process file attachments.
Voice-led, FSRS-scheduled flashcards from YouTube, PDFs, web, or text. Auto-graded quizzes.
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
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/vkumar04/canvas-mcp-lite'
If you have feedback or need assistance with the MCP directory API, please join our Discord server