Tools & setup
Canvas MCP Server: What It Is, the Options, and the Token Rule Most Guides Skip
Most Canvas MCP servers on GitHub run on a personal Canvas access token, and Instructure's own guide says generating one for an app breaks Canvas API policy. Here's what each route needs, what it can do, and what to check first.
By the Lykke teamUpdated 10 min read
Key takeaways
- A Canvas MCP server is a small program that lets an AI app look up your Canvas courses, assignments and grades for you.
- Instructure has no MCP server students can use yet. On Oct. 20, 2026 it said two-way MCP support is being tested with a first group of institutions and partners.
- Most GitHub servers need a personal Canvas access token, and Instructure's guide says generating one to put into an app violates Canvas API policy.
- A server on your laptop works only with apps on that computer. Claude on the web or phone, ChatGPT and Muse connect from the cloud, so they need a server with a public web address.
- Before installing any server, read its tool list: some can submit assignments, post to discussions or start quiz attempts as you.
In this guide
- What is a Canvas MCP server?
- Does Canvas have an official MCP server?
- The catch: most Canvas MCP servers run on your access token
- Local or hosted: which AI apps can reach the server
- How to set up a Canvas MCP server: three routes compared
- Before you install any Canvas MCP server: a checklist
- What to ask once it's connected
- FAQ
- Sources
A Canvas MCP server is the piece that lets an AI assistant answer "what's due this week?" from your real Canvas account instead of guessing. Search for one and you'll find many GitHub projects, a few hosted services, and very little about the rules that come with them. Most of these servers run on a Canvas access token, and Instructure's own guide says generating a token to paste into an app violates Canvas API policy.
This guide explains what a Canvas MCP server is, whether Instructure makes one, how the three ways of connecting compare, and what to check before you install anything. If you only want your deadlines on a calendar, you may not need a server at all: Canvas can feed your calendar app directly, as the guide to syncing Canvas with Google Calendar shows.
(Searches for "canvas MCP" also return servers for unrelated products with "canva" or "canvas" in their names. This guide is about Canvas, Instructure's learning management system.)
What is a Canvas MCP server?
MCP, the Model Context Protocol, is an open-source standard for connecting AI apps to outside systems, and Claude, ChatGPT, VS Code, Cursor and many other apps support it (MCP documentation). The plain-English explainer on MCP covers the idea in more depth.
An MCP server offers an AI app a menu of tools. A Canvas server's menu might hold "list my courses", "get upcoming assignments", "read this announcement" or "get my grades". When you ask a question, the assistant picks a tool, the server calls Canvas, and the answer comes back into the chat. The free interactive tool-use execution loop demo shows those steps one at a time.
So the server itself isn't smart. It's a translator between the assistant and Canvas, and everything it can do is spelled out in its tool list. That list is the most important thing to read before you install one.
Does Canvas have an official MCP server?
Not one you can use today. Instructure's July 23, 2025 press release launching IgniteAI said trusted partners could connect their agents to its IgniteAgent through the MCP standard. In July 2026 its community site listed "Canvas MCP" as a product testing opportunity: a server that always acts as the signed-in user with that user's existing permissions, where each institution chooses what is turned on (Instructure Community). Then on Oct. 20, 2026, Instructure said two-way ("bi-directional") MCP support will let the agents and AI models an institution prefers work with Canvas securely, and that experimentation is under way with an initial group of institutions and partners (Instructure). It gave no date for wider availability.
Two things follow. Instructure's version is aimed at institutions, so your school will decide whether and when it's switched on, and what it may do. And every Canvas MCP server you can find on GitHub today is a community project, not Instructure's.
The catch: most Canvas MCP servers run on your access token
Open any of the popular repositories and the setup starts the same way: in Canvas, go to Account, then Settings, then Approved Integrations, generate an access token, and paste it into the server's settings. Instructure's guide to access tokens, last updated Oct. 5, 2026, has three rules a student should read first (Instructure):
- A token is you. Whoever holds it reaches the same Canvas resources you can. Instructure says to guard it like your password and revoke it at once if it may have leaked.
- Pasting one into an app is against the rules. The guide says it is a violation of Canvas API policy for a user to generate an access token to insert into an application, and that applications must use approved authentication instead.
- Your school may turn it off, and student tokens are short-lived. Admins can limit token creation to admins, which disables the Add New Access Token button. When students can make one, the expiration date is required and set to 30 days, which Instructure says protects academic integrity, and Canvas emails a warning seven days before it runs out.
None of the four READMEs in the table below mentions the second rule. A token-based server can still work, but you'd be running it against Instructure's stated policy, and your school's admins can limit tokens to admins whenever they choose. Some schools already switch off self-service tokens and hand them out only through an IT request, as the vishalsachdev README notes. If your school offers its own AI integration, ask about that first.
What a token-based server can do depends entirely on its code:
| Server (GitHub) | Needs | Can it change things in Canvas? |
|---|---|---|
| mtgibbs/canvas-lms-mcp | Token and your Canvas URL; runs on your computer, and its desktop extension keeps the token in your OS keychain | No: its README says it only reads data and can't modify assignments or grades |
| vishalsachdev/canvas-mcp | Token and your Canvas URL; runs on your computer | Yes: tools that post and reply in discussions, plus many teacher tools. Its student submit and message tools stay off unless you switch them on, and the setting ALLOWED_WRITE_TOOLS=none removes every write tool |
| DMontgomery40/mcp-canvas-lms | Token and your Canvas domain; runs on your computer by default, with an optional web mode | Yes: its student tools include submitting an assignment, posting to a discussion and sending messages, and it lists a tool that starts quiz attempts |
| plyght/canvas-mcp | Token, your Canvas URL and the Bun runtime; runs on your computer | Yes: its README lists submitting work and sending messages |
A tool that can submit or post is a tool an assistant can call by mistake, or because a document it read told it to. Read-only is the safer default for a student.
Local or hosted: which AI apps can reach the server
Where a Canvas MCP server runs decides which assistants can use it. MCP has two ways to connect: a local server talks to an app on the same computer over standard input and output, and a remote server is reached over the web (MCP architecture).
- Local servers (most GitHub projects) work with apps that run on your computer: Claude Desktop, Claude Code, Cursor, VS Code. They keep the token on your machine, typically in an environment variable or, for some, your operating system's keychain. If the setup steps lose you, the free Missing Semester section on the command-line environment explains standard input and output, the channel these servers talk over.
- Remote servers are what web and phone assistants need. Anthropic's help center says Claude reaches custom connectors from Anthropic's cloud on every Claude client, the mobile apps included, so the server must be reachable over the public internet; local servers set up in Claude Desktop aren't available in claude.ai (Anthropic). ChatGPT connects only to remote servers and asks for the server's public HTTPS address (OpenAI). Meta's Muse runs on its own dedicated computer in Meta's cloud (Meta), so a program on your laptop isn't within its reach either.
If you want Canvas in the assistant on your phone, a local server won't get you there. You'd need a hosted one, which means trusting whoever hosts it with access to your account. If a hosted server asks for your Canvas token, the token rule above still applies, and the token now sits on someone else's machine.
How to set up a Canvas MCP server: three routes compared
| Route | What you need | Works in | Main risk |
|---|---|---|---|
| A community server with your token | A Canvas access token, a runtime such as Node, Python or Bun, a desktop AI app | Desktop apps (Claude Desktop, Claude Code, Cursor) | Against Canvas API policy; student tokens expire in 30 days; some servers can submit or post |
| Your school's own integration | Your school to set it up | Whatever your school installs, such as Claude inside Canvas | It exists only if your school sets it up, and your school decides what it can reach |
| A hosted service that already has your course data | An account with that service | Web, desktop and phone assistants that take a remote MCP link | You trust that service, so check what it can read and change |
Route 1: a community server
If your school lets students create tokens and you accept the policy risk, pick a read-only server and follow the README for your app. When the token reaches its 30 days, the server stops working until you generate a new one and paste it in again. Building your own is also a good learning project: the free course section on tool use and infrastructure covers how assistants call tools.
Route 2: your school's integration
Ask your school's IT help desk or teaching and learning center whether it offers an AI assistant inside Canvas. Anthropic announced Canvas LTI support for Claude on July 9, 2025 (Anthropic), and its setup guide is written for Claude for Education administrators and LMS administrators, so it only appears if your school has installed it. Instructure's own MCP support is planned the same way: its testing listing says each institution chooses what is turned on.
Route 3: a hosted service, no token
Some services sync your courses another way and then offer their own MCP server, so the assistant never touches a Canvas token. Ask the same questions of any of them: what it reads, whether its tools can change anything in Canvas, and whether the connection can be read-only. Lykke is one: its Chrome extension syncs your courses when you open Canvas or press sync, only reading, and Lykke's MCP server signs in with your Lykke account. In Claude, ChatGPT or another app that takes a remote server, you add one link, sign in to Lykke and choose Allow; Lykke's setup guide has the steps for each app.
Before you install any Canvas MCP server: a checklist
Run through this list whichever route you choose:
- Read the tool list. Can it submit, post, message or start a quiz? If you only want answers, pick a server with no write tools, or use its setting to switch them off if it has one.
- Find out where the token lives. In a config file you might commit to GitHub, in an environment variable, in your keychain, or on someone else's server? The free Missing Semester section on security and cryptography teaches threat modeling and password managers, a useful way to think about a token that opens your whole Canvas account.
- Delete the token when you're done. Remove it from Approved Integrations when you stop using the server, and right away if it may have leaked.
- Check who maintains it. Look at the repository's recent activity and open issues. A server nobody updates can break when Canvas changes, with no one to fix it.
- Check your school and your courses. Your school's IT rules may limit tokens, and each syllabus's AI policy still applies to whatever the assistant helps with. The guide to whether using AI is cheating shows how to read those policies.
- Pick your assistant first. Desktop-only servers won't help if you live in the ChatGPT app on your phone. The roundup of free AI tools for students shows what each assistant gives students for free.
What to ask once it's connected
Start with questions that pull together several courses at once, since that's where a connected assistant beats opening Canvas tab by tab:
- "What's due in the next seven days across all my classes, sorted by due date?"
- "Which assignments are worth the most points this month?"
- "Summarize the announcements my professors posted this week."
- "What does the syllabus for my chemistry class say about late work?"
Keep graded work out of it. Even a read-only server gives the assistant your assignment prompts, and your course's AI policy decides whether you may use its help on them. Use the connection for planning and review, not for answers you hand in.
Frequently asked questions
Is there a Canvas MCP server for Claude?
Yes, several community ones on GitHub work with Claude Desktop or Claude Code, and most need a Canvas access token. For Claude on the web or phone, you need a server with a public address added as a custom connector. Your school may also offer Claude inside Canvas through Anthropic's Canvas LTI, which school administrators set up.
Does Canvas have its own MCP server?
Not one students can use yet. Instructure said on Oct. 20, 2026 that bi-directional MCP support, which lets a school's chosen AI agents work with Canvas, is being tested with a first group of institutions and partners. Its testing listing says the server acts as the signed-in user with their existing permissions and that each institution chooses what is turned on, so your school decides whether you get it.
Is it against the rules to use a Canvas access token with an AI app?
Instructure's guide says it is a violation of Canvas API policy for a user to generate an access token to insert into an application. Your school may also restrict token creation entirely. Check with your school's IT office before relying on a token-based server.
Can a Canvas MCP server submit assignments for me?
Some can. One GitHub server lists a tool that submits assignment work, and others post to discussions or send messages. That means an assistant could act in Canvas as you. Choose a read-only server, and check each course's AI policy before using any assistant on graded work.
How long does a Canvas access token last?
For students, 30 days. Instructure's guide says the expiration date is required for students and is set to 30 days, with a warning email seven days before it expires; new instructor tokens get 90 days. You can also delete a token yourself from Approved Integrations in your Canvas settings.
Can I use a Canvas MCP server on my phone?
Only a hosted one. Servers you install from GitHub usually run on your computer and work with desktop apps. Claude's mobile app reaches connectors from Anthropic's cloud, and ChatGPT connects only to remote servers, so either one needs a server with a public web address.
Sources
- How do I manage API access tokens in my user account? — Instructure Community
- What We Shared at the October 2026 New & Next Showcase — Instructure
- Canvas MCP — Instructure Community
- Instructure Launches IgniteAI to Simplify and Seamlessly Transform AI Integration in Education — Instructure
- What is the Model Context Protocol (MCP)? — Model Context Protocol
- Architecture overview — Model Context Protocol
- Get started with custom connectors using remote MCP — Anthropic
- Advancing Claude for Education — Anthropic
- Set up the Claude LTI in Canvas by Instructure — Anthropic
- Connecting custom MCP servers in ChatGPT — OpenAI Help Center
- Introducing Muse: The World's First Personal AI Agent Built for Everyone — Meta
- canvas-lms-mcp — GitHub (mtgibbs)
- canvas-mcp — GitHub (vishalsachdev)
- mcp-canvas-lms — GitHub (DMontgomery40)
- canvas-mcp — GitHub (plyght)
This guide was researched from the sources above, drafted with AI assistance and checked against those sources before it was published. Dates, deadlines and offers change: check the official page before you act. Found something wrong or out of date? Email support@getlykke.com.