Official MCP server for DualStream — it exposes the DualStream desktop app's local control plane (scenes, instant-replay clips, live events) as MCP tools, so AI assistants like Claude and ChatGPT can operate the studio with the user's consent, on the user's machine.
Drift inferred · capture-to-capture
tool count over time
07-20 18:23 now
0t
27t
transport stdio counts 30 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
activate_scene
-
add_source
-
apply_recipe
-
create_scene
-
delete_automation
-
get_active_scene
-
get_connection_status
-
get_recent_events
-
get_scenes
-
get_state_snapshot
-
get_widget_settings
-
list_automations
-
list_devices
-
list_recipes
-
list_sources
-
post_card
-
remove_source
-
save_automation
-
save_recipe
-
set_effect_enabled
-
set_source_crop
-
set_source_effects
-
set_source_mute
-
set_source_order
-
set_source_shape
-
set_source_transform
-
set_source_visibility
-
trigger_clip
-
update_widget_settings
-
wait_for_event
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 21
filesystem 6
- fs (weak) DualStream-DualStreamMCP-23a89fe/scripts/generate-protocol-docs.mjs :9
import { readFileSync, writeFileSync } from "node:fs"; - fs DualStream-DualStreamMCP-23a89fe/src/control/client.ts :14
import fs from "node:fs"; - fs DualStream-DualStreamMCP-23a89fe/src/control/discovery.ts :12
import { readFile } from "node:fs/promises"; - fs (weak) DualStream-DualStreamMCP-23a89fe/test/client.test.ts :1
import { writeFileSync } from "node:fs"; - fs (weak) DualStream-DualStreamMCP-23a89fe/test/discovery.test.ts :1
import { mkdtempSync, writeFileSync } from "node:fs"; - fs (weak) DualStream-DualStreamMCP-23a89fe/test/mock-control-server.ts :15
import { mkdtempSync, writeFileSync } from "node:fs";
secrets 1
- secrets DualStream-DualStreamMCP-23a89fe/src/index.ts :29
password: process.env["DUALSTREAM_CONTROL_PASSWORD"],
tool registrations 30
- get_connection_status DualStream-DualStreamMCP-23a89fe/src/server.ts :110
- get_state_snapshot DualStream-DualStreamMCP-23a89fe/src/server.ts :142
- get_scenes DualStream-DualStreamMCP-23a89fe/src/server.ts :162
- get_active_scene DualStream-DualStreamMCP-23a89fe/src/server.ts :183
- activate_scene DualStream-DualStreamMCP-23a89fe/src/server.ts :201
- trigger_clip DualStream-DualStreamMCP-23a89fe/src/server.ts :252
- get_recent_events DualStream-DualStreamMCP-23a89fe/src/server.ts :283
- list_recipes DualStream-DualStreamMCP-23a89fe/src/server.ts :327
- apply_recipe DualStream-DualStreamMCP-23a89fe/src/server.ts :356
- save_recipe DualStream-DualStreamMCP-23a89fe/src/server.ts :394
- get_widget_settings DualStream-DualStreamMCP-23a89fe/src/server.ts :445
- update_widget_settings DualStream-DualStreamMCP-23a89fe/src/server.ts :475
- list_devices DualStream-DualStreamMCP-23a89fe/src/server.ts :520
- create_scene DualStream-DualStreamMCP-23a89fe/src/server.ts :546
- list_sources DualStream-DualStreamMCP-23a89fe/src/server.ts :576
- add_source DualStream-DualStreamMCP-23a89fe/src/server.ts :601
- remove_source DualStream-DualStreamMCP-23a89fe/src/server.ts :640
- set_source_transform DualStream-DualStreamMCP-23a89fe/src/server.ts :663
- set_source_crop DualStream-DualStreamMCP-23a89fe/src/server.ts :709
- set_source_shape DualStream-DualStreamMCP-23a89fe/src/server.ts :745
- set_source_effects DualStream-DualStreamMCP-23a89fe/src/server.ts :782
- set_source_order DualStream-DualStreamMCP-23a89fe/src/server.ts :820
- set_source_visibility DualStream-DualStreamMCP-23a89fe/src/server.ts :849
- set_source_mute DualStream-DualStreamMCP-23a89fe/src/server.ts :882
- set_effect_enabled DualStream-DualStreamMCP-23a89fe/src/server.ts :908
- post_card DualStream-DualStreamMCP-23a89fe/src/server.ts :945
- wait_for_event DualStream-DualStreamMCP-23a89fe/src/server.ts :982
- list_automations DualStream-DualStreamMCP-23a89fe/src/server.ts :1031
- save_automation DualStream-DualStreamMCP-23a89fe/src/server.ts :1052
- delete_automation DualStream-DualStreamMCP-23a89fe/src/server.ts :1084
install hooks 1
- prepublishOnly DualStream-DualStreamMCP-23a89fe/package.json :37
npm run typecheck && npm run build && npm run test && npm run docs
declared dependencies 7
- @modelcontextprotocol/sdk@^1.12.0
- zod@^3.25.0
- @types/node@^22.15.0
- @types/ws@^8.18.0
- typescript@^5.8.0
- vitest@^3.2.0
- ws@^8.18.0