Skip to main content
Glama
mcp-canvas-utem
by k0ngan

canvas_sync_all_courses

Sync all Canvas courses for a semester into an Obsidian vault as tagged Markdown notes and update the course index, with optional file and discussion downloads.

Instructions

Sincroniza al vault todos los cursos de un semestre y actualiza el índice.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "canvas_sync_all_courses"
  }
}

Input Schema

NameRequiredDescriptionDefault
termNo
dry_runNo
all_termsNo
page_bodiesNo
download_filesNo
include_discussionsNo
include_announcementsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It does disclose two real behaviors — writing into the vault and updating the index — but says nothing about whether it is destructive or overwrites existing vault content, whether it is idempotent, how long a full-semester sync takes, or that a dry-run mode exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence with no filler, and the primary action is front-loaded. Being so short is efficient, though here brevity shades into under-specification given seven undocumented parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a high-complexity bulk mutation: seven optional parameters, no annotations, no output schema, and no description of what the sync result looks like or how failures are reported. The description covers roughly one of those seven parameters and none of the risk profile, so an agent cannot invoke it confidently beyond the trivial default call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across seven parameters, and the description only hints at one of them ("semestre" ≈ term). Six options — dry_run, all_terms, page_bodies, download_files, include_discussions, include_announcements — are left entirely unexplained, including consequential ones like dry_run and all_terms that change the blast radius of the operation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb plus resource ("Sincroniza al vault todos los cursos de un semestre") and adds a side effect ("actualiza el índice"). The scope "todos los cursos de un semestre" implicitly separates it from the single-course sibling canvas_sync_course, though the sibling is never named.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied through scope: a whole semester of courses, versus the singular canvas_sync_course. There is no explicit statement of when to prefer this bulk operation, no prerequisite or ordering guidance (e.g. relative to canvas_vault_status or canvas_course_inventory), and nothing about when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.