Skip to main content
Glama

Blackboard activity stream

bb_activity_stream
Read-only

Retrieve recent Blackboard updates such as grade postings, new content, announcements, and due-date reminders across all courses, listed newest first. Check what changed recently with a single call.

Instructions

The Ultra activity stream: recent grade postings, new content, announcements and due-date reminders across all courses, newest first. A good single call for "what changed recently?".

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoDefault 40.
flushCacheNoForce Blackboard to rebuild the stream rather than serve a cached copy.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.4/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true and openWorldHint=true, so the description doesn't need to repeat that this is a read-only operation. The description adds value by specifying the content types (grades, content, announcements, due-date reminders) and the ordering (newest first). It also implies that the stream is aggregated across all courses)Skip the fact that it may be cached (which is hinted by the flushCache parameter). This is useful context beyond annotations; the only minor gap is not explicitly stating that it can be cached, but the parameter hints at it.

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?

The description is two sentences: one that states the tool's output and one that gives a use case. Both sentences are information-dense and front-loaded with the key facts (content types, ordering). No unnecessary detail, and the use case is a nice addition that doesn't waste space.

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?

Given that the schema covers parameters 100%, the annotations declare it's read-only and open-world, and the tool has no output schema, the description is quite complete. It tells the agent what the tool returns (recent grade postings, new content, etc.), how it orders (newest first), and when to use it. Minor omissions could include pagination behavior or exact date range limits, but these are not critical given the tool's simplicity and annotation coverage. A 4 is justified.

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 description coverage is 100%, meaning the schema already documents both parameters (limit and flushCache). The description does not add any additional parameter semantics beyond what the schema provides Sell the description's purpose is not about parameters; it's about the tool's overall behavior. The schema provides reasonable descriptions for both parameters, so the description doesn't need to compensate. Baseline 3 is appropriate.

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 clearly states the tool's purpose: it returns the Ultra activity stream, which includes recent grade postings, new content, announcements, and due-date reminders across all courses, newest first. It uses a specific verb ('list' is implied by 'activity stream') and clearly distinguishes from siblings like bb_unread_counts or bb_announcements, which are more specific. The description also provides a use case ('what changed recently?'), making the tool's purpose immediately clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool: it's a good single call for 'what changed recently?' queries. It also provides context that it aggregates recent activity across all courses, which implicitly differentiates it from tools like bb_announcements (specific to announcements) or bb_unread_counts (focuses on unread counts). However, it doesn't explicitly mention alternatives for when not to use it, but the use case guidance is strong enough to warrant a 5.

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