Skip to main content
Glama

extract_links

Extracts and classifies all links from Canvas HTML content, categorizing each by type for easy identification.

Instructions

Every link in a block of Canvas HTML, classified by kind.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
htmlYes
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It does not state whether the tool is read-only, what side effects might occur, or what the output format looks like. The phrase 'classified by kind' hints at behavior but gives no details about kinds or error handling.

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 a single, short phrase that is very concise and front-loaded. It avoids unnecessary words, though it reads more as a fragment than a complete sentence, which slightly reduces clarity.

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?

Despite being a simple single-parameter tool, the description lacks important information about return structure, classification kinds, and edge cases. With no output schema and no annotations, the description is too sparse for an agent to fully anticipate tool behavior.

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

Parameters3/5

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

The only parameter 'html' is a string with 0% schema description coverage. The description compensates somewhat by specifying it is 'a block of Canvas HTML,' which adds context beyond the schema. However, it does not explain expected HTML structure, encoding, or limitations, leaving gaps.

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 communicates that the tool processes a block of Canvas HTML and returns every link classified by kind, which is a clear statement of purpose. It goes beyond a simple restatement by specifying the input type and output classification, but lacks an explicit verb and does not differentiate from sibling tools.

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?

No guidance is provided on when to use this tool relative to the many sibling tools. There are no mentions of alternatives, prerequisites, or specific contexts where this extraction would be preferred.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Canvas-LMS-MCP/canvas-teacher-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server