{
    "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
    "name": "io.github.chrischall/canvas-parent-mcp",
    "description": "Canvas LMS (Instructure) for Claude \u2014 courses, grades, assignments, planner, files",
    "repository": {
        "url": "https://github.com/chrischall/canvas-parent-mcp",
        "source": "github"
    },
    "version": "1.1.7",
    "packages": [
        {
            "registryType": "npm",
            "identifier": "canvas-parent-mcp",
            "version": "1.1.7",
            "transport": {
                "type": "stdio"
            },
            "environmentVariables": [
                {
                    "description": "Canvas instance base URL, e.g. https://cms.instructure.com",
                    "isRequired": true,
                    "format": "string",
                    "name": "CANVAS_BASE_URL"
                },
                {
                    "description": "Canvas login username/email (recommended) \u2014 pair with CANVAS_PASSWORD for auto-login. No SSO/2FA.",
                    "format": "string",
                    "name": "CANVAS_USERNAME"
                },
                {
                    "description": "Canvas password (recommended) \u2014 required iff CANVAS_USERNAME is set",
                    "format": "string",
                    "isSecret": true,
                    "name": "CANVAS_PASSWORD"
                },
                {
                    "description": "Canvas personal access token (advanced) \u2014 most schools have disabled token creation",
                    "format": "string",
                    "isSecret": true,
                    "name": "CANVAS_TOKEN"
                },
                {
                    "description": "Canvas OAuth client ID (advanced \u2014 for SSO accounts that can't use username/password)",
                    "format": "string",
                    "name": "CANVAS_CLIENT_ID"
                },
                {
                    "description": "Canvas OAuth client secret (advanced)",
                    "format": "string",
                    "isSecret": true,
                    "name": "CANVAS_CLIENT_SECRET"
                },
                {
                    "description": "Canvas OAuth refresh token (advanced) \u2014 bootstrap via canvas-parent-mcp-qr-login",
                    "format": "string",
                    "isSecret": true,
                    "name": "CANVAS_REFRESH_TOKEN"
                },
                {
                    "description": "Friendly name for the Canvas instance (defaults to the host portion of the base URL)",
                    "format": "string",
                    "name": "CANVAS_NAME"
                }
            ]
        }
    ],
    "_meta": {
        "io.modelcontextprotocol.registry/official": {
            "status": "active",
            "statusChangedAt": "2026-07-05T22:38:11.984535Z",
            "publishedAt": "2026-07-05T22:38:11.984535Z",
            "updatedAt": "2026-07-05T22:38:11.984535Z",
            "isLatest": false
        }
    }
}