github TypeScript analyzed 23a89fe

DualStream/DualStreamMCP

github

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.

maintainer
DualStream
license
Apache-2.0
first seen
2026-07-20
last seen
2026-08-13
releases · 30d
0
short id

Drift inferred · capture-to-capture

tool count over time

07-20 18:23 now
0t
27t
capabilities 30 tools
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
code evidence vHEAD · github-tarball
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