canvasMCP
Deploys a read-only MCP server to Cloudflare Workers for interacting with Canvas LMS, supporting courses, assignments, files, and more via a user-generated encrypted endpoint.
README
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
Local development
- Install dependencies:
npm install
- Add a Worker secret for local
wrangler dev:
echo 'CONFIG_ENCRYPTION_SECRET=replace-with-a-long-random-string' > .dev.vars
- Start the Worker locally:
npm run dev
- Open the local URL shown by Wrangler, fill in the form, and copy the generated MCP URL.
Deploy to Cloudflare
- Authenticate if needed:
npx wrangler whoami
- Set the encryption secret:
npx wrangler secret put CONFIG_ENCRYPTION_SECRET
Use a long random value. Example:
openssl rand -base64 32
- Deploy:
npm run deploy
- Open 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:http
License
Licensed under the GNU General Public License v3.0. See LICENSE.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.