CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Canvas Mcp

admin978/canvas-mcp
113 toolsauthSTDIOregistry active
Summary

If you're a student tired of Canvas's scattered interface and want programmatic access to your courses, assignments, and notifications, this server wraps the Canvas LMS REST API into ten MCP tools: list_courses, list_assignments, list_modules, get_grades, planner_items, and more. It runs locally over stdio with your personal access token stored in a chmod 600 env file, so no credentials leave your machine except in direct HTTPS calls to Canvas. The repo includes a bulk dump script that pulls every file you have access to for offline indexing. Alpha status, single Python file, MIT licensed.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

Public tool metadata for what this MCP can expose to an agent.

13 tools
get_coursesRetrieve all available Canvas courses for the current user. Returns a dictionary mapping course names to their corresponding IDs.

Retrieve all available Canvas courses for the current user. Returns a dictionary mapping course names to their corresponding IDs.

No parameter schema in public metadata yet.

get_modulesRetrieve all modules within a specific Canvas course.1 params

Retrieve all modules within a specific Canvas course.

Parameters* required
course_idstring
The unique identifier for the Canvas course. Can be found in the course URL or via get_courses.
get_module_itemsRetrieve all items within a specific module in a Canvas course.2 params

Retrieve all items within a specific module in a Canvas course.

Parameters* required
course_idstring
The unique identifier for the Canvas course. Can be found in the course URL or via get_courses.
module_idstring
The unique identifier for the module within the course. Can be found via get_modules.
get_file_urlGet the direct download URL for a file stored in Canvas.2 params

Get the direct download URL for a file stored in Canvas.

Parameters* required
file_idstring
The unique identifier for the file. Can be found in module items or file listings.
course_idstring
The unique identifier for the Canvas course. Can be found in the course URL or via get_courses.
get_course_assignmentsRetrieve all assignments for a specific Canvas course.2 params

Retrieve all assignments for a specific Canvas course.

Parameters* required
bucketstring
Optional filter for assignment status. Valid values: past, overdue, undated, ungraded, unsubmitted, upcoming, future.
course_idstring
The unique identifier for the Canvas course. Can be found in the course URL or via get_courses.
get_assignments_by_course_nameRetrieve all assignments for a Canvas course using its name.2 params

Retrieve all assignments for a Canvas course using its name.

Parameters* required
bucketstring
Optional filter for assignment status. Valid values: past, overdue, undated, ungraded, unsubmitted, upcoming, future.
course_namestring
The name of the course to search for. Partial matches are supported (e.g., 'Biology' will match 'Introduction to Biology').
get_canvas_coursesAlias for get_courses - retrieve all Canvas courses.

Alias for get_courses - retrieve all Canvas courses.

No parameter schema in public metadata yet.

get_gradescope_coursesRetrieve all Gradescope courses for the current user.

Retrieve all Gradescope courses for the current user.

No parameter schema in public metadata yet.

get_gradescope_course_by_nameFind a Gradescope course by name.1 params

Find a Gradescope course by name.

Parameters* required
course_namestring
The name of the Gradescope course to search for. Partial matches are supported.
get_gradescope_assignmentsRetrieve all assignments for a Gradescope course.1 params

Retrieve all assignments for a Gradescope course.

Parameters* required
course_idstring
The unique identifier for the Gradescope course. Can be found via get_gradescope_courses or get_gradescope_course_by_name.
get_gradescope_assignment_by_nameFind a Gradescope assignment by name.2 params

Find a Gradescope assignment by name.

Parameters* required
course_idstring
The unique identifier for the Gradescope course. Can be found via get_gradescope_courses or get_gradescope_course_by_name.
assignment_namestring
The name of the assignment to search for. Partial matches are supported.
get_cache_statsGet cache statistics for debugging purposes. Returns hit/miss counts and cache size.

Get cache statistics for debugging purposes. Returns hit/miss counts and cache size.

No parameter schema in public metadata yet.

