Skip to main content
Glama
Giancarlo26

obs-action-history

by Giancarlo26

obs_remove_input

Permanently delete an OBS input from all scenes, then re-read the input list to confirm it's gone.

Instructions

Delete a source outright, removing it from every scene it appears in at once.

The trap: a clean result does NOT prove the source is gone. OBS drops its own reference and answers success, but the source itself survives as long as anything else still holds a reference to it - and those references are not all visible from the scene list. A plugin that maintains a second canvas (the vertical-canvas plugin on the reference machine does exactly that) keeps its own reference, so the input can vanish from obs_list_inputs while the decoder is still running and still costing GPU. If you removed something to reclaim resources and the machine did not get faster, this is why. This tool re-reads the input list afterwards and tells you which of the two happened.

So if the goal is to stop something DECODING rather than to delete it, do not use this at all: take it out of every scene, or hide it. A source that is in no active scene does not decode and does not burn GPU, and it is reversible - which matters here, because removal is not undoable over the websocket. Re-creating the input afterwards will not bring back its filters, its audio routing, its sync offset, or its position and crop in any scene. Read obs_get_input_settings first if there is any chance you will need to rebuild it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
inputNameYesExact input name. Removal is permanent and affects every scene containing it.
Behavior5/5

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

This description is exceptionally transparent about internal behavior and side effects: the 'trap' where OBS retains references, the vertical-canvas plugin example, and the tool's self-verification ('re-reads the input list afterwards') are detailed. It also discloses non-obvious consequences like loss of filters, audio routing, and sync offset, fully carrying the burden in the absence of annotations.

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 lengthy (~250 words) but each paragraph serves a purpose: the action, the trap, the alternatives, and the precautionary advice. It is well-organized with clear topics, though a few sentences could be tightened. Overall, it earns its length for a destructive operation.

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 destructive nature, no output schema, and single parameter, the description covers all necessary context: what it does, why it might fail, when to avoid it, and what data cannot be recovered. The advice to read settings first completes the picture for safe usage.

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 a clear description for 'inputName' ('Exact input name. Removal is permanent and affects every scene containing it.') at 100% coverage, so the tool description adds little beyond restating the parameter's importance. It does not introduce new syntax or format details, thus meeting but not exceeding the baseline.

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 opens with 'Delete a source outright, removing it from every scene it appears in at once,' which clearly states the verb (delete) and resource (source) with a scope qualifier. It also differentiates from siblings like obs_rename_input and obs_remove_scene_item by emphasizing the global, permanent nature of deletion.

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?

Explicitly states when NOT to use: 'if the goal is to stop something DECODING rather than to delete it, do not use this at all: take it out of every scene, or hide it.' It also names a concrete alternative (obs_get_input_settings) and explains why this tool is irreversible, providing strong decision support.

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