Skip to main content
Glama

get_file_link

Read-onlyIdempotent

Creates a browser-openable LMS file link from a get_course_materials URL for logged-in users, without reading file contents.

Instructions

Membuat tautan file LMS untuk dibuka pengguna di browser.

file_url harus berasal dari get_course_materials. Pengguna perlu sudah login ke LMS di browsernya. Tool ini tidak membaca isi file.

Input Schema

NameRequiredDescriptionDefault
file_urlYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds real behavioral context beyond them: this only produces a link (no file content is fetched), and it depends on the end user holding an active LMS browser session. It doesn't say what the returned value looks like or whether the link expires.

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

Conciseness5/5

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

Three short sentences, front-loaded with the action, then the parameter constraint, then the login caveat and the read-behavior disclaimer. No filler and nothing repeated from the schema.

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

Completeness4/5

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

For a one-parameter, read-only tool with no output schema, the description covers origin of input, session prerequisite and the fact that no file content is read. The only gap is that it never states what is returned (a link string) or any expiry behavior, which an agent might need to relay to the user.

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

Parameters4/5

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

Schema coverage is 0%, so the description must carry the single parameter — and it does, by specifying that file_url must originate from get_course_materials. That is meaningful provenance guidance the schema lacks. It still doesn't describe the expected format (full URL vs. identifier) or what an invalid value does.

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?

States a concrete verb and resource: it creates an LMS file link intended to be opened by the user in a browser. The clause 'Tool ini tidak membaca isi file' actively separates it from read_file_text. It does not explicitly contrast with download_file, which is the nearest sibling for file access.

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?

Gives a hard precondition ('file_url harus berasal dari get_course_materials') that routes the agent to the correct upstream tool rather than inventing a URL. It also names the login requirement in the user's browser. What it lacks is an explicit statement of when to choose this over download_file or read_file_text.

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