Skip to main content
Glama
README.md
# Twitch MCP Server

<a href="https://glama.ai/mcp/servers/@Eclipse-XV/twitch-mcp">
  <img width="380" height="200" src="https://glama.ai/mcp/servers/@Eclipse-XV/twitch-mcp/badge" />
</a>

AI-powered tools for Twitch streamers, exposed via the Model Context Protocol (MCP). Connect your coding/chat assistants (Gemini CLI, Qwen Coder, Claude Code, etc.) to your Twitch chat for moderation, stream management, and engagement.

## Quick Start (No Cloning Required)

### Prerequisites
- Node.js 14+ and Java 11+ available on your system PATH
- A Twitch account with appropriate API credentials

### Setup Configuration
Create a config file with your Twitch credentials (use bare access token, no "oauth:" prefix):

**Windows:** `C:/Users/<you>/AppData/Roaming/twitch-mcp/config.json`  
**macOS:** `~/Library/Application Support/twitch-mcp/config.json`  
**Linux:** `~/.config/twitch-mcp/config.json`

Example `config.json`:
```json
{
  "channel": "YOUR_TWITCH_USERNAME",
  "auth": "YOUR_TWITCH_ACCESS_TOKEN",  
  "clientId": "YOUR_TWITCH_CLIENT_ID",
  "broadcasterId": "YOUR_BROADCASTER_ID",
  "showConnectionMessage": true
}
```

### Recommended AI CLI Tools

**🥇 Primary Recommendation: Gemini CLI**
- Excellent MCP support with reliable connections
- Free tier with generous limits
- Great for day-to-day Twitch moderation and chat management

**🥈 Secondary Recommendation: Qwen Coder CLI** 
- Strong coding-focused AI with good MCP integration
- Particularly good for stream development and technical discussions
- Free and open-source

**âš¡ For Power Users: Claude Code**
- Most advanced reasoning capabilities
- Best for complex moderation decisions and nuanced chat analysis
- **Note:** Limited credits - save for heavy lifting tasks

### Configuration Examples

#### Gemini CLI Configuration
Add to your Gemini settings:
```json
{
  "mcpServers": {
    "twitch-mcp": {
      "type": "stdio", 
      "command": "npx",
      "args": [
        "-y",
        "twitch-mcp-server@latest",
        "--config",
        "C:/Users/<you>/AppData/Roaming/twitch-mcp/config.json"
      ]
    }
  }
}
```

#### Qwen Coder Configuration  
Add to your Qwen settings:
```json
{
  "mcpServers": {
    "twitch-mcp": {
      "type": "stdio",
      "command": "npx", 
      "args": [
        "-y",
        "twitch-mcp-server@latest",
        "--config", 
        "C:/Users/<you>/AppData/Roaming/twitch-mcp/config.json"
      ]
    }
  }
}
```

## Features

- **Chat Management:** Send and read messages, recent chat log, chat analysis
- **Moderation:** Timeout/ban users (by username or descriptor keywords)
- **Stream Management:** Update title/category, create clips
- **Interactive Tools:** Create polls and predictions for viewer engagement

## Installation Options

### Option 1: NPX (Recommended)
No installation required - your AI tool will automatically fetch the latest version:
```bash
npx twitch-mcp-server@latest --config /path/to/config.json
```

### Option 2: Global Install
```bash
npm install -g twitch-mcp-server
twitch-mcp-server --config /path/to/config.json
```

### Option 3: Local Development
See [README-developers.md](README-developers.md) for building from source.

## Usage Notes

- Use a bare access token in `auth` field (no `oauth:` prefix needed)
- Only one AI client should connect at a time to avoid conflicts
- Ensure Node.js and Java are installed on the same system as your AI CLI
- The server will automatically handle IRC formatting and API authentication

## Troubleshooting

**Authentication Issues:**
- Confirm `auth` is a bare token (no `oauth:` prefix)  
- Verify `clientId` and scopes match your generated token
- Ensure `broadcasterId` matches your channel ID

**Connection Problems:**
- Check that both Node.js and Java are in your system PATH
- Try running `java -version` and `node -version` to verify installation
- For Windows users: Make sure you're not running from WSL if your AI CLI is on Windows

**NPX Prompts in Headless Environments:**
- The configurations above use `-y` flag for non-interactive execution
- If you encounter prompts, add `--yes` to the npx command

## Support

- For general usage questions, check the troubleshooting section above
- For development and contributions, see [README-developers.md](README-developers.md)  
- For Claude-specific integration help, see [CLAUDE.md](CLAUDE.md)

TDQS

B3/5.0

Scored across 10 tools

Disambiguation4/5

Most tools have distinct purposes targeting different Twitch functionalities like chat moderation, stream management, and interactive features. However, 'banUser' and 'timeoutUser' have overlapping descriptions when no username is provided, both returning recent chat logs, which could cause confusion in selection.

Naming Consistency3/5

The naming is mixed with some tools using camelCase (e.g., 'analyzeChat', 'banUser') and others using more descriptive phrases (e.g., 'createTwitchClip', 'updateStreamTitle'). While readable, the lack of a uniform pattern reduces predictability and consistency across the toolset.

Tool Count5/5

With 10 tools, the count is well-scoped for a Twitch integration server. Each tool addresses a specific aspect of Twitch functionality, such as chat management, stream updates, and content creation, making the set comprehensive without being overwhelming.

Completeness4/5

The toolset covers key areas like chat moderation, stream configuration, and interactive features (polls, predictions, clips), providing good lifecycle coverage. Minor gaps include missing tools for viewing stream stats or managing followers, but core workflows are adequately supported.

Maintenance

ActivityInactive
ResponsivenessNo issues