Manage Restream Streams via Natural Language
Restream MCP Server lets Claude manage streaming channels, control live streams, and check analytics via the Restream API.
1.0.0Add to Favorites
Why it matters
Leverage natural language to manage your Restream streaming channels, control live streams, and access performance analytics. This MCP server integrates directly with the Restream API, simplifying complex streaming operations.
Outcomes
What it gets done
Manage user profiles and connected streaming channels.
Control stream settings, including title, description, and privacy.
Start and stop live streams with ease.
Retrieve and analyze stream performance data.
Source
Get it from source
Spark does not host a copy of it.
Open sourceReports
Agent outcome reports
No reports yet
Capabilities
Tools your agent gets
Get authenticated user's profile information, including email, display name, and account data
List all connected streaming channels/platforms with their connection status
Get detailed information about a specific channel by ID
Enable or disable a specific streaming channel
Get information about the current/active stream including title, status, RTMP URL, and viewer count
Update current stream settings such as title, description, or privacy settings
Get analytics and statistics for streams including viewer count and engagement metrics
Start a new stream with additional settings
Stop the current active stream
Overview
Restream MCP Server
Restream MCP Server exposes nine tools over the Restream API for managing connected streaming channels, controlling live streams, and checking analytics through an AI assistant. Use it when managing a Restream multistreaming setup conversationally - checking channels, updating stream details, or starting and stopping a broadcast.
What it does
Restream MCP Server provides tools for interacting with the Restream API, enabling Claude and other MCP clients to manage streaming channels, control streams, and access analytics through natural language. It covers getting the authenticated user's profile, listing and inspecting connected channels (YouTube, Twitch, Facebook, and others), enabling or disabling a channel, viewing and updating the current stream's settings, checking streaming analytics, and starting or stopping a stream.
When to use - and when NOT to
Use this when you want to manage a Restream-connected live-streaming setup conversationally - checking which channels are connected, updating a stream's title before going live, starting or stopping a broadcast, or pulling viewer and engagement analytics - instead of using the Restream dashboard directly. It depends on Restream API credentials (Client ID and Secret) with OAuth-based authentication, so it requires that setup to be completed first, and it operates on the account's live streaming state, so starting or stopping a stream through it has the same real effect as doing so manually.
Inputs and outputs
Nine tools are exposed: get_user_profile (authenticated user info), list_channels (connected platforms and status), get_channel(channelId), update_channel_status(channelId, enabled), get_current_stream (title, status, RTMP URL, viewer count), update_stream_settings(title?, description?, privacy?), get_stream_analytics(streamId?), start_stream(title?, description?, privacy?), and stop_stream().
Integrations
Requires Node.js 18+ and Restream API credentials obtained from the Restream Developer Portal. Installable globally or locally via npm (npm install -g @shaktech786/restream-mcp-server) or from source (git clone plus npm install and npm run build). Configured via environment variables (RESTREAM_CLIENT_ID, RESTREAM_CLIENT_SECRET, RESTREAM_API_BASE_URL) or directly in Claude Desktop's config, running either the installed npm package via npx or a built dist/index.js via node. The server wraps the Restream API v2, covering OAuth token exchange, profile, channels, current stream, and analytics endpoints. The project is released under the MIT License.
Who it's for
Streamers and stream operators using Restream to multistream across platforms who want to manage channels, update stream details, and check analytics through an AI assistant instead of the Restream web dashboard.
Typical requests documented for the server include "List all my connected streaming channels", "Get my current stream information", "Update my stream title to 'Live Coding Session'", "Enable my YouTube channel", and "Show me my streaming analytics" - each maps directly onto one of the nine exposed tools rather than requiring a custom prompt pattern. Troubleshooting guidance in the project covers both authentication failures (verifying Client ID/Secret and their permissions, and confirming the API base URL) and connection issues (reinstalling dependencies, rebuilding, checking the Node.js version, and confirming the configured path).
npm install -g @shaktech786/restream-mcp-server
Source README
Restream MCP Server
A Model Context Protocol (MCP) server that provides tools for interacting with the Restream API. This server enables Claude and other MCP clients to manage streaming channels, control streams, and access analytics through natural language.
Features
- User Profile Management: Get authenticated user information
- Channel Management: List, view, enable/disable streaming channels
- Stream Control: Start, stop, and update stream settings
- Analytics: Access streaming analytics and performance data
- OAuth Authentication: Secure API access using client credentials
Available Tools
1. get_user_profile
Get the authenticated user profile information including email, display name, and account details.
2. list_channels
List all connected streaming channels/platforms (YouTube, Twitch, Facebook, etc.) with their connection status.
3. get_channel
Get detailed information about a specific channel by ID.
Parameters:
channelId(string, required): The ID of the channel to retrieve
4. update_channel_status
Enable or disable a specific streaming channel.
Parameters:
channelId(string, required): The ID of the channel to updateenabled(boolean, required): Whether to enable (true) or disable (false) the channel
5. get_current_stream
Get information about the current/active stream including title, status, RTMP URL, and viewer count.
6. update_stream_settings
Update settings for the current stream such as title, description, or privacy settings.
Parameters:
title(string, optional): The stream titledescription(string, optional): The stream descriptionprivacy(string, optional): The stream privacy setting (public, private, unlisted)
7. get_stream_analytics
Get analytics and statistics for streams including viewer counts, engagement metrics, and performance data.
Parameters:
streamId(string, optional): Optional stream ID to get analytics for a specific stream
8. start_stream
Start a new stream with optional settings.
Parameters:
title(string, optional): The stream titledescription(string, optional): The stream descriptionprivacy(string, optional): The stream privacy setting (public, private, unlisted)
9. stop_stream
Stop the current active stream.
Installation
Prerequisites
- Node.js 18 or higher
- npm or yarn
- Restream API credentials (Client ID and Client Secret)
Option 1: Install from npm (Recommended)
npm install -g @shaktech786/restream-mcp-server
Or install locally in your project:
npm install @shaktech786/restream-mcp-server
Option 2: Install from Source
- Clone this repository:
git clone https://github.com/shaktech786/restream-mcp-server.git
cd restream-mcp-server
- Install dependencies:
npm install
- Build the server:
npm run build
Configuration
Configure your Restream API credentials either through environment variables or in your Claude Desktop config:
Environment Variables (.env file):
RESTREAM_CLIENT_ID=your_client_id_here
RESTREAM_CLIENT_SECRET=your_client_secret_here
RESTREAM_API_BASE_URL=https://api.restream.io/v2
Getting Restream API Credentials
- Go to Restream Developer Portal
- Create a new application or use an existing one
- Copy your Client ID and Client Secret
- Add them to your
.envfile
Usage with Claude Desktop
To use this MCP server with Claude Desktop, add it to your Claude Desktop configuration file:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
If installed via npm:
{
"mcpServers": {
"restream": {
"command": "npx",
"args": ["-y", "@shaktech786/restream-mcp-server"],
"env": {
"RESTREAM_CLIENT_ID": "your_client_id_here",
"RESTREAM_CLIENT_SECRET": "your_client_secret_here",
"RESTREAM_API_BASE_URL": "https://api.restream.io/v2"
}
}
}
}
If installed from source:
{
"mcpServers": {
"restream": {
"command": "node",
"args": ["/absolute/path/to/restream-mcp-server/dist/index.js"],
"env": {
"RESTREAM_CLIENT_ID": "your_client_id_here",
"RESTREAM_CLIENT_SECRET": "your_client_secret_here",
"RESTREAM_API_BASE_URL": "https://api.restream.io/v2"
}
}
}
}
Restart Claude Desktop after saving the configuration.
Development
Running in Development Mode
npm run dev
This will watch for changes and rebuild automatically.
Testing the Server
You can test the server locally using the MCP Inspector:
npx @modelcontextprotocol/inspector node dist/index.js
API Endpoints Reference
This server uses the Restream API v2. The main endpoints include:
POST /oauth/token- AuthenticationGET /user/profile- Get user profileGET /user/channels- List channelsGET /user/channels/:id- Get channel detailsPATCH /user/channels/:id- Update channelGET /user/stream- Get current streamPATCH /user/stream- Update stream settingsPOST /user/stream/start- Start streamPOST /user/stream/stop- Stop streamGET /user/analytics- Get analytics
For complete API documentation, visit Restream Developer Portal.
Example Usage with Claude
Once configured, you can ask Claude to:
- "List all my connected streaming channels"
- "Get my current stream information"
- "Update my stream title to 'Live Coding Session'"
- "Enable my YouTube channel"
- "Show me my streaming analytics"
- "Start a new stream with title 'Gaming Night'"
Troubleshooting
Authentication Errors
If you encounter authentication errors:
- Verify your Client ID and Client Secret are correct
- Ensure the credentials have the necessary permissions
- Check that the API base URL is correct
Connection Issues
If the server fails to connect:
- Make sure all dependencies are installed (
npm install) - Rebuild the server (
npm run build) - Check that Node.js version is 18 or higher
- Verify the path in Claude Desktop config is correct
Security Notes
- Never commit your
.envfile to version control - Keep your Client ID and Client Secret secure
- Regularly rotate your API credentials
- The
.gitignorefile is configured to exclude.env
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.