Skip to main content
Glama
Giancarlo26

obs-action-history

by Giancarlo26

obs_set_output_settings

Configure network-level OBS output settings by replacing the full settings object. Read existing settings first and send the entire modified object to avoid losing other keys.

Instructions

Write an output's settings. This REPLACES the settings object rather than merging into it, so read obs_get_output_settings first and send the full object with your change applied - sending one key on its own is how you lose the others.

Do not reach for this to change where the stream goes or how good it looks. The destination and stream key belong to the profile's stream service, and bitrate and encoder belong to the profile; none of them appear in an output's settings. What is here is network-level behaviour - which interface to bind, IPv4 vs IPv6, dynamic bitrate, low-latency mode. For anything about quality or destination, use obs_profile_and_collection.

Change settings while the output is stopped. A running output has already read its configuration, and a write that appears to succeed may do nothing until the next start - which reads as a broken tool when it is really a timing mistake. On a live broadcast, changing adv_stream's networking settings is not a safe experiment: verify with obs_output_status afterwards and be ready for the possibility that it takes the connection down.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
outputNameYesExact output name from obs_list_outputs.
outputSettingsYesThe COMPLETE settings object. Start from obs_get_output_settings and modify it; omitted keys are not preserved.
Behavior5/5

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

No annotations are provided, so the description carries full burden. It discloses the critical behavior that the settings object is REPLACED, not merged, and explains the consequence of sending partial objects. It also warns about the timing issue with running outputs and the risk of taking down a live connection, which is rich behavioral context beyond what any schema could convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with three paragraphs, each addressing a distinct aspect: the replacement behavior, what is not included, and timing/verification. Every sentence adds critical information with no fluff. It is front-loaded with the most important warning about replacement, making it easy for an agent to grasp the key risk immediately.

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 complexity (replacement semantics, timing constraints, safety risks) and the absence of annotations and output schema, the description is remarkably complete. It covers the critical behavioral nuances, provides clear usage guidance, and warns about potential pitfalls. The agent has everything needed to use this tool correctly and avoid common mistakes.

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

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters are described in the schema. The description adds value by emphasizing that outputSettings must be the COMPLETE object and instructing to start from obs_get_output_settings, which reinforces the schema's note about omitted keys. This goes slightly beyond the schema's description, so a 4 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 the tool writes an output's settings, with a specific verb ('Write') and resource ('output's settings'). It distinguishes from siblings by explicitly noting that destination/stream key/bitrate/encoder are not part of output settings and belong to obs_profile_and_collection, which differentiates it from related tools.

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 provides explicit when-to-use guidance: it warns against using this for destination/quality changes, directs to obs_profile_and_collection for those, and instructs to read obs_get_output_settings first. It also gives timing guidance (change while output is stopped) and verification advice (use obs_output_status afterwards), which is comprehensive.

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