Icecast配置分析优化工具

一款基于MCP协议的Icecast流媒体服务器配置分析与优化工具,提供安全审计、性能分析和容量规划功能,适用于网络电台和流媒体基础设施。

  • by splinesreticulating
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 splinesreticulating/icecast-mcp

使用说明

冰铸mcp

MCP服务器,用于分析和优化Icecast流媒体服务器配置。

特性 • 安装 • 用法 • 工具 • 码头工人


概述

用于分析Icecast流媒体服务器配置的模型上下文协议(MCP)服务器。为互联网广播电台和流媒体基础设施提供自动安全审计、性能建议和容量规划。

特征:

  • 安全审计(身份验证、凭据、访问控制)
  • 性能分析(限制、缓冲区、线程)
  • 基于听众数量的容量规划
  • 针对不同部署规模的最佳实践建议

特性

配置分析

  • 解析并验证Icecast XML配置
  • 检测安全问题(默认凭据、缺少身份验证)
  • 识别性能瓶颈(缓冲区大小、线程池、限制)
  • 检查可靠性设置(超时、回退挂载)
  • 验证代理配置(X-Forwarded-For、主机名)

最佳实践建议

  • 为小型、中型和大型部署提供量身定制的建议
  • 基于预期听众数量的容量规划
  • 安全加固指南
  • 性能调优建议

它检查什么

类别 检查
安全 身份验证配置、默认凭据、中继密码、管理员安全
演出 客户端限制、缓冲区大小(队列/突发)、线程池、日志冗余度
容量 侦听器计数与限制、资源分配、扩展建议
可靠性 装载点、回退配置、超时设置
运营 主机名设置、代理配置、日志记录、日志轮换

安装

来源

git clone https://github.com/splinesreticulating/icecast-mcp.git
cd icecast-mcp
npm install
npm run build

使用Docker

docker build -t icecast-mcp .

通过npm(即将推出)

npm install -g icecast-mcp

用法

使用克劳德桌面

添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%/Claude/claude_desktop_config.json

{
    "mcpServers": {
        "icecast": {
            "command": "node",
            "args": ["/absolute/path/to/icecast-mcp/build/index.js"]
        }
    }
}

或者使用Docker:

{
    "mcpServers": {
        "icecast": {
            "command": "docker",
            "args": ["run", "-i", "--rm", "-v", "/path/to/your/configs:/configs:ro", "icecast-mcp"]
        }
    }
}

与MCP检查员一起

在本地测试服务器:

npm run build
npm run inspector

与其他MCP客户端

服务器通过stdio进行通信,并遵循MCP规范。与任何MCP客户端兼容,包括 克劳德桌面版.

工具

analyze_icecast_config

分析Icecast XML配置文件并接收详细建议。

输入架构:

{
    "configPath": "/path/to/icecast.xml",
    "expectedListeners": 200
}
参数 类型 必填 默认 说明
configPath string 是 - Icecast XML配置的绝对路径
expectedListeners number 否 100 预期并发侦听器

示例用法:

Ask Claude: "Analyze my Icecast config at /etc/icecast2/icecast.xml for 500 expected listeners"

输出格式:

# Icecast Configuration Analysis

Analyzing: /etc/icecast2/icecast.xml
Expected listeners: 500

## CRITICAL ISSUES

### Security: No authentication configured

Configure source-password and admin-password to secure your stream.

## WARNINGS

### Capacity: Client limit is quite low

Client limit is 50. This may cause connection rejections during peak times.
Current: 50
Recommended: 128

## INFORMATION

### Configuration: X-Forwarded-For is enabled

Good! This is correct when running behind a reverse proxy like Caddy.

get_icecast_best_practices

获取特定于部署的最佳实践和配置建议。

输入架构:

{
    "useCase": "medium"
}
参数 类型 必填 选项 说明
useCase string 是 small, medium, large 部署规模

用例定义:

  • 小:<50个并发听众
  • 中等:50-500个并发听众
  • 大的:500+并发听众

示例用法:

Ask Claude: "What are the best practices for a medium-sized Icecast deployment?"

输出:全面的指南,涵盖部署规模的限制、安全性、装载点、性能和可靠性。

码头工人

建筑

docker build -t icecast-mcp .

使用卷装载运行

docker run -i --rm \
  -v /path/to/your/icecast/config:/config:ro \
  icecast-mcp

Docker编写示例

version: '3.8'
services:
    icecast-mcp:
        build: .
        volumes:
            - ./ops/icecast:/config:ro
        stdin_open: true
        tty: true

发展

# Install dependencies
npm install

# Run in development mode (hot reload)
npm run dev

# Build TypeScript
npm run build

# Test with MCP Inspector
npm run inspector

# Run tests (if available)
npm test

示例用法

典型的工作流程:

  1. 安装和配置icecast mcp
  2. 问Claude:“分析我的Icecast配置 /etc/icecast2/icecast.xml 200名听众”
  3. 获取具体建议:
    • 为您的流量优化客户端限制
    • 添加中继密码配置
    • 配置回退装载点
    • 启用日志归档

建筑

┌─────────────────┐
│  MCP Client     │  (Claude Desktop, etc.)
│  (AI Assistant) │
└────────┬────────┘
         │ stdio
         │
┌────────▼────────┐
│  icecast-mcp    │
│  MCP Server     │
├─────────────────┤
│ • XML Parser    │
│ • Analyzer      │
│ • Validator     │
│ • Recommender   │
└────────┬────────┘
         │
         ▼
   icecast.xml

贡献

欢迎投稿!需要改进的地方:

  • 附加分析规则
  • 支持更多Icecast功能
  • 绩效指标集成
  • 实时服务器监控
  • 配置生成

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

致谢