npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@striderlabs/mcp-twitch

v0.1.0

Published

MCP server for Twitch — let AI agents search streams, manage channels, moderate chat, and interact with the Twitch platform

Readme

@striderlabs/mcp-twitch

npm MCP License: MIT

Twitch streaming platform connector for personal AI agents. Search streams, manage channels, moderate chat, create clips, browse VODs, manage predictions, and more — all via the Model Context Protocol.

Features

  • Search — streams, channels, games/categories, clips
  • Channel info — details, schedule, followers
  • Live streams — get followed live streams, top streams by category
  • Moderation — ban, timeout, unban users; delete chat messages; list banned users
  • Clips — create clips from live streams, browse clips by channel or game
  • VODs — browse past broadcasts, highlights, and uploads
  • Subscriptions — list subscribers, check subscription status
  • Predictions — create, view, resolve, lock, or cancel channel predictions
  • Channel Points — list custom rewards and redemptions

Installation

npm install -g @striderlabs/mcp-twitch

Or use directly with npx:

npx @striderlabs/mcp-twitch

MCP Client Configuration

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "twitch": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-twitch"]
    }
  }
}

Generic MCP client

{
  "mcpServers": {
    "twitch": {
      "command": "striderlabs-mcp-twitch"
    }
  }
}

Setup: Twitch API Credentials

You need a Client ID and OAuth access token from Twitch.

1. Create a Twitch app

  1. Go to dev.twitch.tv/console
  2. Click Register Your Application
  3. Set OAuth Redirect URL to http://localhost
  4. Copy your Client ID

2. Generate an access token

Use the Twitch Token Generator or the Twitch CLI to generate a user access token with the scopes you need.

Recommended scopes:

| Scope | Required for | |-------|-------------| | user:read:follows | twitch_get_followed_channels, twitch_get_followed_streams | | moderator:manage:banned_users | twitch_ban_user, twitch_timeout_user, twitch_unban_user | | moderator:manage:chat_messages | twitch_delete_chat_message | | moderator:read:banned_users | twitch_get_banned_users | | channel:read:subscriptions | twitch_get_subscriptions, twitch_check_subscription | | channel:read:predictions | twitch_get_predictions | | channel:manage:predictions | twitch_create_prediction, twitch_end_prediction | | channel:read:redemptions | twitch_get_channel_rewards, twitch_get_reward_redemptions | | channel:manage:broadcast | twitch_create_clip |

3. Configure the connector

Once the MCP server is running, use the twitch_configure tool:

twitch_configure(
  client_id: "your_client_id",
  access_token: "your_access_token",
  user_id: "your_numeric_user_id",        // optional but recommended
  broadcaster_login: "your_twitch_login"  // optional
)

Credentials are stored at ~/.strider/twitch/config.json.

To find your numeric user ID, use twitch_get_user(login: "your_login") after configuring.

Available Tools

| Tool | Description | |------|-------------| | twitch_configure | Save API credentials | | twitch_get_config | View current config (token masked) | | twitch_get_user | Get user info by login or ID | | twitch_search_channels | Search channels by name | | twitch_search_categories | Search game/category names | | twitch_get_streams | Get live streams (filter by channel, game, language) | | twitch_get_followed_streams | Get live streams from followed channels | | twitch_get_channel | Get channel details (title, category, language) | | twitch_get_channel_schedule | Get upcoming stream schedule | | twitch_get_followed_channels | List followed channels | | twitch_follow_channel | Follow a channel (API removed by Twitch) | | twitch_unfollow_channel | Unfollow a channel (API removed by Twitch) | | twitch_get_top_categories | Top games/categories by viewer count | | twitch_get_category | Get category by ID or name | | twitch_get_clips | Browse clips by channel, game, or ID | | twitch_create_clip | Create a clip from a live stream | | twitch_get_videos | Browse VODs (archives, highlights, uploads) | | twitch_ban_user | Permanently ban a user | | twitch_timeout_user | Timeout a user for N seconds | | twitch_unban_user | Remove a ban or timeout | | twitch_delete_chat_message | Delete a chat message | | twitch_get_banned_users | List banned/timed-out users | | twitch_get_subscriptions | List channel subscribers | | twitch_check_subscription | Check if a user is subscribed | | twitch_get_predictions | List channel predictions | | twitch_create_prediction | Create a new prediction | | twitch_end_prediction | Resolve, lock, or cancel a prediction | | twitch_get_channel_rewards | List custom channel point rewards | | twitch_get_reward_redemptions | List redemptions for a reward |

Usage Examples

Find live streams for a game:

twitch_search_categories(query: "Minecraft")
twitch_get_streams(game_id: "27471", first: 10)

Check what followed channels are live:

twitch_get_followed_streams(first: 20)

Create a clip from a live stream:

twitch_create_clip(broadcaster_id: "12345678")

Run a channel prediction:

twitch_create_prediction(
  broadcaster_id: "12345678",
  title: "Will I win this match?",
  outcomes: ["Yes", "No"],
  prediction_window: 120
)

Moderate a chat:

twitch_timeout_user(broadcaster_id: "12345678", user_id: "99887766", duration: 600, reason: "Spam")
twitch_ban_user(broadcaster_id: "12345678", user_id: "99887766", reason: "Repeated violations")

Configuration

Credentials are stored at ~/.strider/twitch/config.json:

{
  "client_id": "your_client_id",
  "access_token": "your_access_token",
  "user_id": "123456789",
  "broadcaster_login": "your_login"
}

Known Limitations

  • Follow/Unfollow: Twitch removed these endpoints from the Helix API in August 2023. The tools exist but return an informative error.
  • Chat reading: Real-time chat requires WebSocket (IRC/EventSub), not supported in this REST-based connector.
  • Token refresh: Access tokens expire. You'll need to re-run twitch_configure with a fresh token when they do.

Development

git clone https://github.com/striderlabs/mcp-twitch
cd mcp-twitch
npm install
npm run build
node dist/index.js

License

MIT — Strider Labs