Skip to main content
Glama
royshil
by royshil
README.md
# OBS MCP Server

An MCP server for OBS Studio that provides tools to control OBS via the OBS WebSocket protocol.

## Features

- Connect to OBS WebSocket server
- Control OBS via MCP tools
- Provides tools for:
  - General operations
  - Scene management
  - Source control
  - Scene item manipulation
  - Streaming and recording
  - Transitions


## Usage

1. Make sure OBS Studio is running with WebSocket server enabled (Tools > WebSocket Server Settings). Note the password for the WS.
2. Set the WebSocket password in environment variable (if needed):

```bash
export OBS_WEBSOCKET_PASSWORD="your_password_here"
```

3. Add the MCP server to Claude desktop with the MCP server settings:

```json
{
  "mcpServers": {
    "obs": {
      "command": "npx",
      "args": ["-y", "obs-mcp@latest"],
      "env": {
        "OBS_WEBSOCKET_PASSWORD": "<password_from_obs>"
      }
    }
  }
}
```

4. Use Claude to control your OBS!

## Development

If you want to run the server locally using the code in this git repo, you can do the following:


```bash
npm run build
npm run start
```

Then configure Claude desktop:

```json
{
  "mcpServers": {
    "obs": {
      "command": "node",
      "args": [
        "<obs-mcp_root>/build/index.js"
      ],
      "env": {
        "OBS_WEBSOCKET_PASSWORD": "<password_from_obs>"
      }
    }
  }
}
```

## Available Tools

The server provides tools organized by category:

- General tools: Version info, stats, hotkeys, studio mode
- Scene tools: List scenes, switch scenes, create/remove scenes
- Source tools: Manage sources, settings, audio levels, mute/unmute
- Scene item tools: Manage items in scenes (position, visibility, etc.)
- Streaming tools: Start/stop streaming, recording, virtual camera
- Transition tools: Set transitions, durations, trigger transitions

## Environment Variables

- `OBS_WEBSOCKET_URL`: WebSocket URL (default: ws://localhost:4455)
- `OBS_WEBSOCKET_PASSWORD`: Password for authenticating with OBS WebSocket (if required)

## Requirements

- Node.js 16+
- OBS Studio 31+ with WebSocket server enabled
- Claude desktop

## License

See the [LICENSE](LICENSE) file for details.

TDQS

B3/5.0

Scored across 127 tools

Disambiguation4/5

Most tools have distinct purposes, but there is some overlap in get/set operations for similar properties (e.g., multiple audio-related get/set tools for inputs) that could cause minor confusion. However, the descriptions are clear enough to differentiate them in most cases.

Naming Consistency5/5

All tools follow a consistent 'obs-verb-noun' pattern with clear, descriptive names. The naming is uniform throughout, making it easy to predict tool functions and maintain readability.

Tool Count2/5

With 127 tools, the count is excessively high for a single server, making it overwhelming and difficult to navigate. This suggests poor scoping, as many tools could potentially be consolidated or grouped more efficiently.

Completeness5/5

The tool set provides comprehensive coverage of OBS operations, including CRUD for inputs, scenes, filters, and outputs, as well as status checks, controls, and utilities. No obvious gaps are present for the domain.

Maintenance

ActivityInactive
ResponsivenessUnresponsive