clear_cacheClear all cached data. Use this if you need fresh data from Canvas or Gradescope.

Clear all cached data. Use this if you need fresh data from Canvas or Gradescope.

No parameter schema in public metadata yet.

canvas-mcp

Local-first MCP server for Canvas LMS. Stdio transport, no network round-trips beyond the official Canvas API.

Status: alpha. Single-user, no warranty, API surface may still shift. File issues if it breaks.

Why

Canvas is built for instructors. As a student you get a fragmented UI, no cross-course search, and notifications that arrive late or never. This server exposes the Canvas REST API as MCP tools so you can drive the LMS from any MCP-compatible client (Claude Code, Claude Desktop, etc.).

Architecture

[client] ──stdio──> [server.py] ──https──> [Canvas API]
  • Token lives in ~/.canvas.env (chmod 600)
  • Server runs locally, no third party in the path
  • Single file, fully auditable

Tools exposed

list_courses, list_assignments, list_modules, list_announcements, get_page, get_file_info, get_grades, planner_items, upcoming_events, todo.

Setup

1. Mint a Canvas personal access token

In Canvas: Account → Settings → Approved Integrations → + New Access Token. Copy the token shown — it is not retrievable afterwards.

2. Install

From PyPI (recommended):

pip install canvas-local-mcp

Or from source:

git clone https://github.com/admin978/canvas-mcp.git && cd canvas-mcp
python3 -m venv .venv && source .venv/bin/activate
pip install -e .

Then create the env file:

curl -fsSL https://raw.githubusercontent.com/admin978/canvas-mcp/main/.canvas.env.example -o ~/.canvas.env
chmod 600 ~/.canvas.env
# edit ~/.canvas.env: set CANVAS_BASE_URL (institution root, no /api/v1)
# and paste the token into CANVAS_TOKEN

3. Register with your MCP client

Claude Code:

claude mcp add canvas-local -- canvas-local-mcp

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "canvas-local": {
      "command": "canvas-local-mcp"
    }
  }
}

Bulk dump

canvas-local-mcp-dump downloads every file the user has access to (course materials, syllabi). Useful for offline indexing.

canvas-local-mcp-dump              # all active courses
canvas-local-mcp-dump 12345 67890  # specific course IDs

Output goes to ./canvas-dump/ by default. Override with CANVAS_DUMP_DIR=/path/to/dir.

License

MIT — see LICENSE.


Built by AGENTE 404 S.L. · admin@agente404.com

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Configuration

CANVAS_BASE_URL*

Canvas institution root URL (no /api/v1 suffix), e.g. https://your-institution.instructure.com

CANVAS_TOKEN*secret

Canvas personal access token (Account -> Settings -> Approved Integrations -> New Access Token)

Categories
Design & Creative
Registryactive
Packagecanvas-local-mcp
TransportSTDIO
AuthRequired
UpdatedMay 12, 2026
View on GitHub

Related Design & Creative MCP Servers

View all →
HTML to Figma — Design System

miapre/html-to-figma-design-system

Translate HTML prototypes into Figma using your design system's real components and tokens.
3
Illustrator Mcp Server

ie3jp/illustrator-mcp-server

Read, manipulate, and export Adobe Illustrator design data. 26 tools. macOS | Windows.
44
Godot

coding-solo/godot-mcp

MCP server for interfacing with Godot game engine. Provides tools for launching the editor, running projects, and capturing debug output.
3.7k
Unity Mcp

ivanmurzak/unity-mcp

Make 3D games in Unity Engine with AI. MCP Server + Plugin for Unity Editor and Unity games.
3.1k
Excalidraw

yctimlin/mcp_excalidraw

Provides an Excalidraw canvas exposed via MCP for real-time diagramming and element CRUD from AI agents.
1.9k
Figma MCP Server

figma/mcp-server-guide

The Figma MCP server brings Figma design context directly into your AI workflow.
1.6k