Canvas LMS MCP Server & Agent Skill
Last updated
ibl.ai publishes a free Canvas LMS agent skill: a SKILL.md that teaches an AI agent to read and write Canvas LMS data and expose it as an MCP tool. Download it, connect your own Canvas LMS credentials, and run the agent on ibl.ai Agentic OS, where you own all the code and the data.
Canvas is Instructure's learning management system for schools, universities and workforce training. It holds courses, enrollments, assignments, submissions, grades, modules, discussions, files and user messages.
What is the Canvas LMS API, and what can an agent read from it?
REST resources under /api/v1 cover courses, users, enrollments, assignments, submissions, grades and conversations. A GraphQL endpoint at /api/graphql covers a subset with the same permissions.
- API: Canvas LMS REST API (plus Canvas GraphQL API and LTI 1.3 / LTI Advantage) (REST)
- Access: Issued by your administrator
- Base URL: https://{canvas-domain}/api/v1/
- Authentication: OAuth 2.0 authorization code; Personal access token; OAuth 2.0 client credentials with signed JWT (LTI Advantage services)
On Instructure-hosted Canvas, an institution's admin issues developer keys (client ID and secret) scoped to its root account. A user can also generate a personal access token from /profile for testing.
Send Authorization: Bearer <token>. OAuth uses /login/oauth2/auth and /login/oauth2/token; tokens from post-2015 keys expire in 1 hour and need refresh. Admins can enforce per-endpoint scopes like url:GET|/api/v1/courses.
What can an agent read from Canvas LMS?
- Courses β GET /api/v1/courses lists the caller's courses; GET /api/v1/courses/:id returns one course.
- Enrollments and rosters β GET /api/v1/courses/:course_id/enrollments and GET /api/v1/courses/:course_id/users list students, teachers, TAs and observers.
- Assignments β GET /api/v1/courses/:course_id/assignments lists assignments with due dates and points.
- Submissions and grades β GET /api/v1/courses/:course_id/assignments/:assignment_id/submissions lists submissions, scores and grades.
- Conversations (inbox) β GET /api/v1/conversations lists the current user's inbox conversations, newest first.
What can an agent write to Canvas LMS?
- Assignments β POST /api/v1/courses/:course_id/assignments creates; PUT .../assignments/:id edits.
- Grades and comments β PUT /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id posts a grade or comment visible to the student. Confirm with the user first.
- Enrollments β POST /api/v1/courses/:course_id/enrollments enrolls a user; DELETE .../enrollments/:id concludes, deactivates or deletes. Confirm with the user first.
- Messages β POST /api/v1/conversations sends a message to one or more recipients. Confirm with the user first.
- Assignment deletion β DELETE /api/v1/courses/:course_id/assignments/:id removes an assignment. Confirm with the user first.
Limits: Throttling is per access token. Each response carries X-Request-Cost and X-Rate-Limit-Remaining; an exhausted quota returns 429. Lists return 10 items by default; set per_page and follow the Link header.
Grades, submissions, enrollments and rosters held by a school are FERPA-protected education records. Workforce deployments hold employee training records.
How do I connect Canvas LMS to an AI agent over MCP?
As of October 2026 we found no MCP server published by Instructure itself.
The practical path is to host a small MCP server that wraps the Canvas LMS REST API (plus Canvas GraphQL API and LTI 1.3 / LTI Advantage), or to give the agent the calls directly with the SKILL.md below.
On ibl.ai an MCP connection is three records, and a working integration always needs all three:
- Register the server β
POST β¦/mcp-servers/with its URL, a transport (sse,websocketorstreamable_http) and anauth_typeofnone,tokenoroauth2. - Create a connection that holds the credential, scoped to the whole organization (
platform), to a single agent, or to each user (user). - Enable it on the agent β
mcp-toolintool_slugsand the server id inmcp_servers. Both lists are replaced, not merged, so read the settings first.
Canvas LMS supports per-user OAuth, so the server can use auth_type=oauth2 with auth_scope=user: each person connects their own Canvas LMS account in the chat the first time the agent needs it.
The field reference is in MCP server connections, and the /iblai-api-agent-mcp skill runs all three steps from a coding agent.
What does the Canvas LMS agent skill do?
The Canvas LMS skill is one SKILL.md file named iblai-connect-canvas. It gives an agent the auth conventions, what to read, which writes need a person's confirmation, the ibl.ai MCP wiring, example prompts and guardrails.
Download the Canvas LMS SKILL.md
Save it as .claude/skills/iblai-connect-canvas/SKILL.md, or in your agent's skills folder. The ibl.ai platform skills it calls come from one install:
$ npx skills add iblai/vibe --allThis connector skill is a starting point maintained on ibl.ai, not part of the iblai/vibe repository.
It was checked against Instructure's documentation on October 20, 2026. Test it against your own Canvas LMS setup before you rely on it.
What can I ask a Canvas LMS agent to do?
- βList every student in BIO 101 who has not submitted the week 6 lab.β
- βExtend the due date of Essay 2 by three days for the whole section.β
- βShow the grade distribution for the last quiz in my Statistics course.β
- βDraft a Canvas inbox message to students missing two or more assignments.β
How do I run a Canvas LMS agent on ibl.ai?
Agentic OS is where the agent runs on ibl.ai: it holds the Canvas LMS MCP connection, the model the agent uses, its instructions and its conversation history.
On ibl.ai you own all the code and the data, run it model-agnostic across any LLM, and pay with no per-seat pricing β so you can deploy anywhere, from your own cloud to a fully air-gapped network.
- AI agents for Higher Education β what ibl.ai deploys in this sector
- AI agents for K-12 β what ibl.ai deploys in this sector
- AI agents for Enterprise β what ibl.ai deploys in this sector
Which ibl.ai agents work with Canvas LMS data?
- Faculty Assistant β Higher Education
- Study Buddy β Higher Education
- Lesson Planner β K-12
Where does ibl.ai describe the Canvas LMS integration?
- Canvas LMS with Agentic OS β what ibl.ai builds on top of Canvas LMS
- Canvas LMS and ibl.ai β the integration overview
Which ibl.ai platform skills does a Canvas LMS agent use?
- /iblai-api-agent-mcp β MCP connectors for ibl.ai agents, end to end
- /iblai-vibe-agent-mcp β Add the agent MCP tab (Model Context Protocol connector management with featured connectors, custom connectors, OAuth,β¦
- /iblai-api-agent-tool β Enable or disable an ibl.ai agent's tools via the platform API
- /iblai-api-canvas-course-builder β Build and populate Canvas LMS courses through the Canvas REST API
- /iblai-vibe-agent-lti β Add the agent LTI tab (LTI 1.3 launch toggle with agent links, signing keys, tools, and platform endpoints) to yourβ¦
What else should I know before connecting Canvas LMS to an AI agent?
Is there an official Canvas LMS MCP server?
Not that we found as of October 20, 2026: Instructure documents the Canvas LMS REST API (plus Canvas GraphQL API and LTI 1.3 / LTI Advantage), not an MCP server of its own.
The SKILL.md on this page gives an agent the integration directly, and any MCP server you host can be registered on ibl.ai.
Who can get Canvas LMS API credentials?
On Instructure-hosted Canvas, an institution's admin issues developer keys (client ID and secret) scoped to its root account. A user can also generate a personal access token from /profile for testing.
Does Canvas LMS data leave my infrastructure when an ibl.ai agent uses it?
On ibl.ai, you own all the code and the data. Self-hosted in your cloud or data center, the agent, its MCP connections and its conversation logs stay inside your perimeter.
Because the platform is model-agnostic, you can point the agent at a model you host, so Canvas LMS records need not reach a third-party model provider.
Is the Canvas LMS agent skill free to use?
Yes. The SKILL.md is a free download with no sign-up. It assumes you already have Canvas LMS credentials, and your agreement with Instructure still governs how you use its API.
Which other data sources can an AI agent connect to alongside Canvas LMS?
Which other Higher Education systems have a connector?
- 1EdTech OneRoster β Rostering and gradebook data standard
- Blackboard Learn β Learning management system
- D2L Brightspace β Learning management system
- EAB Navigate360 β Student success CRM
- Ellucian Banner β Student information system / ERP
- Ellucian Colleague β Student information system / ERP
- Encoura Reach (Anthology Reach) β Higher-education CRM
- Handshake β Career services and early-career recruiting platform
- Jenzabar One β Higher education ERP and student information system
- Moodle LMS β Learning management system
- PeopleSoft Campus Solutions β Student information system
- Raiser's Edge NXT β Fundraising and donor CRM
- Salesforce Education Cloud β Education CRM
- Slate β Admissions CRM
- Workday Student β Student information system
Which other K-12 systems have a connector?
- 1EdTech OneRoster β Rostering and gradebook data standard
- Blackboard Learn β Learning management system
- ClassLink β Rostering and single sign-on platform
- Clever β Rostering and single sign-on platform
- D2L Brightspace β Learning management system
- Google Classroom β Learning management system
- Infinite Campus β Student information system
- Moodle LMS β Learning management system
- PowerSchool SIS β Student information system
- Schoology β Learning management system
- Seesaw β Elementary learning platform
- Skyward β Student information system
Which other Enterprise systems have a connector?
- Confluence β Team wiki and knowledge base
- Databricks β Data and AI platform (lakehouse)
- Docusign eSignature β Electronic signature platform
- Esri ArcGIS β Geographic information system (GIS)
- GitHub β Source code hosting and collaboration
- Google Workspace β Productivity and collaboration suite
- HubSpot β Customer relationship management (CRM)
- Jira β Work and issue tracking
- Microsoft 365 & SharePoint β Productivity and collaboration suite
- Okta β Identity and access management
- Oracle NetSuite β Cloud ERP and accounting
- PayPal β Online payments platform
- Salesforce β Customer relationship management (CRM)
- SAP S/4HANA β Enterprise resource planning (ERP)
- ServiceNow β IT service management and workflow platform
- Slack β Team messaging platform
- Snowflake β Cloud data warehouse
- Stripe β Online payments and billing platform
- Workday HCM β Human capital management (HCM)
- Zendesk Support β Customer service help desk
Every connector, grouped by sector, is on the connectors hub.