项目简介
Twitch MCP Server 是一个实现了 Model Context Protocol (MCP) 的后端服务器,它充当 LLM 客户端和 Twitch API 之间的桥梁。通过这个服务器,LLM 客户端可以利用预定义的工具,以标准化的方式访问 Twitch 平台的各种数据和功能,例如检索频道信息、直播状态、热门游戏列表、搜索频道和分类、获取聊天设置、视频信息和评论等。
主要功能点
- 频道信息查询: 获取 Twitch 频道的详细信息,包括简介、创建日期等。
- 直播信息查询: 获取 Twitch 直播的实时信息,如标题、游戏、观众数量、开始时间等。
- 热门游戏列表: 获取 Twitch 平台当前热门游戏排行榜。
- 游戏/分类搜索: 根据关键词搜索 Twitch 游戏或分类。
- 频道搜索: 根据关键词搜索 Twitch 频道。
- 直播流查询: 获取正在直播的频道列表,并支持按游戏和语言过滤。
- 全局表情/徽章: 获取 Twitch 全局表情和聊天徽章列表。
- 用户信息查询: 获取 Twitch 用户信息。
- 剪辑查询: 获取指定频道的剪辑视频。
- 聊天设置查询: 获取指定频道的聊天室设置。
- 视频查询: 获取指定频道的历史视频。
- 视频评论查询: 获取存档视频的评论内容。
安装步骤
-
安装 Node.js: 确保你的系统已安装 Node.js (推荐 v18 或更高版本)。
-
安装 Twitch MCP Server 包: 在你的项目目录中,使用 npm 安装 '@mtane0412/twitch-mcp-server' 包:
npm install @mtane0412/twitch-mcp-server -
配置 Twitch API 凭据:
- 前往 Twitch Developer Console 创建一个新的应用程序。
- 获取你的 Twitch API Client ID 和 Client Secret。
- 设置环境变量 'TWITCH_CLIENT_ID' 和 'TWITCH_CLIENT_SECRET',或者创建 '.env' 文件并在其中配置。
环境变量配置示例 (macOS/Linux):
export TWITCH_CLIENT_ID="your_client_id" export TWITCH_CLIENT_SECRET="your_client_secret"'.env' 文件配置示例:
TWITCH_CLIENT_ID=your_client_id TWITCH_CLIENT_SECRET=your_client_secret
服务器配置
以下 JSON 配置信息用于 MCP 客户端连接 Twitch MCP Server。你需要将以下配置添加到你的 MCP 客户端的服务器列表中。
{ "serverName": "Twitch MCP Server", // 自定义服务器名称,方便在客户端中识别 "command": "npx", // 启动服务器的命令,这里使用 npx 执行 npm 包 "args": ["@mtane0412/twitch-mcp-server"] // 启动服务器命令的参数,指定要执行的 npm 包名 }
配置说明:
- '"serverName"': 服务器的名称,可以自定义,用于在 MCP 客户端界面上显示。
- '"command"': 运行服务器端程序的命令。由于该服务器打包为 npm 包,并可以直接通过 'npx 包名' 运行,因此这里设置为 '"npx"'。
- '"args"': 传递给 'command' 的参数,这里指定了要通过 'npx' 运行的 npm 包名称 '@mtane0412/twitch-mcp-server'。
注意: 请确保你的 MCP 客户端能够执行 'npx' 命令,并且环境变量 'TWITCH_CLIENT_ID' 和 'TWITCH_CLIENT_SECRET' 在运行 MCP 客户端的环境中已正确配置。
基本使用方法
-
启动 Twitch MCP Server: 在你的项目目录或任何已安装 '@mtane0412/twitch-mcp-server' 包的目录中,运行以下命令启动服务器:
npx @mtane0412/twitch-mcp-server服务器成功启动后,会在控制台输出 'Twitch MCP server running on stdio'。
-
配置 MCP 客户端: 将上面提供的服务器配置 JSON 添加到你的 MCP 客户端配置中。具体操作方法请参考你使用的 MCP 客户端的文档。
-
使用 LLM 客户端调用工具: 在你的 LLM 客户端中,你可以使用工具调用功能,指定工具名称和参数来访问 Twitch API 的功能。例如,要获取某个 Twitch 频道的信息,你可以调用 'get_channel_info' 工具,并提供 'channelName' 参数。
示例工具调用 (假设在 LLM 客户端中以某种方式配置和调用):
{ "tool_calls": [ { "id": "call_123", "type": "function", "function": { "name": "get_channel_info", "arguments": { "channelName": "twitchdev" } } } ] }LLM 客户端会将这个工具调用请求发送到 Twitch MCP Server,服务器会调用 Twitch API 获取数据,并将结果以 MCP 响应格式返回给客户端。
调试
如果遇到问题,可以使用 MCP Inspector 进行调试,运行命令 'npm run inspect' 启动 Inspector,并通过浏览器访问提供的 URL 进行调试。
信息
分类
通信与社交