
Canvas Lms Mcp Local
io.github.Fireiscoolsolo由 GitHub 帳號 Fireiscoolsolo 發布v1.3.0更新於 Nov 8, 2026
Student-focused Canvas LMS: 237 tools for grades, deadlines, planning, submissions and study plans.
概覽
在本機執行的 Canvas LMS 伺服器,為 AI 助理提供 237 個工具,涵蓋成績、截止日期、讀書計畫、課程內容、作業繳交與訊息。
- 可以做什麼
- 規劃行程:每日簡報、一週概況、學期快照、讀書計畫、待辦筆記、把截止日期匯出到行事曆
- 分析成績:期末成績情境、假設分數、成績影響排序、GPA 計算
- 讀取作業與課程內容:含評分規準的作業說明、缺交作業、PDF、Word 文件、簡報檔、頁面、模組
- 繳交與討論:文字、連結與檔案繳交、留言、討論回覆、收件匣訊息
- 查詢課程、小組、評分規準、測驗(唯讀)、行事曆活動與聯絡人
- 對其他 Canvas 端點發出原始請求,並跨課程搜尋
- 適用情境
- 適合想讓助理在自己的電腦上追蹤 Canvas 截止日期、說明作業與評分規準、安排讀書時間並推算成績的學生,且不會把任何內容暴露到網際網路。
- 執行需求
- 透過 npx 以 stdio 在本機執行,需要 Node.js 18 以上(讀取 PDF 需 22 以上);使用 Claude Desktop 擴充套件則不需 Node.js。需要 Canvas 帳號、在 CANVAS_API_TOKEN 提供個人存取權杖(也可用權杖檔案或系統鑰匙圈),並在 CANVAS_BASE_URL 填入學校的 Canvas 網址。需要能連線到學校 Canvas 的網路。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Canvas Lms Mcp Local,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
[!TIP] Want it on your phone, on the web, or across several computers? Go to the Remote Edition → (website). It has the same 237 tools, served over a password-protected tunnel with a status page, phone alerts and automatic failover between computers.
Canvas LMS MCP: Local Edition
Use Canvas from your AI assistant on your own computer. No tunnel, no passwords, no background service.
237 tools · One-command setup · Nothing exposed to the internet
[npm] [npm downloads] [npm downloads per month] [Release downloads] [Tests] [Windows app] [Glama score] [GitHub stars] [Node.js] [MCP] [License: MIT] [Website] [PRs welcome]
Website · Quick start · Configuration · Tools · Troubleshooting · Changelog
[!TIP] On Windows? Skip the terminal. The free Canvas MCP Installer Assistant sets this up in Claude Desktop, the ChatGPT desktop app and other AI apps with pictures and a check after every step, or does every step for you. Download for Windows
[Example chat: asking what score is needed on the final and what's due this week (sample data)]
Local or Remote?
Highlights
- Your day and week:
daily_briefing,get_week_ahead,semester_snapshot, cross-course missing work in one call - Planner: add your own to-do notes, check items off your Canvas To Do list, export deadlines to Google, Apple or Outlook calendars
- Study plans:
study_planspreads study time before each deadline around your calendar;schedule_study_planputs it on your Canvas calendar - Grade intelligence:
final_grade_scenarios(what you need for each letter, with group weights),what_if_grade,grade_impact_ranking,calculate_gpa - Assignments:
assignment_briefgives the instructions, rubric, late policy and linked files in one call - Submissions, discussions and inbox: submit, post and message, always after you confirm (apps that support it ask you directly)
- Content: read lecture PDFs, Word docs and slides with
read_course_file, plus pages, modules, captions and full course export - Prompts and attachments: one-click prompts like Daily briefing, Start this assignment and Am I on track to pass?, and attach a syllabus or assignment to a chat
How it works
No web server, no ports, nothing to keep running. Your AI app starts the server when it opens and stops it when it closes.
Quick start
[!NOTE] Rather click than type? Download the Canvas MCP Installer Assistant for Windows. It walks you through these steps with pictures and checks each one as you go, for both the Local and Remote editions. See screenshots.
Windows may show "Windows protected your PC" because the app isn't code-signed yet. Click More info, then Run anyway.
You need: Node.js 18+ (22+ to read PDFs) and a Canvas account.
1. Create a Canvas access token
In Canvas, go to Account → Settings → Approved Integrations → + New Access Token. Canvas only shows the token once, so copy it right away. Student tokens usually expire after 30–120 days.
2. Add it to your AI app
Easiest: one command (Windows, macOS and Linux)
It asks for your school's Canvas address and your token, checks they work, then adds Canvas to the apps you pick: Claude Desktop, the ChatGPT desktop app, Claude Code, Cursor, VS Code, Windsurf, Gemini CLI and LM Studio. Your old settings are backed up first. It can also keep the token in Windows Credential Manager, the macOS Keychain or the Linux keyring instead of in each app's settings file.
Afterwards, fully quit and reopen your app (the command tells you how for each one).
Claude Desktop: one-click extension
- Download
canvas-lms.mcpbfrom the latest release. - Open it (double-click, or drag it into Claude Desktop's Settings → Extensions).
- Click Install, then enter your school's Canvas address and your token when Claude asks.
The extension includes everything it needs, so you don't have to install Node.js for it.
Desktop apps, by hand
-
Open your app's MCP config file. It's usually under Settings → Developer or Settings → MCP servers, and most apps use an
mcpServersJSON block.npx canvas-lms-mcp-local print-config <app>prints the exact snippet for each app. -
Add this
canvasentry with your token and school address (also inmcp_config.example.json): -
Fully quit the app: on Windows, right-click the tray icon and choose Quit; on macOS, press ⌘Q. Then reopen it. Closing the window isn't enough.
ChatGPT desktop app, by hand
-
Open Settings → Plugins, go to the MCPs tab, then click Add → Add MCP server.
-
Choose STDIO and fill in the form. On Windows, each argument goes in its own box:
-
Click Save, then start a new chat. Chats that were already open don't pick up new tools.
Command-line clients
Register this command as a stdio MCP server named canvas, with CANVAS_API_TOKEN and CANVAS_BASE_URL set in its environment:
For Claude Code, npx canvas-lms-mcp-local setup --apps claude-code does it for you. Then check your client's MCP status to confirm it's connected.
3. Try it
Ask your assistant: "Run test_connection." It checks your identity, courses, planner, inbox and missing submissions, and reports any features your school has disabled.
Then try: "Give me my daily briefing", "What do I need on the rest of Biology to get a B?", "Plan my study time for the next two weeks" or "Explain the Lab 4 assignment and its rubric."
If something isn't working, run npx canvas-lms-mcp-local doctor. It checks Node, each app's settings and your token, and says how to fix what it finds.
Prefer running from source?
Copy .env.example to .env in the same folder as index.js, fill in your token and school address, then point your config at the file instead of npx:
Forward slashes work on Windows. On macOS, the path looks like /Users/you/canvas-lms-mcp-local/index.js. On Windows, make sure the file is named .env, not .env.txt. To check, turn on View → File name extensions in File Explorer.
The tools live in core/, which is shared with the Remote Edition: change them here, then run npm run sync-core to copy them across. npm test runs every tool against a fake Canvas, so no token is needed.
Configuration
Put settings in the env block of your config, as in step 2. If you run from source, you can use .env next to index.js instead.
* One of CANVAS_API_TOKEN, CANVAS_API_TOKEN_FILE or CANVAS_TOKEN_STORE.
Tools
Long lists come one page at a time (limit and page), dates read like "Fri, Nov 7, 11:59 PM (in 2 days)", and Canvas errors are explained with the fix. In your token's last week, answers carry a heads-up so the assistant can remind you to renew it.
Prompts and attachments
The server also adds these to your AI app's menus. They don't count as tools.
- Prompts: Daily briefing, Plan my week, Plan my study blocks, What did I miss?, Start this assignment, Prep me for an exam, How are my grades?, Am I on track to pass?, Catch me up on a course, Draft an email to my professor and Semester wrap-up. Each one tells the assistant which tools to use, and course names autocomplete.
- Attachments: attach a course syllabus, or an assignment due in the next 14 days, to a chat the same way you'd attach a file.
Apps that support MCP prompts and resources, such as Claude Desktop, show them in the + menu.
Security
- Nothing is exposed: the server doesn't listen on any port. Only the app that started it can talk to it, through a private pipe.
- Confirmation gate: tools that send, submit, post, upload or delete need confirmation. Apps that can ask you directly always do, and nothing the AI sends can skip that. Other apps get a preview and a one-time token that only works for that exact request, for 5 minutes. The token can't prove you agreed, so keep your AI app's own "ask before running" setting on for these tools.
- Prompt-injection fencing: text other people wrote (posts, messages, comments, rubric notes) is wrapped in
<<<CANVAS_CONTENT>>>markers and labelled as untrusted. - Your token stays private: every request is checked, so it can only go to your school's Canvas. It's never written to logs, and can live in your system's password store instead of a config file.
- Safe downloads: files only go in your download folder, never replace another file, and have their names cleaned.
- Private files stay private: uploads refuse
.envfiles, keys, sign-in files, and the folders where browsers and AI apps keep their data. - No quiz-taking: quiz attempt endpoints are deliberately not included, and writes to them are refused for every tool, however the address is written.
Never commit
.env. It's already listed in.gitignore. See SECURITY.md.
Responsible use
This is a study and organization tool. It helps you see deadlines, understand your grades and plan your week. It never takes quizzes, and nothing is sent or submitted until you've confirmed it.
- Follow your school's academic integrity and acceptable-use policies. Some schools restrict personal API tokens or third-party tools.
- Want to be sure nothing in Canvas changes? Set
CANVAS_ALLOW_WRITES=falsefor read-only mode. Downloads still work, into your download folder.
Troubleshooting
Start with npx canvas-lms-mcp-local doctor: it checks everything below and says what to fix.
Known limits: a student token can't reach admin endpoints, gradebook history, course analytics or quiz statistics. smart_search is a Canvas beta feature and often returns 404. Canvas doesn't let other apps add ePortfolio entries.
License
MIT. This project isn't affiliated with Instructure.
來源:README.md,提交 8be2dad
工具
0版本歷史
8- v1.3.0最新Nov 8, 2026
- v1.2.1Nov 5, 2026
- v1.2.0Nov 3, 2026
- v1.1.3Oct 31, 2026
- v1.1.2Oct 30, 2026
- v1.1.0Oct 29, 2026
- v1.0.1Oct 21, 2026
- v1.0.0Oct 14, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
