Genius MCP服务器
MCP服务器带来以下功能 天才 进入你的AI助手。
通过一套由官方Genius API和 lyricsgenius Python库。
______________________________________________________________________
目录
- 1.获取Genius API代币 - 2.配置环境变量 - 3.使用Python运行 -
______________________________________________________________________
它的作用
Genius MCP服务器将Genius.com知识库暴露给任何兼容MCP的AI客户端(Claude Desktop、Claude Code、Cursor等)。它让AI:
- 搜索 按名称列出歌曲和艺术家
- 获取完整的歌曲元数据 --标题、专辑、发行日期、歌词状态和Genius编辑描述
- 获取艺术家个人资料 --个人简介、关注者数量、验证状态
- 浏览艺术家的唱片 --按流行度或发布日期排序,或作为带有曲目列表的完整专辑列表
- 阅读注释 --社区和艺术家验证了对特定歌词片段的解释,每个片段都标有信任级别,以便人工智能知道该给它们多少权重
- 阅读专辑插图注释 --直接写在专辑封面艺术图像上的视觉元素、象征主义和艺术选择的社区解释
- 探索歌曲关系 --发现歌曲采样、插值、翻唱或混音的内容,以及后来的歌曲依次采样的内容
- 查找歌曲署名 --作家、制作人、特邀艺术家和定制表演角色(混音工程师、录音室、唱片公司)
- 运行预构建的分析提示 在一次拍摄中收集所有相关数据,并要求人工智能对歌曲或艺术家进行深入分析
______________________________________________________________________
工具
一些工具称为 官方天才API (api.genius.com)使用您的访问令牌。其他人使用 lyricsgenius Python库,访问Genius的未记录的公共API-这些端点不属于官方API合同的一部分,可能会在不通知的情况下更改。
| 工具 | 描述 | 后端 |
|---|---|---|
search_song | 在Genius中搜索与查询匹配的歌曲。返回歌曲ID、标题、艺术家和注释计数。 | API官方 |
get_song_details | 通过Genius ID获取歌曲的完整元数据和编辑描述 | API官方 |
get_song_annotations | 获取歌曲的所有注释,可选择按信任级别过滤(artist_verified, accepted, unreviewed). | API官方 |
get_annotation_detail | 通过ID获取单个注释的全文和元数据。 | API官方 |
get_song_questions_and_answers | 获取用户提交的歌曲问题和答案,并分页。只有答案被接受的问题才会被返回。 | lyricsgenius (公开无证件API) |
get_song_relationships | 获取一首歌曲的音乐关系——它采样、插值、翻唱、混音或翻译了什么,以及后来采样或翻唱了哪些歌曲。只返回至少有一首链接歌曲的关系类型。 | API官方 |
get_song_credits | 获取歌曲的创作和制作学分:作家、制作人、特邀艺术家和定制表演角色(如混音工程师、录音室、唱片公司)。 | API官方 |
search_artist | 按名字搜索天才艺术家。返回艺术家ID和基本个人资料信息。 | API官方 |
get_artist_details | 通过天才ID获取艺术家的完整个人资料和编辑简历 | API官方 |
get_artist_songs | 按艺术家列出歌曲,可按以下方式排序 popularity 或 release_date,带分页。 | API官方 |
get_artist_albums | 以带有专辑ID的专辑分页列表的形式检索艺术家的完整唱片集。 | lyricsgenius (公开无证件API) |
search_album | 在Genius中搜索与查询匹配的相册。返回专辑ID、名称、艺术家姓名和发布日期。 | lyricsgenius (公开无证件API) |
get_album_details | 按专辑的Genius专辑ID获取专辑的元数据、完整排序的曲目列表和封面艺术列表。每个曲目都包含其歌曲ID,用于链接到其他工具。第一张封面总是专辑的封面;注释艺术品包括 annotation_id. | API官方+ lyricsgenius |
get_cover_art_annotations | 获取特定专辑封面图片上的完整注释——正文、信任级别、作者和投票数。需要 cover_art_id 和 album_id (两者均可从 get_album_details).只呼吁有封面艺术 annotation_id. | lyricsgenius (公开无证件API) |
______________________________________________________________________
提示
提示是预先构建的多步骤工作流程,从Genius收集数据,并在结构化的环境中将其提供给AI。
analyze-song
Args: song_title (必填), artist_name (可选)
搜索歌曲,获取其完整的元数据和编辑描述,检索所有注释(按信任级别排序),并要求人工智能对歌曲的含义、主题和文化背景进行深入分析。
artist-deep-dive
Args: artist_name (必填)
获取艺术家的完整个人简介、他们的前三首最受欢迎的歌曲以及元数据和艺术家验证的注释(如有),并要求人工智能概述艺术家的主题、风格和意义。
______________________________________________________________________
入门指南
1.获取Genius API代币
- 首选 https://genius.com/api-clients 并登录。
- 创建一个新的API客户端。
- 复制 客户端访问令牌 --这是您将使用的值
GENIUS_ACCESS_TOKEN.
2.配置环境变量
复制示例env文件并填写您的令牌:
cp .env.example .env编辑 .env:
# Required — your Genius API access token
GENIUS_ACCESS_TOKEN=your_token_here
# Transport mode:
# true → run as a Streamable HTTP server on port 8080
# false → run in stdio mode (for Claude Desktop)
STREAMABLE_HTTP=true3.使用Python运行
要求: Python 3.11+
安装依赖项:
pip install -r requirements.txt运行服务器:
python main.py服务器将于启动 http://127.0.0.1:8080 (流式HTTP模式)或stdio模式,具体取决于您的 STREAMABLE_HTTP 设置。
4.使用Docker运行
流式HTTP模式 (默认):
docker compose up --build服务器运行方式为 genius-mcp-server 在端口8080上。这 .env 文件已装载到容器中——在开始之前,请确保它存在并包含您的令牌。
stdio模式 (例如,通过Docker为Claude Desktop):
集 STREAMABLE_HTTP=false 在你的 .env,然后运行:
docker run --rm -i --env-file .env $(docker build -q .)______________________________________________________________________
运输方式
| 模式 | STREAMABLE_HTTP | 使用案例 |
|---|---|---|
| 流式HTTP | true (默认) | Claude Code、远程MCP客户端、基于web的工具 |
| 站立 | false | Claude Desktop,本地CLI集成 |
______________________________________________________________________
连接到MCP客户端
克劳德代码(流式HTTP)
claude mcp add genius --transport http http://127.0.0.1:8080/mcp克劳德桌面(stdio)
随着 STREAMABLE_HTTP=false 在你的 .env,将此添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"genius": {
"command": "python",
"args": ["/absolute/path/to/genius-mcp/main.py"],
"env": {
"GENIUS_ACCESS_TOKEN": "your_token_here",
"STREAMABLE_HTTP": "false"
}
}
}
}______________________________________________________________________
注释信任级别
服务器返回的每个注释都包含 trust_level 现场。这让AI对源可靠性进行推理:
| 信任级别 | 含义 |
|---|---|
artist_verified | 由艺术家书写或确认。将其视为基本真理。 |
accepted | 由Genius编辑人员审核和批准。高品质。 |
unreviewed | 由社区用户提交,尚未审核。视为解释。 |
这 get_song_annotations 工具接受 filter 参数仅检索特定信任级别的注释。
______________________________________________________________________
项目结构
genius-mcp/
├── main.py # Entry point — configures transport and starts the server
├── app.py # FastMCP app instance
├── mcp_components/
│ ├── genius_api.py # Async HTTP client for the Genius API
│ ├── mcp_tools.py # MCP tool definitions
│ └── mcp_prompts.py # MCP prompt definitions
├── tests/
│ ├── test_mcp_server_initialization.py
│ └── test_mcp_server_tools.py
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
└── .env.example______________________________________________________________________

