canvasMCP
Provides read-only access to Canvas LMS resources including courses, assignments, files, PDF text extraction, folders, modules, pages, announcements, discussion topics, quizzes, calendar events, and todo items.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@canvasMCPlist my courses"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Canvas MCP on Cloudflare
This project deploys a read-only Canvas MCP server to Cloudflare Workers.
It includes a setup page so any user can:
Enter their Canvas base URL
Enter their Canvas access token
Generate a private MCP endpoint to paste into Poke
The generated MCP URL contains an encrypted Canvas configuration. Treat it like a password.
What it supports
Courses
Assignments
Files
PDF text extraction
Folders
Modules
Pages
Announcements
Discussion topics
Quizzes
Calendar events
Todo items
Related MCP server: Remote MCP Server (Authless)
Local development
Install dependencies:
npm installAdd a Worker secret for local
wrangler dev:
echo 'CONFIG_ENCRYPTION_SECRET=replace-with-a-long-random-string' > .dev.varsStart the Worker locally:
npm run devOpen the local URL shown by Wrangler, fill in the form, and copy the generated MCP URL.
Deploy to Cloudflare
Authenticate if needed:
npx wrangler whoamiSet the encryption secret:
npx wrangler secret put CONFIG_ENCRYPTION_SECRETUse a long random value. Example:
openssl rand -base64 32Deploy:
npm run deployOpen the deployed Worker URL. Users can generate their own MCP URL from the setup page.
Poke setup
In Canvas, create an access token from
Account > Settings.Open the deployed setup page.
Paste the Canvas base URL and token.
Copy the generated MCP URL.
In Poke, add an integration and use that generated MCP URL as the server URL.
Optional local Node mode
The original local server still works if you prefer fixed environment variables:
CANVAS_BASE_URL=https://canvas.school.edu \
CANVAS_TOKEN=your-token \
npm run start:httpLicense
Licensed under the GNU General Public License v3.0. See LICENSE.
This server cannot be installed
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
- 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/guirguispierre/canvasMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server