Enables management of Facebook as a streaming destination through Restream, including listing connected channels, enabling/disabling streaming, and controlling stream settings.
Enables management of Twitch as a streaming destination through Restream, including listing connected channels, enabling/disabling streaming, and controlling stream settings.
Enables management of YouTube as a streaming destination through Restream, including listing connected channels, enabling/disabling streaming, and controlling stream settings.
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)
Or install locally in your project:
Option 2: Install from Source
Clone this repository:
Install dependencies:
Build the server:
Configuration
Configure your Restream API credentials either through environment variables or in your Claude Desktop config:
Environment Variables (.env file):
Getting Restream API Credentials
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:
If installed from source:
Restart Claude Desktop after saving the configuration.
Development
Running in Development Mode
This will watch for changes and rebuild automatically.
Testing the Server
You can test the server locally using the MCP Inspector:
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 controlKeep your Client ID and Client Secret secure
Regularly rotate your API credentials
The
.gitignorefile is configured to exclude.env
License
MIT
Contributing
Contributions are welcome! Please feel free to submit issues or pull requests.
Support
For issues with the MCP server, please file an issue on GitHub.
For Restream API questions, visit the Restream Developer Portal.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Enables management of multi-platform streaming through the Restream API, allowing control of streaming channels, stream settings, and access to analytics across platforms like YouTube, Twitch, and Facebook through natural language.
- Features
- Available Tools
- Installation
- Getting Restream API Credentials
- Usage with Claude Desktop
- Development
- API Endpoints Reference
- Example Usage with Claude
- Troubleshooting
- Security Notes
- License
- Contributing
- Support