Skip to main content
Glama

lw_ble_subscribe

Start receiving notification events from a BLE characteristic. Returns a subscription_id that later calls use to manage the notification stream.

Instructions

Begin receiving notification events from a characteristic; returns a subscription_id that later calls use to manage the stream.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
char_uuidYes
timeout_sNo
connection_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose meaningful stateful behavior: this starts an ongoing stream and yields a subscription_id consumed by later management calls. It omits other relevant traits such as required connection state, whether a characteristic must support notify, what happens on duplicate subscription, and error/timeout behavior.

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?

A single tight sentence that front-loads the action and then the return contract. It is appropriately sized and has no filler, though it could have spent a few more words on the missing parameter semantics without becoming bloated.

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?

An output schema exists, so return-value documentation is not required, and the description still usefully flags the subscription_id. But with 3 parameters at 0% schema coverage and no annotations, the definition leaves an agent guessing about connection/characteristic references and timeout behavior, so it is only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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, and it largely does not. It never names connection_id or char_uuid explicitly (only alluding to 'a characteristic') and gives no meaning at all for timeout_s, despite its default of 10 seconds being non-obvious for a subscription that conceptually persists.

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?

The description states a specific verb+resource ('Begin receiving notification events from a characteristic') and even names the artifact it produces (subscription_id). It is clear on its own, but it does not explicitly distinguish itself from close siblings like lw_ble_wait_notification, lw_ble_poll_notifications, or lw_ble_unsubscribe, which an agent could easily confuse with a subscribe action.

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?

Usage is implied by the streaming semantics ('Begin receiving notification events') and the note that later calls use the returned subscription_id to manage the stream. However, there is no explicit guidance on when to subscribe versus polling (lw_ble_poll_notifications) or waiting (lw_ble_wait_notification), and no preconditions such as an existing connection or enabled notifications.

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