Skip to main content
Glama

subscribe

Register one or more standing interests so you are notified when they change instead of polling. Give subjectType + aspect + one of subject or canonicalKey for one typed watch, a natural-language statement that may name up to ten watches. One watch returns the usual watch object; several return ordered per-watch results and keep successful siblings when another is refused.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
aspectNo
subjectNoIdentifier: package name, owner/repo, URL, or service host.
statementNoAlternative to the typed fields above: a request naming one or more watches, e.g. 'watch Linear and Stripe changelogs'. Ambiguous children return clarification results instead of guessed subscriptions.
thresholdNoMateriality floor 0-1. Lower wakes you more often. Omit for the balanced default.
subjectTypeNo
canonicalKeyNoAnswers an ambiguous_subject refusal: pass back one of the keys it listed. Also accepted in place of `subject` when you already hold a canonical key from check_coverage.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and does it well: it discloses partial-failure semantics ('keep successful siblings when another is refused'), ordered per-watch results, and clarification instead of guessed subscriptions. It does not mention notification delivery, auth needs, or how to end a watch, but the core side effects are clear.

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 sentences pack purpose, input-mode syntax, and result semantics with almost no wasted words. The second sentence is slightly dense and missing an 'or' before 'a natural-language statement', but it still communicates the two mutually exclusive paths efficiently.

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 the tool's moderate complexity and the absence of an output schema, the description covers the essential call patterns and the response shape for both single and multiple watches. It also handles the ambiguous-subject case, making it sufficient for an agent to invoke the tool correctly without guessing.

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 67%, so the schema already documents subject, statement, threshold, and canonicalKey. The description adds value by prescribing the required combination ('subjectType + aspect + one of subject or canonicalKey') and by explaining the natural-language alternative's limits (up to ten watches). This compensates for the undocumented enum params.

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 opening sentence states a specific verb ('Register'), a concrete resource ('standing interests'), and the trigger ('notified when they change instead of polling'). This clearly distinguishes it from siblings like check_coverage or subject_history, none of which create notification watches.

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 clear context by positioning the tool as the alternative to polling, and it explains the two request modes (typed vs. natural-language statement). It does not name sibling alternatives or state explicit when-not-to-use conditions, but the use case is unambiguous enough.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources