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 "Deploy 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 deployed
Maintenance
Related MCP Connectors
Hosted remote MCP server for YNAB on Cloudflare Workers with OAuth
Cloudflare Workers MCP server: interactive-api-playground
Cloudflare Workers MCP server: citation-verifier
Cloudflare Workers MCP server: a11y-scorer
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceDeploys a remote MCP server on Cloudflare Workers without authentication, enabling integration with MCP clients like Cloudflare AI Playground or Claude Desktop.-
- FlicenseNot gradedqualityCmaintenanceDeploys a remote MCP server on Cloudflare Workers without authentication, enabling tool-based AI interactions from clients like Claude Desktop and AI Playground.-
- FlicenseNot gradedqualityCmaintenanceDeploys a customizable remote MCP server on Cloudflare Workers without authentication, enabling tools to be used with clients like Claude Desktop and Cloudflare AI Playground.-
- FlicenseNot gradedqualityCmaintenanceDeploys a remote MCP server on Cloudflare Workers without authentication, allowing tool usage from clients like Claude Desktop or Cloudflare AI Playground.-