Skip to content

Opt-in: use the WebSocket password OBS saved - #8

Merged
Tom-R-Main merged 1 commit into
mainfrom
improve/password-fallback
Sep 24, 2026
Merged

Tom-R-Main merged 1 commit into
mainfrom
improve/password-fallback

Conversation

@Tom-R-Main

Copy link
Copy Markdown
Owner

Stacked on #7.

Why: Codex couldn't record the Siftable demo because the OBS WebSocket password wasn't in its environment, even though OBS keeps it on the same machine.

What: OBS_MCP_READ_OBS_CONFIG=true (off by default). When OBS_WEBSOCKET_PASSWORD is unset, the server reads server_password from obs-websocket's config.json:

  • macOS: ~/Library/Application Support/obs-studio/plugin_config/obs-websocket/config.json
  • Windows: %APPDATA%\obs-studio\...
  • Linux: $XDG_CONFIG_HOME or ~/.config, then the Flatpak sandbox

If that file says authentication is off, no password is used. The server logs which file it read, never the value. The MCPB manifest gets a matching checkbox.

Tests: unit tests for paths, parsing, precedence and log redaction; an e2e test that authenticates the compiled server against a fake OBS using only a temporary config file. npm run check passes (114 unit, 11 e2e).

🤖 Generated with Claude Code

https://claude.ai/code/session_01Vjn8uBEa4mJshaQU3pFuqX

With OBS_MCP_READ_OBS_CONFIG=true and no OBS_WEBSOCKET_PASSWORD, the server
reads server_password from obs-websocket's config.json in OBS's own config
directory (macOS, Windows, Linux, and the Linux Flatpak). A local agent can
then connect without a copy of the password in its configuration. The
server logs which file it used, never the value.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vjn8uBEa4mJshaQU3pFuqX
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-24T00:36:13.553716Z 6d5f6a9 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6d5f6a92c6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/obs-config.ts
}
if (typeof config !== "object" || config === null) continue;
const { auth_required: authRequired, server_password: password } = config as Record<string, unknown>;
if (authRequired === false) return { kind: "no-auth", path };

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep searching after a no-auth config

On Linux systems retaining both native and Flatpak OBS profiles, a stale native config with auth_required: false causes this early return before the active Flatpak config is examined. If the running Flatpak OBS instance requires the password stored in the second candidate path, the client is constructed without it and every connection attempt fails authentication. Continue checking the remaining candidate paths for a password rather than treating the first no-auth file as authoritative.

Useful? React with 👍 / 👎.

@Tom-R-Main
Tom-R-Main changed the base branch from improve/protocol-features to main September 24, 2026 05:11
@Tom-R-Main
Tom-R-Main merged commit cfee432 into main Sep 24, 2026
4 checks passed
@Tom-R-Main
Tom-R-Main deleted the improve/password-fallback branch September 24, 2026 05:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant