Run your streams from your AI assistant
Stream Repeater speaks the Model Context Protocol (MCP), so Claude, ChatGPT, Cursor, VS Code and other MCP clients can check your stream's health, go live, pause a destination, clip a moment, read chat and check your bandwidth — with your own API token, and nothing the token could not do anyway.
Server URL
https://streamrepeater.com/mcp
- Transport
- Streamable HTTP (JSON-RPC 2.0)
- Authentication
Authorization: Bearer <your API token>- Server version
- 1.0.0
Streamable HTTP transport. Authenticate with an API token sent as a Bearer header.
Connect in three steps
Create a token
In Settings → API tokens, create a token for your assistant. Choose Read-only if it should only look, or Read & write to let it go live, pause destinations, clip and post in chat.
Add the server
Paste the server URL and your token into your MCP client, using one of the snippets below.
Ask
Ask in plain language. The assistant chooses the tools, and asks you before anything viewers would see.
Client setup
Replace YOUR_TOKEN with the token you created. Keep it out of shared files and repositories.
Claude Code
One command in your terminal:
claude mcp add --transport http streamrepeater https://streamrepeater.com/mcp --header "Authorization: Bearer YOUR_TOKEN"
Claude Desktop
Add this to claude_desktop_config.json (Settings → Developer → Edit config), then restart Claude. It uses the mcp-remote bridge, which needs Node.js.
{
"mcpServers": {
"streamrepeater": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://streamrepeater.com/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer YOUR_TOKEN"
}
}
}
}
Cursor
Add this to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):
{
"mcpServers": {
"streamrepeater": {
"url": "https://streamrepeater.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
VS Code
Add this to .vscode/mcp.json. VS Code asks for the token once and stores it securely.
{
"inputs": [
{
"type": "promptString",
"id": "streamrepeater-token",
"description": "Stream Repeater API token",
"password": true
}
],
"servers": {
"streamrepeater": {
"type": "http",
"url": "https://streamrepeater.com/mcp",
"headers": {
"Authorization": "Bearer ${input:streamrepeater-token}"
}
}
}
}
Other MCP clients
Any client that supports the Streamable HTTP transport and custom headers works: point it at the server URL and send the Authorization header.
curl -X POST https://streamrepeater.com/mcp \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}'
ChatGPT and Claude on the web
Connectors added in ChatGPT or on claude.ai sign in with OAuth rather than a pasted token. OAuth sign-in is on our roadmap; until it ships, use Claude Desktop, Claude Code, Cursor, VS Code or another client that can send a header.
What your assistant can do
Every tool calls the same API route a script would, with the same permission checks. Read tools work with any token; tools that change something need a Read & write token and the Manage streams role.
| Tool | What it does | Type |
|---|---|---|
list_workspaces |
Lists your workspaces, your role in each and its plan. | Read-only |
list_channels |
Lists channels with live status, the go-live switch, recording and destination counts. | Read-only |
get_channel_status |
Health of a stream: live or not, bitrate, uptime, packet loss, viewers and every destination's relay state. | Read-only |
list_destinations |
Lists where a channel is relayed to, without URLs or stream keys. | Read-only |
list_recordings |
Lists a channel's cloud-recorded segments. | Read-only |
list_clips |
Lists a channel's clips, newest first. | Read-only |
get_recent_chat |
Reads recent messages from your unified live chat. | Read-only |
get_usage |
Bandwidth used against your allowance, with a forecast. | Read-only |
get_stream_keys |
Server addresses for your encoder, with keys masked, and where to copy the real ones. | Read-only |
go_live |
Switches a channel's ingest on, so it relays to every enabled destination. | Makes changes |
end_stream |
Switches a channel's ingest off, ending the broadcast everywhere. | Makes changes |
add_destination |
Adds a destination from a connected account, a full URL, or a server and key. | Makes changes |
set_destination_enabled |
Pauses or resumes one destination. | Makes changes |
start_recording |
Turns cloud recording on for a channel. | Makes changes |
stop_recording |
Turns cloud recording off for a channel. | Makes changes |
create_clip |
Clips the last few seconds of the live recording, or cuts a clip from a recording. | Makes changes |
send_chat_message |
Posts a message in your live chat on the connected platforms. | Makes changes |
Try asking
- Is my stream healthy right now?
- Go live on Twitch.
- Clip the last 30 seconds and call it "Clutch round".
- How much bandwidth have I used this month, and will I run out?
- Pause YouTube but keep Twitch running.
- What are people saying in chat? Thank the last three subscribers.
Security
Your token, your limits
The assistant can do exactly what its token can do over the API — no more. A Read-only token cannot change anything, and your workspace role still applies.
Stream keys stay secret
Stream keys, destination URLs and passwords are never returned to the assistant. Connection details come back masked.
Every change is logged
Each change made through MCP appears in your workspace Activity log, naming the tool and the token.
Revoke any time
Delete the token in Settings → API tokens and the assistant loses access immediately. Each token is limited to 120 MCP requests a minute.
Chat messages are written by your viewers. A well-behaved assistant treats them as data, but use a Read-only token if you only need to read.