Skip to main content
Glama
wynn-dev

brightspace-mcp-server

by wynn-dev

Get Course Content

get_course_content
Read-only

Fetch a course's content tree to see modules, topics, files, and links. Filter by module title or depth to locate lecture slides, uploaded materials, or specific course sections.

Instructions

Fetch the content tree for a course showing modules, topics, files, and links. Use this when the user asks about course materials, lecture slides, uploaded files, content structure, or what's in a course module. Use moduleTitle to filter to a specific module (e.g. 'Labs', 'Staff', 'Homeworks') instead of fetching the entire tree. Use maxDepth to limit recursion depth for a table-of-contents view.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
courseIdYesCourse ID to get content tree for.
maxDepthNoLimit recursive depth of the content tree. Depth 1 returns top-level modules with direct children only. Useful for getting a table of contents without all nested content.
typeFilterNoOptional filter to narrow results by content type.all
moduleTitleNoCase-insensitive substring match on module titles. Only returns modules whose title contains this string (e.g. 'Labs', 'Staff', 'Homeworks'). Children of matching modules are included in full.
Install Server

TDQS

A4.5/5.0
Behavior4/5

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

The readOnlyHint annotation already signals a safe read operation, and the description adds meaningful behavior beyond that: the content tree structure, case-insensitive moduleTitle substring matching, and maxDepth recursion limiting. It doesn't mention pagination or rate limits, but these are less critical given the read-only annotation.

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?

Four sentences, no filler, with the core purpose front-loaded and optional parameter behavior explained in the later sentences. Every sentence earns its place.

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

Completeness5/5

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

For a read-only content retrieval tool with four parameters and no output schema, the description covers what the tool returns (modules, topics, files, links), when to use it, and how to use the key filtering parameters. The schema covers typeFilter and the remaining details, so nothing critical is missing for an agent to invoke it correctly.

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 100%, so the schema already documents all parameters well. The description adds value by framing moduleTitle as a way to fetch a specific module 'instead of fetching the entire tree' and maxDepth as enabling a 'table-of-contents view.' This helps the agent choose parameters purposively, though typeFilter is not mentioned in the description.

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 opens with a specific verb and resource: 'Fetch the content tree for a course showing modules, topics, files, and links.' This clearly distinguishes the tool from siblings like get_assignments, get_syllabus, or get_discussions, which serve different content domains.

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?

The description gives explicit triggers: 'when the user asks about course materials, lecture slides, uploaded files, content structure, or what's in a course module.' It also provides practical guidance on using moduleTitle and maxDepth for specific needs. It doesn't explicitly state when not to use alternatives, but the context is clear enough.

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

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/wynn-dev/brightspace-mcp-server'

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