Presentation Buddy MCP Server
프레젠테이션 버디 - AI 기반 스트리밍 제작 도우미
프로젝트 링크:
Presentation Buddy는 Claude AI를 활용하여 스트리밍 제작을 자동화하는 OBS 제어 시스템으로, 솔로 크리에이터가 기술 관리보다는 콘텐츠 제공에 집중할 수 있도록 해줍니다.
기술 개요
이 구현에서는 다음을 사용합니다.
OBS Studio : 업계 표준 스트리밍 소프트웨어
TypeScript 기반 MCP 서버 : Claude AI를 OBS에 연결하는 가벼운 릴레이 서비스
Claude AI : 자연어 이해 및 생산 의사 결정을 위해
OBS WebSocket API : 장면 전환, 오버레이 및 미디어 요소를 직접 제어합니다.
로컬 처리 : 모든 기능은 최소 지연 시간 동안 발표자의 컴퓨터에서 실행됩니다.
주요 구성 요소
MCP 서버 : Claude의 결정을 OBS WebSocket 명령으로 변환하는 미들웨어
장면 관리 : 콘텐츠 및 음성 신호에 따른 자동 전환
미디어 컨트롤 : 오버레이, 캡션 및 PIP(화면 속 화면) 요소의 지능적인 처리
음성 응답 : 프레젠테이션 중 AI 응답을 위한 텍스트-음성 기능
구현
서버는 OBS와 웹소켓 연결을 설정하고 클로드가 액세스할 수 있는 API를 제공합니다. 클로드는 발표자의 음성이나 화면 콘텐츠에서 제작 요구 사항을 파악하면 MCP 서버를 통해 명령을 전송하여 OBS를 실시간으로 제어합니다.
Related MCP server: HeyBeauty MCP Server
영감
혼자서 살아가는 건 힘들어요.
대화하는 동안 카메라 각도를 바꾸고, 슬라이드를 보여주고, 자막을 추가하고, 시청자의 몰입을 유도해야 합니다. 이 모든 작업을 동시에 해야 하죠. 저희는 제작 부스를 잘 관리할 수 있는 동료를 찾고 있었습니다. 모든 솔로 크리에이터가 버튼 조작이 아닌 스토리에 집중할 수 있도록 말이죠.
그것이 하는 일
프레젠테이션 버디는 스트리머와 발표자를 위한 AI 기반 보조 도구입니다.
화면과 마이크 뒤에서 무슨 일이 일어나는지 듣고 다음을 수행합니다.
완벽한 순간에 장면을 전환합니다
캡션, 그래픽 또는 화면 속 화면 창을 자동으로 팝업합니다.
휴식이 필요할 때 짧은 음성 해설도 제공합니다.
결코 지치지 않는 작은 생산자라고 생각해 보세요.
우리가 그것을 어떻게 만들었는가
클로드 AI는 신호를 듣는다.
가벼운 릴레이는 이러한 신호를 가장 인기 있는 라이브 스트리밍 도구인 OBS Studio로 전송합니다.
OBS는 "카메라 변경", "자막 표시", "재생 시작"과 같은 명령을 받아 마법 같은 일을 일으킵니다.
텍스트 음성 변환 기능을 추가하면 AI가 고유한 목소리를 낼 수 있습니다.
이 모든 것이 로컬에서 실행되므로 클라우드 지연이나 특별한 하드웨어가 없습니다.
우리가 마주한 도전
네이티브 OBS API를 래핑하는 MCP 서버 구축
실시간 음성 응답 시간
클로드가 잘 따라가는 좋은 줄거리
MCP를 통해 Claude에게 스크린샷을 제공할 수 없습니다.
우리가 자랑스러워하는 성과
인간의 클릭 없이 타이틀 슬라이드에서 동적 콘텐츠로 전환되는 라이브 데모입니다.
1인 방송 환경을 스트레스 없는 방송 환경으로 전환했습니다.
우리가 배운 것
Claude와 Cursor에서 MCP를 빌드하고 구성하는 방법
Presentation Buddy의 다음 단계는 무엇일까요?
시청자 상호 작용 – 채팅 투표를 통해 오버레이와 여론조사를 실행합니다.
한 번의 클릭으로 설치가 가능 하므로 모든 스트리머가 몇 분 안에 새로운 친구를 만날 수 있습니다.
솔로 스트리머에서 스튜디오 프로로 즉시 변신하세요.
설치 및 설정
이 저장소를 복제하세요
npm install로 종속성 설치OBS WebSocket 연결 설정 구성
npm start로 MCP 서버를 시작합니다.Claude AI 인스턴스를 MCP 서버에 연결합니다.
OBS 세션을 시작하고 Presentation Budy가 제어권을 갖도록 하세요.
클로드 MCP 구성
프레젠테이션 버디에서 클로드를 설정하려면 커서 또는 다른 클로드 인터페이스에서 MCP(머신 제어 프로토콜) 설정을 구성해야 합니다. 이렇게 하면 클로드가 저희 서버를 통해 OBS를 제어할 수 있습니다.
클로드 MCP 구성
Claude 설정에 다음 구성을 추가하세요.
지엑스피1
경로를 실제 Node.js 및 서버 경로로 바꾸세요.
/path/to/your/node- Node.js 실행 파일의 경로(예:/Users/username/.nvm/versions/node/v20.17.0/bin/node)/path/to/obs-mcp-server-ts/build/index.js- 빌드된 서버 JavaScript 파일에 대한 경로
TTS-MCP 구성의 경우 다음을 확인하세요.
실제 OpenAI API 키를 삽입하세요
원하는 음성을 선택하세요(기본값: nova)
텍스트 음성 변환에 적합한 모델을 선택하세요(기본값: gpt-4o-mini-tts)
OBS 설정
OBS Studio 설치(버전 28 이상 권장)
OBS에서 WebSocket 서버를 활성화하세요:
도구 → WebSocket 서버 설정으로 이동하세요.
WebSocket 서버 활성화
포트를 설정합니다(기본값: 4455)
필요한 경우 인증을 구성하세요
OBS에서 장면을 만드세요:
메인 카메라
프레젠테이션/슬라이드
픽처 인 픽처
Claude가 제어하기를 원하는 추가 장면이 있습니까?
연결 테스트
구성 후:
OBS Studio 시작
MCP 서버를 실행합니다(
npm start)MCP가 구성된 Open Claude
장면 전환과 같은 간단한 명령을 테스트합니다.
특허
이 프로젝트는 MIT 라이선스에 따라 제공됩니다.
Available Tools
23 toolsCreateSourceC
Creates a new source in a specified scene. 用途: リプレイ映像用の新しいメディアソースを生成
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It states the creation action but doesn't disclose permission requirements, whether the operation is idempotent, error conditions, or what happens if a source with the same name exists. The Japanese text adds context about replay video usage but doesn't clarify behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the primary action. The Japanese text adds redundancy but doesn't create significant bloat. However, the bilingual format slightly reduces efficiency compared to a single-language concise statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with 5 required parameters (nested in one object), no annotations, and no output schema, the description is inadequate. It doesn't explain the creation process, success/failure responses, or parameter interactions. The context about replay video media is helpful but doesn't compensate for missing operational details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 but provides no parameter information. It doesn't explain what 'sourceKind' values are valid, what 'sourceSettings' should contain, or the implications of 'setVisible'. The single mention of 'scene' loosely relates to 'sceneName' but adds no meaningful semantics beyond the schema's property names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Creates a new source') and the target resource ('in a specified scene'), with the Japanese text reinforcing it's for replay video media sources. However, it doesn't explicitly differentiate from sibling tools like 'SetSourcePosition' or 'SetSourceVisibility' that modify existing sources rather than creating new ones.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., scene must exist), exclusions, or compare with related tools like 'SetTextContent' or 'SetMediaTime' that might handle specific source types differently.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GetSceneItemListC
Gets the list of scene items (sources) in a specified scene.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'Gets' data, implying a read-only operation, but doesn't cover aspects like error handling (e.g., if the scene doesn't exist), response format, or any side effects. This leaves significant gaps for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently conveys the core functionality without unnecessary words. It's front-loaded with the main action and resource, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the returned list contains (e.g., item details, order), error conditions, or how it interacts with sibling tools. For a read operation with no structured support, more context is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description specifies that the tool operates on a 'specified scene', which aligns with the 'sceneName' parameter in the input schema. However, with 0% schema description coverage, the schema provides no parameter details, and the description doesn't add meaningful semantics beyond this basic mapping, such as format examples or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Gets') and resource ('list of scene items (sources) in a specified scene'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'GetSceneList' or 'SwitchScene', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing scene), exclusions, or comparisons to siblings like 'GetSceneList' for listing scenes instead of items, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GetSceneListB
Gets the list of available OBS scenes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'available OBS scenes' but doesn't specify whether this returns all scenes, only active ones, or includes metadata like names or IDs. It also lacks details on permissions, rate limits, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without any fluff. It's front-loaded and wastes no words, making it ideal for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is adequate as a basic overview. However, it could be more complete by specifying what 'available' means (e.g., all scenes vs. only loaded ones) or hinting at the return format, especially since there's no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, earning a high baseline score for not adding unnecessary information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Gets') and resource ('list of available OBS scenes'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'GetSceneItemList' or 'SwitchScene', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'GetSceneItemList' (which might list items within a scene) or 'SwitchScene' (which changes scenes). The description only states what it does, not when it's appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
PlayPauseMediaC
Controls playback of a media source (play, pause, stop, restart). 用途: 動画クリップやオーディオの再生制御
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but provides minimal behavioral information. It mentions the actions available but doesn't disclose what 'controls playback' actually means operationally - whether it's immediate, reversible, has side effects, or requires specific permissions. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief but inefficiently structured. The English portion is clear but minimal, while the Japanese translation adds redundancy without value. It's front-loaded with the core purpose but wastes characters on translation rather than adding useful information about parameters or behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and 0% schema description coverage, the description is inadequate. It doesn't explain what happens after invoking the tool (success/failure indicators), doesn't cover error conditions, and leaves parameters completely unexplained. Given the complexity of media control operations, this provides insufficient context for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so the description must compensate but fails to do so. It doesn't explain what 'sourceName' refers to (is it a file path, source ID, or display name?) or the semantics of 'mediaAction' values beyond listing them. The schema shows 6 enum values but the description only mentions 4, creating inconsistency.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'Controls playback of a media source' with specific actions listed (play, pause, stop, restart). It distinguishes itself from siblings like SetMediaTime (which controls timing) or SetAudioVolume (which controls volume) by focusing on playback state control. However, the Japanese text '用途: 動画クリップやオーディオの再生制御' is redundant and doesn't add clarity for English-speaking agents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose PlayPauseMedia over SetMediaTime for time-based control, or how it relates to Start/StopRecording for recording operations. There's no context about prerequisites (e.g., whether a media source must exist first) or typical workflows.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
SaveReplayBufferC
Saves the content of the replay buffer. 用途: ゲームのハイライト瞬間を即座に保存
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool saves replay buffer content, implying a write operation, but doesn't disclose behavioral traits such as whether this overwrites existing data, requires specific permissions, has side effects, or what happens on success/failure. The description is too vague for a mutation tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, but the Japanese text is redundant and doesn't add value beyond the English statement. It could be more front-loaded by omitting the translation. However, it's not overly verbose, earning a middle score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a mutation operation with no annotations, no output schema, and minimal parameter info), the description is incomplete. It lacks details on what 'saving' entails, the output format, error conditions, or how it interacts with sibling tools like 'SaveReplayBufferAndAdd'. More context is needed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 1 parameter ('params') with 0% description coverage and no properties, indicating it likely accepts no meaningful inputs. The description doesn't add parameter details, but since there are effectively 0 operational parameters, the baseline is 4. No compensation is needed for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Saves the content of the replay buffer' with a specific verb ('Saves') and resource ('replay buffer'). It distinguishes from siblings like 'SaveReplayBufferAndAdd' by focusing only on saving. The Japanese text reinforces the use case but doesn't add new information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal usage guidance. It mentions 'ゲームのハイライト瞬間を即座に保存' (instantly save game highlight moments), which implies a context but doesn't explicitly state when to use this tool versus alternatives like 'SaveReplayBufferAndAdd' or 'StartRecording'. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
SaveReplayBufferAndAddC
Saves the replay buffer and adds it as a media source to a scene. 用途: リプレイをすぐにシーンに表示
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions saving and adding to a scene but does not disclose behavioral traits such as whether this operation is destructive (e.g., overwrites existing files), requires specific permissions, has rate limits, or what happens on failure. The description is minimal and lacks critical operational details for a tool with potential side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief but includes redundant Japanese text that adds no value. The first sentence is front-loaded with the core action, but the overall structure could be improved by removing the redundancy. It is concise but not optimally structured for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (a tool that saves and adds media with 3 nested parameters), no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It lacks details on behavior, parameter meanings, error handling, and output, making it inadequate for safe and effective use by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides no information about parameters beyond what is implied by the tool name. The input schema has 1 parameter ('params') with 3 nested properties, but schema description coverage is 0%, meaning none of these are documented in the schema. The description does not compensate by explaining 'sceneName', 'sourceName', or 'replayFolder', leaving parameters largely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Saves the replay buffer and adds it as a media source to a scene') and identifies the resource (replay buffer, scene). It distinguishes from sibling tools like 'SaveReplayBuffer' (which likely only saves) and 'CreateSource' (which may create sources without saving replays). However, the Japanese text '用途: リプレイをすぐにシーンに表示' is redundant and adds no new information, slightly reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention when to choose this over 'SaveReplayBuffer' followed by 'CreateSource', or when to use it in relation to other media or scene management tools. The Japanese text implies immediate display but does not clarify usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
SetAudioMuteB
Mutes or unmutes an audio source.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While 'mutes or unmutes' implies a state-changing operation, it doesn't specify whether this requires specific permissions, what happens if the source doesn't exist, whether the change is immediate or has latency, or what feedback (if any) is provided upon execution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that communicates the core functionality without any wasted words. It's perfectly front-loaded and appropriately sized for this simple operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with comprehensive schema coverage but no annotations and no output schema, the description is minimally adequate. It states what the tool does but lacks important context about behavioral characteristics, error handling, and relationship to sibling tools that would help an agent use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage (both 'source' and 'mute' parameters are fully documented in the schema), so the baseline is 3. The description doesn't add any parameter information beyond what's already in the schema, but it doesn't need to since the schema is comprehensive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('mutes or unmutes') and the resource ('an audio source'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like SetAudioVolume, which also operates on audio sources but controls volume rather than mute state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like SetAudioVolume or other audio-related tools. There's no mention of prerequisites, error conditions, or specific contexts where muting/unmuting is appropriate versus adjusting volume.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
SetAudioVolumeC
Sets the volume of an audio source.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool sets volume but doesn't mention whether this is a persistent change, requires specific permissions, has side effects (e.g., affecting other sources), or what happens on invalid inputs. This leaves significant gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence that efficiently conveys the core action without unnecessary words. It's front-loaded and appropriately sized for a simple tool, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and minimal parameter guidance, the description is incomplete. It doesn't cover behavioral aspects like error handling, return values, or interaction with sibling tools, leaving the agent with insufficient context for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description doesn't add any parameter details beyond what the input schema provides. Since schema description coverage is 0%, the schema lacks descriptions for parameters, but the description also fails to compensate by explaining 'source' or 'volume' semantics. However, with only 2 parameters, the baseline is moderate, as the tool's purpose implies their roles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Sets') and resource ('volume of an audio source'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like SetAudioMute, which handles muting rather than volume adjustment, leaving room for slight ambiguity in sibling context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like SetAudioMute or other audio-related tools. The description lacks context about prerequisites, such as whether the audio source must exist or be active, or any constraints on usage timing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
SetLutFilterC
Sets parameters for a LUT filter on a source. 用途: LUTフィルターの適用量やファイルパスをリアルタイムで変更する
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions real-time changes ('リアルタイムで変更する') which is useful behavioral context, but doesn't disclose critical traits like whether this is a mutation (implied by 'Sets'), permission requirements, error conditions, or side effects. For a tool with 4 nested parameters and no annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief but front-loaded with the core purpose. However, the bilingual format (English/Japanese) adds redundancy without significant benefit, and the second sentence could be integrated more efficiently. It's not overly verbose but could be more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 nested parameters, mutation operation, no annotations, no output schema), the description is incomplete. It lacks details on parameter semantics, behavioral expectations, error handling, and output format. The real-time change hint is helpful but insufficient for a tool with this level of complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 for undocumented parameters. It only vaguely mentions 'LUTフィルターの適用量やファイルパス' (amount and file path) without explaining all 4 parameters (sourceName, filterName, amount, path) or their relationships. The description adds minimal value beyond the schema's property names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Sets parameters for a LUT filter on a source' with the specific verb 'Sets' and resource 'LUT filter'. It distinguishes from siblings like SetShaderFilter by specifying LUT filters. The Japanese text adds context but doesn't change the core clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives is provided. The description doesn't mention prerequisites (e.g., needing an existing source/filter), exclusions, or compare to similar tools like SetShaderFilter. Usage is implied through the action but not explicitly defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
SetMediaTimeC
Sets the current playback time of a media source. 用途: 特定シーンへのジャンプ、リプレイの開始位置設定
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It implies a mutation ('Sets'), suggesting potential side effects, but doesn't disclose behavioral traits such as required permissions, error handling (e.g., invalid time values), or effects on playback state. The examples hint at use cases but don't clarify operational limits or safety, leaving gaps in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief with two sentences, but the second sentence mixes languages and adds minimal value, slightly reducing clarity. It's front-loaded with the core purpose, yet the non-English text may hinder comprehension. Overall, it's concise but could be more structured and focused.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't explain return values, error conditions, or behavioral nuances like whether the change is immediate or requires playback state. For a mutation tool with complex parameters, this leaves significant gaps in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 for undocumented parameters. It mentions 'media source' and 'playback time' but doesn't add meaning beyond the schema's property names (sourceName, mediaTime). No details on valid ranges, units beyond milliseconds, or sourceName constraints are provided, failing to enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Sets') and resource ('current playback time of a media source'), making the purpose evident. It distinguishes from siblings like PlayPauseMedia or StartRecording by focusing on time positioning rather than playback control or recording. However, it doesn't explicitly differentiate from tools like SwitchScene or SetSourcePosition, which might also involve media manipulation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal usage guidance with examples ('特定シーンへのジャンプ、リプレイの開始位置設定'), but these are vague and not in English, reducing clarity. It lacks explicit when-to-use rules, prerequisites (e.g., media must be loaded), or alternatives among siblings like PlayPauseMedia for playback control, offering no structured guidance for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
SetShaderFilterC
Sets parameters for a shader filter on a source. 用途: シェーダーエフェクトをリアルタイムで変更する
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states it 'sets parameters' and changes effects in real-time. It doesn't disclose whether this is a destructive operation, what permissions are needed, how errors are handled, or what the response looks like. For a mutation tool with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two brief sentences with no obvious fluff, but the Japanese translation is redundant rather than additive. The structure is front-loaded with the core function, though it could be more efficiently phrased as a single sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 4 nested parameters, 0% schema coverage, no annotations, and no output schema, the description is incomplete. It doesn't cover parameter meanings, behavioral implications, error conditions, or usage context relative to siblings, leaving significant gaps for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 but adds no parameter information beyond what's implied by the tool name. It doesn't explain what 'params' contains, the purpose of sourceName/filterName, or how shaderCode and shaderParameters interact. With 4 nested parameters completely undocumented, this is inadequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Sets parameters') and target ('shader filter on a source'), with the Japanese text reinforcing it's for real-time shader effect changes. However, it doesn't differentiate from sibling tools like SetLutFilter or other SetSource* tools that also modify source properties.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like SetLutFilter or other source modification tools. The description only states what it does, not when it's appropriate or what prerequisites exist (e.g., needing an existing source with a shader filter).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
SetSourcePositionC
Sets the position of a source in a scene.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states 'Sets' implying a mutation, but doesn't disclose behavioral traits such as required permissions, whether the change is immediate or reversible, error conditions, or effects on other scene elements. This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (mutation with multiple parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what happens after setting the position, potential side effects, or error handling, leaving significant gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter semantics beyond the input schema, which has 0% description coverage (no parameter descriptions). However, the schema defines parameters clearly (scene, source, x, y), so the baseline is 3 as the schema provides structure, but the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Sets') and the target ('position of a source in a scene'), making the purpose understandable. However, it doesn't differentiate from sibling tools like SetSourceScale or SetSourceVisibility, which also modify source properties, so it lacks sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing scene and source), exclusions, or comparisons to similar tools like SetSourceScale, leaving the agent without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
SetSourceScaleC
Sets the scale of a source in a scene.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the action without behavioral details. It doesn't disclose if this is a destructive mutation, requires specific permissions, has side effects (e.g., affecting other scene elements), or error conditions, which are critical for a tool that modifies scene state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded and wastes no space, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and 0% schema description coverage, the description is insufficient. It lacks details on behavior, error handling, or return values, leaving the agent with incomplete context to use the tool effectively in a scene manipulation environment.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description implies parameters (scene, source, scale values) but doesn't add meaning beyond the input schema, which has 0% description coverage. Since parameters are nested in a 'params' object, the description doesn't clarify this structure or provide examples, leaving gaps despite the schema defining properties.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Sets') and target ('scale of a source in a scene'), making the purpose understandable. However, it doesn't differentiate from sibling tools like SetSourcePosition or SetSourceVisibility, which also modify source properties in scenes, leaving room for confusion about when to choose this specific tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention prerequisites (e.g., the scene and source must exist) or compare to siblings like SetSourcePosition for spatial adjustments, leaving the agent to infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
SetSourceVisibilityB
Sets the visibility of a source in a specific scene.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool 'Sets the visibility,' implying a mutation, but doesn't disclose behavioral traits such as whether this requires specific permissions, if changes are immediate or reversible, or potential side effects. This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without any wasted words. It's appropriately sized for the tool's complexity, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what happens on success or failure, return values, or error conditions. For a tool that modifies scene state, more context is needed to ensure safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for its parameters (scene, source, visible), clearly documenting each. The description adds no additional parameter semantics beyond what the schema provides, but with high schema coverage, the baseline is 3. Since there are 0 parameters in the top-level (the nested 'params' object counts as 1 parameter in context signals), this slightly elevates the score to 4, as the description doesn't need to compensate for gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Sets') and target ('visibility of a source in a specific scene'), making the purpose immediately understandable. However, it doesn't distinguish this tool from similar sibling tools like SetSourcePosition or SetSourceScale, which also modify source properties in scenes, so it misses full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. For example, it doesn't mention if this is for real-time scene adjustments or if there are prerequisites like the source existing in the scene. With many sibling tools for modifying sources, this lack of context is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
SetTextContentC
Sets the text content of a text source.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Sets' implies a mutation, but it doesn't cover critical aspects like permissions needed, whether the change is immediate or reversible, error handling, or side effects. This leaves significant gaps for a tool that modifies content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no wasted words. It's front-loaded and efficiently conveys the core action, making it highly concise and well-structured for its purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a mutation tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits, return values, or error conditions, making it inadequate for safe and effective use by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description doesn't add parameter details beyond the schema. However, since there are 0 parameters (the input schema has nested objects but no top-level parameters), the baseline is 4, as the description needn't compensate for undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action ('Sets') and target ('text content of a text source'), which is clear but vague. It doesn't specify what a 'text source' is or how it differs from other source-related tools like SetSourcePosition or SetSourceVisibility, leaving room for confusion about scope and differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With siblings like CreateSource (for creation) and SetSourceVisibility (for visibility), the description lacks context on prerequisites (e.g., if the source must exist) or exclusions, offering minimal usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
SetTransitionSettingsC
Sets the current scene transition type and duration. 用途: シーン切り替え時のエフェクトをカスタマイズ
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool 'Sets' values, implying a mutation, but doesn't cover critical aspects like whether this requires specific permissions, if changes are reversible, potential side effects, or error conditions. This leaves significant gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the main purpose in the first sentence. The second sentence in Japanese is redundant and doesn't add value, slightly reducing efficiency, but overall it's appropriately sized without unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a mutation tool with no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It lacks details on behavior, parameters, and expected outcomes, making it inadequate for safe and effective use by an AI agent in this context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, meaning parameter details are undocumented in the schema. The description adds no information about the parameters beyond what's implied by the tool name, failing to compensate for the schema gap. It doesn't explain what 'transitionName' or 'transitionDuration' mean in practice, such as valid values or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Sets') and the target ('current scene transition type and duration'), making the purpose understandable. However, it doesn't explicitly differentiate this tool from sibling tools like 'SwitchScene' or 'TriggerStudioModeTransition', which also involve scene transitions, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'SwitchScene' or 'TriggerStudioModeTransition'. It includes a Japanese phrase ('用途: シーン切り替え時のエフェクトをカスタマイズ') that translates to 'Purpose: Customize effects during scene switching', but this doesn't add meaningful usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
StartRecordingB
Starts the OBS recording.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action but doesn't describe effects (e.g., starts recording to configured output, may fail if OBS isn't ready), permissions, or error conditions. This is a significant gap for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core action and resource, making it highly concise and well-structured for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema), the description is adequate but incomplete. It lacks behavioral context (e.g., what happens on success/failure, interactions with other tools like 'StopRecording'), which is needed for a mutation tool with no annotations. It meets minimum viability but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so no parameter information is needed. The description doesn't add param details, but that's appropriate here. Baseline is 4 for zero parameters, as the schema fully covers the absence of inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Starts') and resource ('the OBS recording'), providing a specific verb+resource combination. It distinguishes this tool from siblings like 'StopRecording' by indicating the opposite action, though it doesn't explicitly differentiate from other recording-related tools (none listed).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., OBS must be running), exclusions (e.g., don't use if already recording), or related tools like 'StopRecording' or 'StartStream'. Usage is implied but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
StartStreamB
Starts the OBS stream.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It states the action but doesn't disclose what 'starting a stream' entails—whether it requires authentication, has side effects (e.g., affecting other OBS functions), or what happens on success/failure. This leaves key operational details unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with zero wasted words. It's front-loaded with the core action, making it highly efficient and easy to parse, which is ideal for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (simple action but with potential behavioral nuances), no annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns, error conditions, or dependencies, leaving the agent with insufficient context for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here, but it could briefly note the lack of parameters for clarity. Baseline is 4 since no parameters exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Starts') and the resource ('the OBS stream'), making the purpose immediately understandable. It distinguishes from obvious siblings like StopStream, though it doesn't explicitly differentiate from all related tools like StartRecording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. While the name suggests it starts streaming, there's no mention of prerequisites (e.g., OBS must be configured), conditions (e.g., streaming must be stopped first), or related tools like StopStream for stopping.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
StopRecordingB
Stops the OBS recording.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. While 'Stops' implies a state-changing action, it doesn't disclose behavioral traits such as whether this requires specific permissions, what happens if no recording is active, or if there are side effects (e.g., saving files). This leaves significant gaps for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core action and resource, making it easy to parse. Every word earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a state-changing tool with no annotations and no output schema, the description is incomplete. It doesn't explain what happens after stopping (e.g., file saving, status changes) or potential errors, which are crucial for an agent to use this tool effectively in context with siblings like 'StartRecording'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the lack of inputs. The description doesn't need to add parameter semantics, and it appropriately avoids mentioning any. A baseline of 4 is applied since no parameters exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Stops') and resource ('the OBS recording'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'StopStream' or 'PlayPauseMedia', which would require more specific context about OBS functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., that recording must be active), exclusions, or relationships with sibling tools like 'StartRecording' or 'SaveReplayBuffer'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
StopStreamA
Stops the OBS stream.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the action but lacks details on behavioral traits such as whether this requires specific permissions, if it's reversible, what happens to ongoing recordings, or error conditions. This is a significant gap for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It is front-loaded and directly conveys the tool's purpose without unnecessary elaboration, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity is low (no parameters, simple action), the description is minimally complete but lacks output schema or behavioral details. Without annotations, it should provide more context on effects or prerequisites, leaving room for improvement in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description does not add parameter details, but this is acceptable as there are no parameters to describe, aligning with the baseline for 0 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Stops the OBS stream' clearly states the specific action (stops) and target resource (OBS stream). It distinguishes from siblings like 'StartStream' and 'StopRecording' by focusing on streaming rather than recording or other operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when stopping a stream is needed, and the tool name 'StopStream' contrasts with 'StartStream', providing clear context. However, it does not explicitly state when not to use it or mention alternatives like 'StopRecording' for different scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
SwitchSceneC
Switches the current OBS program scene.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While 'Switches' implies a mutation operation, it doesn't mention whether this requires specific OBS states, whether it's immediate or uses transitions, what happens if the scene doesn't exist, or any error conditions. This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a simple operation and front-loads the core functionality without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and 0% schema description coverage, the description is insufficient. It doesn't explain what happens after the switch, potential side effects, error conditions, or prerequisites. Given the complexity of OBS scene management and the presence of many sibling tools, more context is needed for proper tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, but the description doesn't compensate by explaining the 'scene' parameter beyond what's already in the schema. The schema provides the parameter name and type, while the description adds no additional semantic context about valid scene names, format, or relationship to existing scenes. This meets the baseline for minimal parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Switches') and resource ('current OBS program scene'), making the purpose immediately understandable. However, it doesn't distinguish this tool from potential sibling tools like 'SetTransitionSettings' or 'TriggerStudioModeTransition' that might also affect scene changes in different ways.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'GetSceneList' (for listing scenes) and 'SetTransitionSettings' (for configuring transitions), there's no indication of when this basic scene switch is appropriate versus more specialized scene-related operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TakeSourceScreenshotC
Takes a screenshot of the specified source.
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action but lacks critical details: whether this requires specific permissions, if it's destructive (e.g., overwrites files), what happens on failure, or typical response behavior. This leaves significant gaps for an agent to understand the tool's operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It's appropriately sized for the basic action described and is front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (6 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain what 'source' means in this context, how parameters interact, what the tool returns, or error conditions. For a tool with multiple configuration options, this leaves too much undefined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides no information about parameters, while the schema has 0% description coverage (based on context signals). With 6 parameters (source, filePath, width, height, compressionQuality, imageFormat) all undocumented in both schema and description, this fails to add any meaningful semantics beyond the tool name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action ('takes a screenshot') and target ('specified source'), which provides a basic purpose. However, it doesn't differentiate this from potential sibling tools or specify what type of source is being captured (e.g., OBS source vs. general source), making it somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., needing an active source), exclusions, or related tools like 'SaveReplayBuffer' that might serve similar purposes in different contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TriggerStudioModeTransitionC
Triggers the transition from Preview to Program in Studio Mode. 用途: シーンの準備と切り替えをスムーズに行う
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. While 'Triggers the transition' implies a state-changing action, the description doesn't specify whether this requires specific conditions (like being in Studio Mode), what happens if triggered incorrectly, whether it's reversible, or what side effects might occur. The Japanese text adds no behavioral information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise with two brief sentences. However, the Japanese text ('用途: シーンの準備と切り替えをスムーズに行う') is redundant with the English portion and adds no new information, slightly reducing efficiency. The core purpose is front-loaded effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a state transition tool with no annotations, no output schema, and minimal parameter documentation, the description is insufficient. It doesn't explain what happens after triggering the transition, what errors might occur, or how this integrates with the broader OBS workflow represented by sibling tools. The Japanese translation doesn't add meaningful context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema shows one required parameter 'params' with an empty properties object (0% schema description coverage). The description provides no information about what 'params' should contain or how it affects the transition. With no parameter guidance in either schema or description, this meets the baseline for minimal documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Triggers the transition') and the specific resource ('from Preview to Program in Studio Mode'), making the purpose understandable. However, it doesn't explicitly distinguish this tool from sibling tools like 'SwitchScene' or 'SetTransitionSettings', which might have overlapping functionality in scene management contexts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'SwitchScene' and 'SetTransitionSettings' available, there's no indication of when this specific transition trigger is appropriate, what prerequisites exist, or when other tools should be used instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
23 tool updates
- First observed
CreateSource - First observed
GetSceneItemList - First observed
GetSceneList - First observed
PlayPauseMedia - First observed
SaveReplayBuffer - First observed
SaveReplayBufferAndAdd - First observed
SetAudioMute - First observed
SetAudioVolume - First observed
SetLutFilter - First observed
SetMediaTime - First observed
SetShaderFilter - First observed
SetSourcePosition - First observed
SetSourceScale - First observed
SetSourceVisibility - First observed
SetTextContent - First observed
SetTransitionSettings - First observed
StartRecording - First observed
StartStream - First observed
StopRecording - First observed
StopStream - First observed
SwitchScene - First observed
TakeSourceScreenshot - First observed
TriggerStudioModeTransition
TDQS
Scored across 23 tools
Most tools have distinct purposes targeting specific OBS functions like scene management, source control, media playback, and streaming. However, some overlap exists between SetSourcePosition/SetSourceScale/SetSourceVisibility (all modifying source properties) and between Start/StopRecording and Start/StopStream (similar start/stop patterns), though their descriptions clarify the specific resources they affect.
Tool names follow a highly consistent verb_noun pattern throughout, using clear action verbs like Get, Set, Create, Start, Stop, Switch, Take, Trigger followed by specific nouns. All names use PascalCase consistently without any mixing of conventions, making them predictable and readable.
With 23 tools, the count feels heavy for an OBS control server, though not extreme. While OBS has many features, some tools could potentially be consolidated (e.g., SetSourcePosition/Scale/Visibility into a single SetSourceProperties tool). The number is borderline but manageable given the domain complexity.
The toolset provides comprehensive coverage for core OBS workflows including scene/source management, media control, audio/video adjustments, streaming/recording, and transitions. Minor gaps include missing tools for listing/creating filters or managing profiles, but agents can perform most essential operations without dead ends.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
- sleipnirOAuthtv.sleipnir
Multistream to Twitch, YouTube and Kick; generate OBS overlays from a plain-English prompt.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
FFmpeg as a service for AI agents: typed video editing tools, async jobs, downloadable outputs.
Build, validate, deploy — HTTP APIs, cron jobs, webhooks and MCP tools — from your AI client.
Related MCP Servers
- AlicenseCqualityDmaintenanceA TypeScript-based server that converts static images into animated videos with Ghibli-style aesthetics, accessible through Claude Desktop.3104MIT
- AlicenseNot gradedqualityDmaintenanceA TypeScript-based MCP server that implements virtual try-on capabilities using the HeyBeauty API, allowing users to visualize how clothes would look on them through Claude.2219MIT
- AlicenseBqualityBmaintenanceA TypeScript-based server that enables AI-powered control of Minecraft Bedrock Edition through 15 powerful tools for player movement, agent operations, world manipulation, and building complex structures.2115MIT
- AlicenseAqualityDmaintenanceA TypeScript-based MCP server that enables users to manage tasks through natural conversation with Claude. Features complete CRUD operations, priority management, tagging, search functionality, and intelligent productivity insights with robust Zod validation.646MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/yshk-mrt/obs-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server