LeashIndex Get the report

Index / data

OBSBOT Tiny 2 Camera Control

io-github-lxman-obsbot-mcp declares 82 capabilities across 82 tools, with 2 critical issues. One of them, no-revocation, is recorded for every server in the index because MCP has no field in which to declare a way to switch a tool off; a missing declaration is not evidence that the control is missing.

99/100 exposureHigh exposure

Manifest recorded 2026-11-04 from tools/list answered by the npm package obsbot-mcp@0.9.5 (published to npm as obsbot-mcp, listed in the official MCP registry as io.github.lxman/obsbot-mcp 0.9.5), run in an isolated container with no network access and placeholder credentials. The date changes only when the manifest does. Not verified by a maintainer.

Issues

These describe what this server's manifest declares. A product can provide controls that MCP has no way to express — token revocation, an admin console, audit logs — and this page cannot see them. The absence of a declaration is not evidence that a control is absent.

critical · no-revocation · All 82 tools

82 of 82 tools declare no way for the customer to switch them off once granted. This applies to every tool because MCP has no field in which to declare a revocation mechanism; the product may provide one outside MCP that a manifest cannot show.

critical · irreversible-uncapped · 7 of 82 tools

7 tools are classified as irreversible and declare no limit.

high · no-expiry · All 82 tools

82 of 82 tools declare no expiry. This applies to every tool because MCP has no field in which to declare an expiry; the product may provide one outside MCP that a manifest cannot show.

high · no-audit-trail · All 82 tools

82 of 82 tools declare no record of their actions that the customer can read. This applies to every tool because MCP has no field in which to declare an audit requirement; the product may provide one outside MCP that a manifest cannot show.

high · uncapped-write · 41 of 82 tools

41 tools can modify data and declare no limit.

low · uncapped-read · 34 of 82 tools

34 tools can read data and declare no limit.

Declared capabilities

How each tool was read. declared means the server's own annotation said so — self-reported and unverified. inferred is from the tool's name. assumed means nothing indicated either way.

ToolRead asBasis
obsbot_devicesread inferred
obsbot_wakesend inferred
obsbot_sleepsend inferred
obsbot_gimbal_movewrite inferred
obsbot_gimbal_recenterwrite assumed
obsbot_zoom_uvcwrite assumed
obsbot_ai_trackwrite assumed
obsbot_ai_track_speedwrite inferred
obsbot_zoom_vendorwrite assumed
obsbot_focus_facewrite assumed
obsbot_statusread inferred
obsbot_image_fovread inferred
obsbot_image_hdrwrite assumed
obsbot_focus_autowrite assumed
obsbot_focus_manualwrite inferred
obsbot_gimbal_positionread inferred
obsbot_aim_at_pixelwrite assumed
obsbot_zoom_to_fitwrite assumed
obsbot_preset_listread inferred
obsbot_preset_savewrite assumed
obsbot_preset_recallwrite assumed
obsbot_preset_updatewrite inferred
obsbot_preset_renamewrite inferred
obsbot_preset_deletedelete inferred
obsbot_image_wb_autowrite assumed
obsbot_image_wb_manualwrite inferred
obsbot_image_adjustwrite assumed
obsbot_image_exposure_autowrite assumed
obsbot_image_exposure_manualwrite inferred
obsbot_capture_snapshotwrite assumed
obsbot_capture_recordread inferred
obsbot_capture_previewread inferred
obsbot_capture_stopread inferred
obsbot_capture_listread inferred
obsbot_tail2_devicesread inferred
obsbot_tail2_scanwrite assumed
obsbot_tail2_wakesend inferred
obsbot_tail2_sleepsend inferred
obsbot_tail2_statusread inferred
obsbot_tail2_inforead inferred
obsbot_tail2_zoomwrite inferred
obsbot_tail2_hybrid_zoomwrite assumed
obsbot_tail2_zoom_typeread inferred
obsbot_tail2_preset_speedread inferred
obsbot_tail2_usb_moderead inferred
obsbot_tail2_antiflickerread inferred
obsbot_tail2_af_trackread inferred
obsbot_tail2_iso_rangeread inferred
obsbot_tail2_gestureread inferred
obsbot_tail2_stream_configread inferred
obsbot_tail2_export_logread inferred
obsbot_tail2_live_statusread inferred
obsbot_tail2_zone_trackingwrite assumed
obsbot_tail2_auto_zoom_speedwrite inferred
obsbot_tail2_track_customwrite assumed
obsbot_tail2_recenterwrite assumed
obsbot_tail2_gimbal_positionread inferred
obsbot_tail2_gimbal_speedwrite assumed
obsbot_tail2_gimbal_movewrite inferred
obsbot_tail2_gimbal_invertread inferred
obsbot_tail2_recordread inferred
obsbot_tail2_capture_photosend inferred
obsbot_tail2_track_targetwrite assumed
obsbot_tail2_focus_pointwrite assumed
obsbot_tail2_focusread inferred
obsbot_tail2_exposureread inferred
obsbot_tail2_image_adjustread inferred
obsbot_tail2_hdrread inferred
obsbot_tail2_wbread inferred
obsbot_tail2_streamread inferred
obsbot_tail2_only_meread inferred
obsbot_tail2_audioread inferred
obsbot_tail2_portraitwrite assumed
obsbot_tail2_roll_biaswrite inferred
obsbot_tail2_ai_trackwrite assumed
obsbot_tail2_track_speedwrite inferred
obsbot_tail2_preset_listread inferred
obsbot_tail2_preset_savewrite assumed
obsbot_tail2_preset_recallwrite assumed
obsbot_tail2_preset_deletedelete inferred
obsbot_tail2_preset_renamewrite inferred
obsbot_tail2_snapshotwrite assumed

Record history

Earlier records for this server. A correction is added here, never written over the record it corrects.

RecordedExposureSource
2026-10-2798 tools/list answered by the npm package obsbot-mcp@0.9.3 (published to npm as obsbot-mcp, listed in the official MCP registry as io.github.lxman/obsbot-mcp 0.9.3), run in an isolated container with no network access and placeholder credentials
Answering this question about your own agent? The self-serve stack report applies the same reading to your own stack or server and gives you a dated document you can hand to a customer's security review. It is generated in your browser, with nobody to wait for. Buying one does not change this page, its score or its place in the index — see Independence.
Maintain this server? If this page misreads your manifest, or your server has changed, submit its current tools/list response and it will be re-scored and dated. Corrections are published alongside the original, not in place of it.