Skip to main content
Glama

find_shared_files

Identifies students who submitted byte-identical files so copied or team work is grouped and graded consistently, and downloads all non-video attachments to the local cache.

Instructions

Groups of students who submitted byte-identical files (team or copied work), so identical work can be graded consistently.

Downloads every submission's non-video attachments to the local cache.

Input Schema

NameRequiredDescriptionDefault
course_idYes
assignment_idYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

B3.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden, and it does disclose a significant, non-obvious side effect: it downloads every submission's non-video attachments into the local cache. That is exactly the kind of operational cost an agent needs to know. It still omits whether the download is mandatory or skippable, whether server state changes, and the interaction with the clear_downloaded_files sibling.

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

Conciseness3/5

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

It is short and has no filler, but the structure is weak: it leads with a fragmentary noun phrase rather than the action, and the arguably more critical download behavior is buried in a second sentence without being framed as a caveat.

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?

An output schema exists, so return values need not be described. But for a tool that performs bulk network/disk downloads with zero annotations and two undocumented required parameters, the definition leaves key operational details (download cost, relation to clear_downloaded_files, scope) unaddressed, so it is only minimally complete.

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 for parameter meaning, and it provides nothing. The scope is only indirectly implied by the assignment/grading framing; neither course_id nor assignment_id is explained, nor is the assignment-level scope of the grouping stated.

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 identifies a distinctive capability no sibling offers: grouping students who submitted byte-identical files for consistent grading. However, it opens with a noun phrase ('Groups of students...') rather than a clear verb+resource, so the action being performed (detect/identify shared submissions) must be inferred. It is still unambiguous enough to distinguish from list_submissions or get_submission.

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?

The phrase 'so identical work can be graded consistently' implies a plagiarism/team-work detection use case, but there is no explicit when-to-use versus when-not-to-use guidance and no named alternative among the many grading siblings. Usage must be inferred from context.

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