go2rtc-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GO2RTC_URL | No | Base HTTP/HTTPS URL of your go2rtc server | http://localhost:1984 |
| GO2RTC_TIMEOUT | No | Request timeout in seconds | 15.0 |
| GO2RTC_PASSWORD | No | Optional HTTP Basic Auth password | |
| GO2RTC_USERNAME | No | Optional HTTP Basic Auth username | |
| GO2RTC_ALLOW_EXEC_STREAMS | No | Set to true only if you explicitly allow exec: / echo: / expr: sources | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_server_infoA | Get go2rtc server metadata including version, revision, host, RTSP port, and config path. |
| list_streamsA | List all configured and active streams on the go2rtc server with credentials redacted. |
| get_stream_infoA | Get producer and consumer details for a specific stream ( Set |
| probe_streamB | Actively probe a camera stream to inspect its video/audio codecs, SDP, and track stats. |
| get_stream_snapshotC | Capture a live JPEG snapshot frame from |
| get_stream_urlsB | Generate WebRTC, MSE, HLS (.m3u8), MP4, MJPEG, JPEG snapshot, and RTSP URLs for a stream. |
| add_streamB | Dynamically add or overwrite a stream on go2rtc ( Rejects |
| update_streamA | Dynamically update an existing stream on go2rtc ( Rejects |
| delete_streamC | Delete a dynamically registered stream from go2rtc ( |
| get_configA | Retrieve the go2rtc YAML configuration ( |
| get_server_logsA | Retrieve the most recent |
| discover_sourcesB | Discover stream sources from a go2rtc integration ( |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| diagnose_stream | Generate a step-by-step diagnostic prompt for troubleshooting a go2rtc camera stream. |
| snapshot_all | Prompt to capture live snapshots from all configured cameras and summarize each scene. |
| security_patrol | Prompt to check stream health, probe codecs, and capture camera frames. |
| camera_urls | Prompt to fetch and format all direct streaming links for a camera. |
| stream_health_check | Prompt to check system-wide health, codec compatibility, and stream stability. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| go2rtc_server_info | Redacted go2rtc server metadata and RTSP configuration |
| go2rtc_streams | All configured go2rtc streams with producer credentials redacted |
| go2rtc_config | Sanitized go2rtc.yaml server configuration |
TDQS
Scored across 12 tools
Most tools have clearly distinct purposes, but get_stream_info (with probe=True) and probe_stream overlap significantly in actively inspecting stream codecs, SDP, and track stats. This one pair could cause occasional misselection, though descriptions help clarify the intended use.
All tool names use snake_case with a consistent verb_noun pattern (e.g., get_server_info, list_streams, add_stream, delete_stream). The convention is predictable and readable throughout, with only minor natural variation like probe_stream vs. get_stream_info.
With 12 tools, the set is well-scoped for managing a go2rtc server: CRUD for streams, inspection, discovery, snapshots, URLs, config, and logs. Each tool earns its place without obvious redundancy or bloat.
The surface covers core stream lifecycle operations, server info, logs, config, discovery, snapshots, and URL generation. Minor gaps exist, such as a server restart or health-check operation, but agents can work around these for most workflows.