Twitch MCP Server
# Twitch MCP Server
A Model Context Protocol (MCP) server that interacts with the Twitch API. This server utilizes the Twitch Helix API to retrieve channel information, stream details, game data, and more.
## Features
- Get channel information (profile, description, creation date, etc.)
- Get stream information (title, game, viewer count, start time, etc.)
- Get list of top games
- Search categories/games
- Search channels
- Get live streams (filterable by game and language)
- Get global emotes
- Get global chat badges
- Get user information
- Get clips from a channel
- Get chat settings
- Get videos from a specified channel
- Get comments from archived videos (using GraphQL API)
## Prerequisites
- Node.js (v18 or higher recommended)
- Twitch Developer Account
- Twitch API Client ID and Client Secret
- Twitch GraphQL Client ID (for video comments feature)
## Installation
Install the package using npm:
```bash
npm install @mtane0412/twitch-mcp-server
```
## Configuration
1. Create a new application in the [Twitch Developer Console](https://dev.twitch.tv/console)
2. Set the following environment variables:
```bash
# macOS/Linux
export TWITCH_CLIENT_ID="your_client_id"
export TWITCH_CLIENT_SECRET="your_client_secret"
# Windows (PowerShell)
$env:TWITCH_CLIENT_ID="your_client_id"
$env:TWITCH_CLIENT_SECRET="your_client_secret"
```
Alternatively, you can create a `.env` file:
```env
TWITCH_CLIENT_ID=your_client_id
TWITCH_CLIENT_SECRET=your_client_secret
```
## Usage
After installation, you can start using the server by running:
```bash
npx @mtane0412/twitch-mcp-server
```
### Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector), which is available as a package script:
```bash
npm run inspect
```
The Inspector will provide a URL to access debugging tools in your browser.
## License
MIT LicenseTDQS
Scored across 14 tools
Every tool has a clearly distinct purpose targeting specific Twitch resources like channels, clips, games, streams, videos, and searches. The naming makes it unambiguous what each tool retrieves, with no functional overlap between tools.
All tools follow a consistent 'get_' or 'search_' verb prefix with descriptive noun patterns (e.g., get_channel_info, search_channels). This uniform snake_case naming convention makes the tool set predictable and easy to understand.
With 14 tools, this server is well-scoped for the Twitch domain, covering key resources like channels, streams, videos, games, and searches. Each tool earns its place by addressing a specific aspect of Twitch's API without being overwhelming.
The tool set provides comprehensive read-only coverage for retrieving Twitch data, including channels, streams, videos, games, and searches. A minor gap is the lack of write operations (e.g., posting comments or managing streams), but for a retrieval-focused server, it's highly complete.