Skip to main content
Glama

Enable or disable a filter

set_filter_enabled
DestructiveIdempotent

Turn an OBS source filter on or off, including Source Record filters to stop their file. Dry-run by default; confirmLive=true is required while streaming/recording.

Instructions

Turns a filter on or off. Disabling a Source Record filter stops its file. Guarded: dry_run by default; needs confirmLive=true while streaming/recording.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dry_runNoDefault true: only describe the change. Set false to apply it.
enabledYes
filterNameYes
sourceNameYes
confirmLiveNoRequired (true) to apply a change while OBS is streaming or recording. Ask the person first.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations declare destructiveHint=true and idempotentHint=true, and the description reinforces this by naming the concrete destructive effect (stopping a Source Record filter's file). It goes further than the annotations by disclosing the dry-run-by-default guard and the confirmLive requirement during streaming/recording, though it does not describe the dry-run response or what a live apply returns.

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 short sentences, front-loaded with the core action and followed by the side effect and the guard. Efficient overall, though the first sentence largely restates the title and could have been merged with the side-effect clause.

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?

For a destructive, guarded toggle with no output schema and partial param coverage, the description covers the key safety-critical facts: the default dry-run, the live-apply confirmation, and the side effect. It is slightly thin on the mechanics of what dry_run returns, but nothing needed to call it safely is missing.

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 coverage is only 40%, so the description must carry weight; it does explain the two most consequential parameters (dry_run default and confirmLive gating). The remaining parameters (sourceName, filterName, enabled) are only inferable from their names, so the gap is not fully compensated.

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?

States a specific verb (turn on/off) and resource (filter), and adds a concrete consequence ('Disabling a Source Record filter stops its file') that distinguishes it from siblings like set_filter_settings and set_filter_index. An agent can identify the operation without opening the schema.

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?

The description supplies guard conditions for use (dry_run defaults on; confirmLive=true required while streaming/recording), which is real when-to-use guidance. It does not, however, explicitly contrast this tool with set_filter_settings or set_filter_index, so sibling selection is still left to inference.

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