Kick MCP Server

Kick MCP Server

一个高性能的模型上下文协议服务器实现,它为第三方应用程序提供了一个标准化的接口,以便与 Kick 直播平台 API 集成。

Category
访问服务器

README

🚀 Kick MCP 服务器

一个高性能的模型上下文协议 (MCP) 服务器实现,用于 Kick 流媒体平台 API。此服务器为第三方应用程序提供了一个强大、安全和标准化的接口,以便与 Kick 的服务集成。

License: MIT MCP Version Docker smithery badge

🌟 特性

核心特性

  • 🔐 安全的 OAuth 2.0 身份验证
    • 自动令牌刷新
    • 基于范围的授权
    • JWT 验证
  • 🔄 实时通信
    • WebSocket 支持
    • 自动重连
    • 会话管理
  • 🛡️ 企业级安全
    • 速率限制
    • IP 白名单
    • 请求签名
    • CORS 保护
  • 📊 高级监控
    • Prometheus 指标
    • 健康检查
    • 性能跟踪
  • 💾 缓存与性能
    • Redis 支持
    • 内存缓存
    • 请求优化

MCP 最佳实践

  • ✅ 标准化的错误响应
  • ✅ 一致的方法命名
  • ✅ 正确的参数验证
  • ✅ 全面的日志记录
  • ✅ 自动重试
  • ✅ 速率限制处理

📚 API 文档

身份验证方法

方法 描述 参数
getOAuthUrl 获取 OAuth 授权 URL client_id, redirect_uri, scope
getAccessToken 交换代码以获取令牌 client_id, client_secret, code
refreshAccessToken 刷新过期令牌 client_id, client_secret, refresh_token
validateToken 验证访问令牌 access_token
revokeToken 撤销访问令牌 access_token

用户方法

方法 描述 参数
getUserProfile 获取用户个人资料 access_token
updateUserProfile 更新用户个人资料 access_token, data
getUserSubscriptions 获取订阅 access_token
getUserEmotes 获取用户表情 access_token
getUserBadges 获取用户徽章 access_token
getUserFollows 获取关注的频道 access_token
getUserBlockedUsers 获取被阻止的用户 access_token
getUserClips 获取用户剪辑 access_token
getUserVideos 获取用户视频 access_token
getUserHighlights 获取用户精彩片段 access_token
getUserScheduledStreams 获取计划的直播 access_token
getUserNotifications 获取通知 access_token
getUserWallet 获取钱包信息 access_token
getUserGifts 获取礼物历史 access_token

聊天方法

方法 描述 参数
getChatMessages 获取聊天消息 access_token, channel_id
sendChatMessage 发送聊天消息 access_token, channel_id, message
getChatSettings 获取聊天设置 access_token, channel_id
banUser 禁止用户发言 access_token, channel_id, user_id
unbanUser 取消禁止用户发言 access_token, channel_id, user_id
timeoutUser 禁言用户 access_token, channel_id, user_id, duration
deleteMessage 删除聊天消息 access_token, channel_id, message_id
clearChat 清除所有聊天消息 access_token, channel_id
getChatUserInfo 获取聊天用户信息 access_token, channel_id, user_id

频道方法

方法 描述 参数
getChannelInfo 获取频道信息 access_token, channel_id
getChannelFollowers 获取关注者 access_token, channel_id
getChannelSubscribers 获取订阅者 access_token, channel_id
getChannelEmotes 获取频道表情 access_token, channel_id
getChannelBadges 获取频道徽章 access_token, channel_id
getChannelModerators 获取主持人 access_token, channel_id
getChannelBans 获取被禁止的用户 access_token, channel_id
getChannelVips 获取 VIP 用户 access_token, channel_id
getChannelClips 获取频道剪辑 access_token, channel_id
getChannelVideos 获取频道视频 access_token, channel_id
getChannelHighlights 获取精彩片段 access_token, channel_id
getChannelScheduledStreams 获取时间表 access_token, channel_id
getChannelChatRules 获取聊天规则 access_token, channel_id
getChannelChatCommands 获取命令 access_token, channel_id
getChannelCategories 获取分类 access_token, channel_id
getChannelTags 获取频道标签 access_token, channel_id
getChannelGifts 获取礼物历史 access_token, channel_id
getChannelRaids 获取突袭历史 access_token, channel_id
getChannelHosts 获取主机历史 access_token, channel_id

直播方法

