twitch mcp server
Enables interaction with the Twitch API, allowing users to retrieve comprehensive information about channels, streams, games, and more, with additional support for searching and accessing chat elements like emotes and badges.
Enables interaction with the Twitch API, allowing users to retrieve comprehensive information about channels, streams, games, and more, with additional support for searching and accessing chat elements like emotes and badges.
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.
Install the package using npm:
npm install @mtane0412/twitch-mcp-server
Create a new application in the Twitch Developer Console
Set the following environment variables:
# 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:
TWITCH_CLIENT_ID=your_client_id
TWITCH_CLIENT_SECRET=your_client_secret
After installation, you can start using the server by running:
npx @mtane0412/twitch-mcp-server
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:
npm run inspect
The Inspector will provide a URL to access debugging tools in your browser.
MIT License
[
{
"description": "チャンネル情報を取得します",
"inputSchema": {
"properties": {
"channelName": {
"description": "Twitchチャンネル名",
"type": "string"
}
},
"required": [
"channelName"
],
"type": "object"
},
"name": "get_channel_info"
},
{
"description": "配信情報を取得します",
"inputSchema": {
"properties": {
"channelName": {
"description": "Twitchチャンネル名",
"type": "string"
}
},
"required": [
"channelName"
],
"type": "object"
},
"name": "get_stream_info"
},
{
"description": "人気のゲームのリストを取得します",
"inputSchema": {
"properties": {
"limit": {
"description": "取得する最大ゲーム数(デフォルト: 20)",
"maximum": 100,
"minimum": 1,
"type": "number"
}
},
"type": "object"
},
"name": "get_top_games"
},
{
"description": "特定のゲームの情報を取得します",
"inputSchema": {
"properties": {
"name": {
"description": "ゲーム名",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "get_game"
},
{
"description": "ゲームやカテゴリーを検索します",
"inputSchema": {
"properties": {
"limit": {
"description": "取得する最大カテゴリー数(デフォルト: 20)",
"maximum": 100,
"minimum": 1,
"type": "number"
},
"query": {
"description": "検索キーワード",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search_categories"
},
{
"description": "チャンネルを検索します",
"inputSchema": {
"properties": {
"limit": {
"description": "取得する最大チャンネル数(デフォルト: 20)",
"maximum": 100,
"minimum": 1,
"type": "number"
},
"query": {
"description": "検索キーワード",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search_channels"
},
{
"description": "現在ライブ配信中のストリームを取得します",
"inputSchema": {
"properties": {
"game": {
"description": "ゲーム名でフィルター",
"type": "string"
},
"language": {
"description": "言語でフィルター (例: ja, en)",
"type": "string"
},
"limit": {
"description": "取得する最大ストリーム数(デフォルト: 20)",
"maximum": 100,
"minimum": 1,
"type": "number"
}
},
"type": "object"
},
"name": "get_streams"
},
{
"description": "グローバルエモートのリストを取得します",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_global_emotes"
},
{
"description": "グローバルチャットバッジのリストを取得します",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_global_badges"
},
{
"description": "ユーザーの情報を取得します",
"inputSchema": {
"properties": {
"userNames": {
"description": "Twitchユーザー名の配列",
"items": {
"type": "string"
},
"maxItems": 100,
"type": "array"
}
},
"required": [
"userNames"
],
"type": "object"
},
"name": "get_users"
},
{
"description": "クリップの情報を取得します",
"inputSchema": {
"properties": {
"channelName": {
"description": "Twitchチャンネル名",
"type": "string"
},
"limit": {
"description": "取得する最大クリップ数(デフォルト: 20)",
"maximum": 100,
"minimum": 1,
"type": "number"
}
},
"required": [
"channelName"
],
"type": "object"
},
"name": "get_clips"
},
{
"description": "チャット設定を取得します",
"inputSchema": {
"properties": {
"channelName": {
"description": "Twitchチャンネル名",
"type": "string"
}
},
"required": [
"channelName"
],
"type": "object"
},
"name": "get_chat_settings"
},
{
"description": "チャンネルのビデオを取得します",
"inputSchema": {
"properties": {
"channelName": {
"description": "Twitchチャンネル名",
"type": "string"
},
"limit": {
"description": "取得する最大ビデオ数(デフォルト: 20)",
"maximum": 100,
"minimum": 1,
"type": "number"
}
},
"required": [
"channelName"
],
"type": "object"
},
"name": "get_videos"
},
{
"description": "アーカイブ動画のコメントを取得します",
"inputSchema": {
"properties": {
"cursor": {
"description": "次のページのカーソル",
"type": "string"
},
"limit": {
"description": "取得する最大コメント数(デフォルト: 20)",
"maximum": 100,
"minimum": 1,
"type": "number"
},
"videoId": {
"description": "ビデオID",
"type": "string"
}
},
"required": [
"videoId"
],
"type": "object"
},
"name": "get_video_comments"
}
]