让你的AI说金属语言 - 专门为金属音乐设计的MCP (Model Context Protocol) 工具
Master of Metal 是一个专业的金属音乐MCP工具,为AI助手提供丰富的金属音乐知识和功能。项目包含完整的歌词搜索系统、乐队信息查询、专辑详情获取等功能,专注于提供技术工具和文化指导。
- 🎵 多源歌词搜索 - 集成5个数据源,智能选择最佳结果
- 🎸 乐队信息查询 - 成员、历史、风格详细信息
- 💿 专辑详情获取 - 曲目列表、发行信息
- 🏷️ 金属子流派分类 - 专业的流派知识库
- 📊 相似乐队推荐 - 基于风格的智能推荐
- 🇨🇳 国内平台集成 - 网易云、QQ音乐、豆瓣等
- � 专合法资源链接 - 指向官方和授权渠道
git clone https://github.com/4ier/mom.git
cd mompip install -r requirements.txtpython tests/test_mcp.pypython scripts/start_mcp.py将以下配置添加到你的Kiro MCP配置文件:
{
"mcpServers": {
"master-of-metal": {
"command": "python",
"args": ["scripts/start_mcp.py"],
"cwd": "/path/to/mom",
"disabled": false,
"autoApprove": [
"search_band",
"get_album_info",
"get_lyrics",
"get_subgenres",
"recommend_similar",
"search_china_platforms",
"search_china_concerts"
]
}
}
}在Kiro中询问:
请帮我查找Metallica乐队的信息,并推荐一些相似的乐队
mom/
├── 📁 metal_mcp/ # MCP服务器核心代码
│ ├── __init__.py # 模块初始化
│ ├── __main__.py # 主入口
│ ├── server.py # MCP服务器实现
│ ├── metal_api.py # 金属音乐API
│ ├── data_sources.py # 数据源集成
│ ├── china_sources.py # 国内平台数据源
│ └── improved_lyrics.py # 改进的歌词搜索
│
├── 📁 scripts/ # 实用脚本
│ ├── start_mcp.py # MCP服务器启动脚本
│ └── ... # 其他工具脚本
│
├── 📁 tests/ # 测试文件
│ ├── test_mcp.py # MCP基础功能测试
│ ├── test_china_sources.py # 国内数据源测试
│ ├── test_improved_lyrics.py # 改进歌词搜索测试
│ └── verify_mcp.py # MCP验证脚本
│
├── 📁 examples/ # 配置示例
│ ├── .env.example # 环境变量示例
│ ├── kiro-config-ready.json # Kiro配置示例
│ └── kiro-mcp-config.json # MCP配置示例
│
├── 📁 vektor_project/ # Vektor项目成果
├── 📁 data/ # 数据文件
├── requirements.txt # Python依赖
└── setup.py # 安装脚本
| 文件 | 功能 | 说明 |
|---|---|---|
server.py |
MCP服务器 | 主要的MCP工具实现 |
metal_api.py |
金属音乐API | 核心业务逻辑 |
improved_lyrics.py |
歌词搜索 | 改进的多源歌词搜索 |
data_sources.py |
数据源 | 国外数据源集成 |
china_sources.py |
国内数据源 | 中国音乐平台集成 |
- 4张专辑 完整收录和分析
- 31首歌曲 数据收集 (96.8%成功率)
- 技术实现展示 - 自动化数据收集工具
- 文化背景分析 - 科幻、哲学概念深度解读
search_band- 搜索金属乐队信息(成员、历史、风格)get_album_info- 获取专辑详细信息(曲目列表、发行信息)get_lyrics- 多源歌词搜索(提供合法搜索链接)get_subgenres- 获取金属子流派信息(特点、代表乐队)recommend_similar- 推荐相似乐队(基于风格关联)
search_china_platforms- 搜索国内音乐平台(网易云、QQ音乐、豆瓣)search_china_concerts- 搜索国内演出信息(秀动、大麦等)
- 多数据源并行搜索 - 自动选择最佳结果
- 智能缓存机制 - 提高响应速度
- 容错处理 - 单个数据源失败不影响整体功能
- 合法链接提供 - 指向官方和授权渠道
# 运行基础测试
python tests/test_mcp.py
# 测试歌词搜索
python tests/test_improved_lyrics.py
# 测试国内平台
python tests/test_china_sources.py
# 验证整体功能
python tests/verify_mcp.pycp examples/.env.example .env# 网易云音乐API地址
NETEASE_API_BASE=http://localhost:3000
# 代理配置(可选)
HTTP_PROXY=http://proxy-server:port
HTTPS_PROXY=https://proxy-server:port
# 日志配置
LOG_LEVEL=INFO网易云音乐API增强:
# 克隆网易云API项目
git clone https://github.com/Binaryify/NeteaseCloudMusicApi.git
cd NeteaseCloudMusicApi
# 安装并启动
npm install
npm start{
"mcpServers": {
"master-of-metal": {
"command": "python",
"args": ["scripts/start_mcp.py"],
"cwd": "/path/to/mom",
"env": {
"NETEASE_API_BASE": "http://localhost:3000"
},
"disabled": false,
"autoApprove": ["search_band", "get_album_info", "get_lyrics"]
}
}
}{
"mcpServers": {
"master-of-metal": {
"command": "python",
"args": ["-m", "metal_mcp"],
"cwd": "/path/to/mom",
"disabled": false
}
}
}Q: 网易云音乐搜索失败 A: 确保NeteaseCloudMusicApi在localhost:3000运行
Q: 某些歌词搜索失败 A: 这是正常的,系统会尝试多个数据源并返回最佳结果
Q: 演出信息显示"开发中" A: 演出信息抓取需要处理反爬虫,目前提供搜索链接
LOG_LEVEL=DEBUG python scripts/start_mcp.py# 乐队信息
请介绍一下Metallica乐队
# 专辑信息
我想了解Master of Puppets这张专辑
# 歌词搜索
帮我找Enter Sandman的歌词
# 流派介绍
请介绍Thrash Metal这个金属子流派
# 相似推荐
推荐一些和Metallica相似的乐队
# 搜索国内平台
在网易云和QQ音乐上搜索Metallica
# 演出信息
查找Metallica在北京的演出信息
# 综合搜索
帮我全面了解Beyond乐队,包括他们在国内平台的信息
我想了解Thrash Metal这个流派,并推荐几个代表性乐队,然后帮我找一下Slayer乐队的信息
请帮我深入了解Black Metal,包括它的特点、代表乐队,然后选择一个乐队详细介绍,最后推荐一首经典歌曲并提供搜索链接
- 🎸 乐队查询: 成员、历史、风格、专辑列表
- 💿 专辑查询: 发行信息、曲目列表、制作信息
- 📝 歌词查询: 搜索链接、歌曲信息
- 🏷️ 流派查询: 子流派特点、代表乐队、发展历史
- 🔗 推荐查询: 相似乐队、风格关联、影响关系
- 具体化查询: 提供准确的乐队名和专辑名能获得更好的结果
- 组合查询: 可以在一次对话中询问多个相关问题
- 上下文延续: AI会记住之前的查询内容,可以进行深入讨论
- 中英文混用: 支持中英文乐队名和专辑名查询
- 多数据源并行搜索 - 提高成功率和准确性
- 智能容错机制 - 单个数据源失败不影响整体
- 模块化设计 - 易于扩展和维护
- 异步处理 - 提高响应速度和并发性能
- 原始问题: 歌词搜索返回占位符文本,成功率0%
- 改进方案: 集成5个数据源,智能选择最佳结果
- 技术实现: 多源并行搜索 + 置信度评估
| 测试歌曲 | 改进前 | 改进后 | 效果 |
|---|---|---|---|
| Enter Sandman | ❌ 占位符 | ✅ 真实歌词 | 🎯 成功 |
| Black Future | ❌ 占位符 | ✅ 真实歌词 | 🎯 成功 |
| Master of Puppets | ❌ 占位符 | ✅ 真实歌词 | 🎯 成功 |
search_methods = [
("genius_search", self._search_genius_web), # 网页版Genius
("lyrics_com", self._search_lyrics_com), # Lyrics.com
("songlyrics", self._search_songlyrics), # SongLyrics
("metrolyrics", self._search_metrolyrics), # MetroLyrics
("google_search", self._search_google_lyrics) # Google搜索
]- 网易云音乐 - 通过第三方API集成
- QQ音乐 - 搜索接口集成
- 豆瓣音乐 - 音乐人信息获取
- 演出平台 - 秀动、大麦等搜索链接
- 反爬虫处理 - 智能User-Agent和请求头
- 代理支持 - 可配置HTTP/HTTPS代理
- 缓存机制 - Redis缓存提高响应速度
感谢你对Master of Metal项目的关注!我们欢迎各种形式的贡献。
- 使用 GitHub Issues 报告bug
- 请提供详细的复现步骤
- 包含错误信息和环境信息
- 通过 GitHub Issues 提出新功能建议
- 详细描述功能需求和使用场景
- 欢迎提供设计思路
- Fork项目到你的GitHub账户
- 创建功能分支:
git checkout -b feature/amazing-feature - 提交更改:
git commit -m 'feat: add amazing feature' - 推送分支:
git push origin feature/amazing-feature - 创建Pull Request
# 克隆项目
git clone https://github.com/4ier/mom.git
cd mom
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或 venv\Scripts\activate # Windows
# 安装依赖
pip install -r requirements.txt
# 运行测试
python tests/verify_mcp.py- MCP工具扩展 - 添加新的音乐查询工具
- 数据源集成 - 集成更多音乐平台API
- 搜索算法优化 - 改进歌词搜索准确性
- 缓存机制 - 提高响应速度
- 多语言支持 - 添加其他语言界面
- 本地化适配 - 适配不同地区的音乐平台
- 文化背景 - 添加不同文化的音乐知识
- 文档完善 - 改进使用说明
- 示例丰富 - 添加更多使用案例
- 错误处理 - 优化错误信息和处理
- 遵循 PEP 8 规范
- 使用有意义的变量和函数名
- 添加适当的注释和文档字符串
使用 Conventional Commits 格式:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
类型说明:
feat: 新功能fix: Bug修复docs: 文档更新style: 代码格式调整refactor: 代码重构test: 测试相关chore: 构建过程或辅助工具的变动
示例:
feat(lyrics): 添加Genius API集成
fix(search): 修复国内平台搜索超时问题
docs(readme): 更新安装说明
Master of Metal MCP项目专注于提供技术工具和文化指导,而非分发受版权保护的内容。
- MCP服务器代码 - 原创技术实现
- 数据源集成 - 搜索API和工具集成
- 教育资源 - 乐队介绍、音乐风格分析
- 工具功能 - 搜索链接生成、资源推荐
本项目:
- 尊重所有版权持有者的权利
- 不存储或分发受版权保护的歌词内容
- 仅提供技术工具和教育资源
- 鼓励用户通过合法途径获取音乐内容
- 支持音乐产业和艺术家的权益
本项目采用 MIT License。
项目宗旨: 通过技术工具和文化教育,促进金属音乐的合法传播和跨文化理解。
- ✅ MCP服务器: 完全功能,7个工具
- ✅ 歌词搜索: 多源搜索,智能选择
- ✅ 国内平台: 基础集成,持续优化
- ✅ 文档: 完整覆盖,详细说明
- ✅ 测试: 全面验证,持续集成
- ✅ 技术架构: 模块化设计,易于扩展
- Python文件: 15个
- 文档文件: 12个
- 配置文件: 3个
- 测试覆盖: 主要功能完整测试
- 🎉 首次发布
- ✨ 7个MCP工具完整实现
- 🎵 多数据源歌词搜索系统
- 🇨🇳 国内平台集成
- 📚 完整文档和测试
如果这个项目对你有帮助,请给个Star支持!⭐
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- 项目维护者: 通过GitHub联系
- 优化歌词搜索算法
- 增加更多数据源
- 改进国内平台集成
- 完善错误处理机制
- 支持更多音乐流派
- 国际化和本地化
- 社区贡献系统
- 高级分析功能
让AI说金属语言,让金属跨越语言障碍! 🤘
Master of Metal - 专业的金属音乐MCP工具 - 2025年1月