Skip to main content
Glama

submit_assignment

Attach Drive files and links to a Google Classroom assignment, then submit or turn it in when requested.

Instructions

Adjunta archivos de Drive (ids o URLs de Drive) y/o enlaces a tu entrega de una tarea y, si turn_in=True, la entrega. Para subir un archivo local a Drive primero usa el servidor MCP de Google Drive y pasa aquí su id. Úsala solo cuando el usuario lo pida explícitamente.

Aviso: Google solo permite adjuntar y entregar desde la app que creó la tarea. Si el
profesor la creó desde la web de Classroom, este paso devuelve 403
@ProjectPermissionDenied y hay que adjuntar desde classroom.google.com.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
linksNo
accountNo
turn_inNo
course_idNo
drive_idsNo
coursework_id_or_urlYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the conditional turn_in behavior and the 403 failure mode, which is valuable. However, it does not state whether submission is reversible, whether existing attachments are overwritten, or what other side effects occur beyond attaching/submitting.

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?

The description is front-loaded with the core function, followed by a workflow note and a critical warning. Every sentence adds information and there is no filler, though it is slightly long due to the warning and workflow context.

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?

For a mutation tool with no output schema and no annotations, it explains the key parameters and a likely error, but omits the meaning of course_id and account, and does not describe what a successful response looks like. It is adequate but leaves meaningful gaps.

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%, so the description must compensate. It explains drive_ids and links as Drive files/URLs and links, and clarifies turn_in's conditional behavior, but it leaves course_id and account undefined and does not clarify the required coursework_id_or_url beyond its name. The compensation is incomplete for a 6-parameter tool.

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

Purpose5/5

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

The description states a specific action: attaching Drive files (IDs/URLs) and/or links to an assignment, with conditional submission via turn_in=True. This clearly distinguishes it from read-only siblings like get_assignment and from the opposite action reclaim_submission.

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

Usage Guidelines4/5

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

It explicitly says to use the tool only when the user asks, and it gives an alternative workflow for local files (upload to Drive via the Google Drive MCP server, then pass the ID). It also warns about a case where the tool should not be used (403 ProjectPermissionDenied) and directs the user to classroom.google.com instead.

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