Skip to main content
Glama

get_submission

Retrieve a student's Canvas submission with files, links, lateness, prior comments, and grade to review and grade assignments.

Instructions

A student's submitted work as text (text entry, URL, PDF/DOCX/code/notebook/.sb3 files, linked Google Docs), QR-code links, lateness, previous comments and grade.

Input Schema

NameRequiredDescriptionDefault
attemptNoRead an earlier attempt (default: latest). See 'attempts' in the result.
user_idYes
course_idYes
fetch_linksNoDownload publicly shared Google Docs/Slides/Sheets the student linked instead of uploading
assignment_idYes
download_filesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses the return payload but omits the significant side effect that download_files defaults to true and that files are downloaded (implied by the sibling clear_downloaded_files), plus no note on auth or rate limits for external Google Docs fetches.

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?

One dense sentence with no filler; the content list is front-loaded. It is a sentence fragment rather than a full statement, but nothing in it is wasted.

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

Completeness3/5

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

With no output schema, the description usefully enumerates what comes back (text, files, QR links, lateness, comments, grade), which is real value. However, for a 6-parameter tool with no annotations and 33% schema coverage, the missing parameter semantics and file-download side effect leave it incomplete.

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 33% (attempt and fetch_links documented, download_files not), so the description should compensate. The mention of 'linked Google Docs' loosely corresponds to fetch_links, but it says nothing about attempt selection or what download_files toggles, leaving half the parameters semantically opaque.

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

Purpose3/5

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

The description is a noun phrase enumerating return content rather than a verb+resource statement, but 'A student's submitted work' combined with the tool name makes the retrieval intent reasonably inferable. It does not distinguish itself from siblings like list_submissions or get_submission_images, so an agent cannot tell from the text alone when this single-submission fetch is the right pick.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of alternatives (list_submissions for bulk, get_submission_images for images only), and no prerequisites. The only hint at usage is the parenthetical listing of artifact types, which describes content rather than context of use.

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