Skip to main content
Glama

brightspace_search_course

Read-onlyIdempotent

Search a Brightspace course for keywords across its outline, announcements, assignments, and visible files, returning slide/page references and pagination offsets for file results.

Instructions

Search the course outline, announcements and assignments, plus a batch of visible files by default. File matches include slide, page or section references. Follow fileSearch.nextFileOffset.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum metadata hits and file hits, separately.
queryYesLiteral case-insensitive words to find.
courseIdYesBrightspace course/org unit ID
filenameNoOptional substring of the topic title or attachment name.
fileLimitNoNumber of files to process per call; start with a small batch.
fileOffsetNoSkip this many files in the ordered inventory. Use the previous nextFileOffset.
matchOffsetNoContinue matching sections within the same file batch. Reset when changing fileOffset.
includeFilesNoAlso search inside files, default true.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the description's job is to add operational context, which it does: files are searched by default, file matches carry slide/page/section references, and pagination continues via fileSearch.nextFileOffset. It stops short of disclosing cost/latency of file processing or the shape of metadata hits, which would complete the picture.

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?

Three short sentences, front-loaded with the search scope before defaults and pagination. The trailing fragment 'Follow fileSearch.nextFileOffset.' is terse to the point of being cryptic, and 'a batch of visible files by default' is loosely worded, but nothing is padded.

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 an 8-parameter search tool with no output schema, the description covers scope, the file default, and a pagination pointer. It does not describe the result structure for outline/announcement/assignment hits, how limit interacts with fileLimit, or what 'visible files' excludes, so an agent must discover returns empirically.

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?

Schema coverage is 100%, so baseline is 3, and the description does add one genuinely new fact not in the schema: includeFiles defaults to true. The reference to 'fileSearch.nextFileOffset' also hints at the pagination loop, but it uses an output-field name that does not map cleanly onto the fileOffset parameter, so an agent still has to infer how to resume.

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 specific verb (Search) and enumerates the resources covered: course outline, announcements, assignments, and visible files. The scope is clear enough to distinguish it from single-resource getters like brightspace_get_assignments or brightspace_get_announcements, but it never names or contrasts those siblings explicitly.

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?

Implies usage through the default-includes-files framing and the instruction to follow fileSearch.nextFileOffset, which tells an agent how to iterate. However, there is no explicit when-to-use versus brightspace_search_notes or the targeted getter tools, and no when-not guidance (e.g., disabling file search for cheap metadata-only queries).

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