方法 描述 参数
startStream 开始直播 access_token, channel_id
endStream 结束直播 access_token, channel_id
updateStreamInfo 更新直播信息 access_token, channel_id, data
updateStreamSettings 更新设置 access_token, channel_id, data
getStreamInfo 获取直播信息 access_token, channel_id
getStreamViewers 获取观看者 access_token, channel_id
getStreamCategories 获取分类 access_token, channel_id
getStreamTags 获取直播标签 access_token, channel_id
getStreamStats 获取统计信息 access_token, channel_id
createPoll 创建投票 access_token, channel_id, title, options, duration
endPoll 结束活动投票 access_token, channel_id, poll_id
createPrediction 创建预测 access_token, channel_id, title, options, duration
endPrediction 结束预测 access_token, channel_id, prediction_id, winning_outcome_id
createMarker 创建直播标记 access_token, channel_id, description

Webhook 方法

方法 描述 参数
createWebhook 创建 webhook access_token, url, events
deleteWebhook 删除 webhook access_token, webhook_id
listWebhooks 列出 webhooks access_token
getWebhookEvents 获取可用事件 access_token
verifyWebhookSignature 验证签名 signature, message_id, timestamp, body
getPublicKey 获取公钥 -
getWebhookPayloads 获取示例有效负载 access_token, event_type
retryWebhook 重试失败的 webhook access_token, webhook_id, message_id

🚀 快速开始

前提条件

  • Node.js >= 18.0.0
  • Redis (可选,用于增强缓存)
  • Docker (可选,用于容器化)

安装

  1. 克隆存储库:
git clone https://github.com/NosytLabs/KickMCP.git
cd KickMCP
  1. 安装依赖项:
npm install
  1. 配置环境:
cp .env.example .env
# 编辑 .env 文件,填写您的设置
  1. 启动服务器:
npm start

Docker 部署

# 构建镜像
docker build -t kick-mcp .

# 运行容器
docker run -p 3000:3000 \
  -e KICK_API_KEY=your_api_key \
  -e PORT=3000 \
  kick-mcp

⚙️ 配置

环境变量

# 服务器配置
PORT=3000
NODE_ENV=production

# Redis 配置
REDIS_HOST=localhost
REDIS_PORT=6379

# 安全
ALLOWED_ORIGINS=https://example.com,https://api.example.com
IP_WHITELIST=127.0.0.1,192.168.1.100
REQUIRE_SIGNATURE=true
SIGNATURE_SECRET=your-secret-key

# 速率限制
RATE_LIMIT_WINDOW_MS=900000
RATE_LIMIT_MAX_REQUESTS=100

# Kick API
KICK_API_BASE_URL=https://kick.com/api/v2

🔒 安全特性

速率限制

  • 可配置的窗口和限制
  • 基于 Redis 的分布式速率限制
  • 每个端点的自定义

请求验证

  • HMAC 签名验证
  • 时间戳验证
  • 有效负载完整性检查

访问控制

  • IP 白名单
  • 来源验证
  • 基于范围的授权

📊 监控

Prometheus 指标

  • 请求持续时间直方图
  • 错误率跟踪
  • WebSocket 连接统计
  • 缓存命中率

健康检查

GET /health

🔍 调试

日志级别

{
  error: 0,
  warn: 1,
  info: 2,
  debug: 3
}

调试模式

DEBUG=kick-mcp:*
LOG_LEVEL=debug

🤝 贡献

  1. Fork 存储库
  2. 创建您的功能分支
  3. 提交您的更改
  4. 推送到分支
  5. 创建 Pull Request

📄 许可证

此项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。

🙏 鸣谢

🔧 Smithery 部署

前提条件

  • Smithery 帐户
  • 本地安装 Docker
  • 安装 MCP Inspector

本地测试

# 使用 MCP Inspector 测试
npx @modelcontextprotocol/inspector node dist/index.js

# 使用 CLI 测试
npx @wong2/mcp-cli node dist/index.js

部署步骤

  1. 将服务器添加到 Smithery:

    smithery add server @NosytLabs/kickmcp
    
  2. 配置部署:

    smithery config set @NosytLabs/kickmcp kickApiKey=your_api_key
    smithery config set @NosytLabs/kickmcp port=3001
    
  3. 部署:

    smithery deploy @NosytLabs/kickmcp
    

WebSocket 处理

服务器实现了具有指数退避的自动 WebSocket 重新连接:

  • 初始重试延迟:1 秒
  • 最大重试次数:5
  • 最大延迟:30 秒
  • 会话亲和性:已启用

测试 WebSocket 连接

# 测试 WebSocket 连接
npx wscat -c ws://localhost:3001/ws

# 使用身份验证进行测试
npx wscat -c "ws://localhost:3001/ws?access_token=your_token"

健康检查

# 测试健康端点
curl http://localhost:3001/health

监控

  • WebSocket 连接:/metrics/ws
  • API 请求:/metrics/api
  • 健康状态:/health

由 ❤️ NosytLabs 制作

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选