Skip to main content
Glama

Stop live topic subscriptions

unsubscribe_live_topics
Idempotent

Stop active live topic subscriptions on MQTT, ROS1, or ROS2 bridges, optionally limiting by topic. Closes the connection once all subscriptions end, without opening new connections.

Instructions

Stop topics started by subscribe_live_topics on a running mqtt, ros1.bridge, or ros2.bridge subscription (same type_, host and port). Omit topics to stop all of them. A standing pipeline finishes its queued runs and its end-of-stream run first, which may write or upload artifacts. Recorded messages stay in the returned sink directory for analysis. Once nothing is subscribed the connection is closed. Never opens a connection: errors if there is no running subscription there.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hostNo
portNo
type_Yes
topicsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.4.0

TDQS

A4.4/5.0
Behavior5/5

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

The description goes well beyond the annotations by disclosing that standing pipelines finish queued and end-of-stream runs first, may write or upload artifacts, that recorded messages remain in the sink directory, that the connection closes when nothing remains subscribed, and that the tool never opens a connection. These details meaningfully describe side effects and error behavior. No contradiction with the annotations is apparent.

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 information-dense with no wasted words and front-loads the core action. It is slightly long with several caveats, but each sentence contributes necessary behavioral context.

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?

The description covers the lifecycle of the operation: what is stopped, how to stop all, pipeline completion, artifact effects, retained recordings, connection closing, and the no-connection error case. This is sufficient for an agent to invoke the tool correctly without needing more context.

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 0%, so the description must compensate. It does explain that type_, host, and port must match a running subscription and that omitting topics stops all topics. However, it does not clarify the meaning of null/default host and port values, nor the exact accepted values for type_, leaving some ambiguity for correct invocation.

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 uses a specific verb ('Stop') and a precise resource ('topics started by subscribe_live_topics'), and ties it to a running mqtt, ros1.bridge, or ros2.bridge subscription. It clearly distinguishes this tool from its inverse sibling, subscribe_live_topics, and from list_live_topics.

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 makes the intended use clear: stop matching live topic subscriptions, with the explicit option to omit topics to stop all. It also gives an important boundary condition by stating that it errors when no running subscription exists. It does not explicitly contrast with other siblings, but the counterpart tool is named and the usage context is unambiguous.

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