Skip to main content
Glama
Giancarlo26

obs-action-history

by Giancarlo26

obs_who_is_talking

Identify the loudest speaker among active microphones to decide who to cut to. Compare peak dB levels across sources to find the current talker.

Instructions

Listen to the microphones for a moment and report who is actually speaking, loudest first. This is the reactive primitive: it answers 'which person should I cut to right now'. Returns a peak level in dB per audio source over the sampling window, so compare the sources against EACH OTHER rather than against a fixed threshold - the two mics have different gains and each usually picks up everyone in the room, so the loudest is the speaker, not whoever crosses a fixed number. A source that reports no level at all is muted, on no audio track, or its scene is not live.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
forMsNoHow long to listen. Default 1200. Keep it under ~3000.
sourcesNoOptional: only report these sources.
Behavior4/5

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

Since no annotations are provided, the description takes on the full burden. It discloses that the tool listens for a sample window and returns peak levels in dB, and that sources with no report indicate mute/no track/inactive scene. It also warns about cross-talk and gain differences, which is key behavioral information. However, it does not mention potential side effects like temporary audio blocking or latency, but given the read-only nature, it's fairly transparent.

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 a single paragraph but packed with essential information. It is front-loaded with the main purpose, then adds a critical interpretation warning, and ends with edge-case behavior. It is well-structured and efficient, though a bit dense; no wasted words. Slightly verbose but justified by the complexity of interpreting the output.

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?

Given the tool's moderate complexity (two simple params, no output schema), the description covers all necessary aspects: purpose, usage context, interpretation guidance, and edge cases. It is complete enough for an agent to select and correctly interpret results without further specification. The trickiness of comparing relative levels is explicitly addressed, which is crucial for correct use.

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?

The schema already provides descriptions for both parameters (forMs and sources) with 100% coverage. The description adds context by recommending keeping forMs under ~3000 ms, which is useful, but the schema already states the default. The description does not add much beyond the schema for sources, as it is self-explanatory. Therefore, 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 it listens to microphones and reports who is speaking loudest first, with the specific action of identifying the person to cut to in a reactive manner. It distinguishes itself from siblings by framing it as a 'reactive primitive' for immediate speaker selection, unlike other tools like obs_raw or obs_audio_control.

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 explains when to use this tool: when you need to decide 'which person should I cut to right now'. It also provides critical guidance on interpretation: compare sources against each other, not against a fixed threshold, because of different gains and bleed. It explains what to do when a source fails to report a level, clarifying the expected behavior in edge cases.

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

Install Server

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/Giancarlo26/obs-action-history'

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