网易云音乐API服务

提供网易云音乐API访问的模型上下文协议服务器,支持音乐搜索、歌曲详情、歌词、播放列表、专辑和艺术家信息获取。

  • by xiaocaoooo
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 xiaocaoooo/netease-mcp

使用说明

网易mcp

模型上下文协议(MCP)服务器,提供对网易云音乐API的访问。该服务器使AI助手(如克劳德)能够从网易云音乐搜索音乐、检索歌曲详细信息、歌词、播放列表、专辑和艺术家。

特性

此MCP服务器公开了以下工具:

  • search:搜索歌曲、艺术家、专辑、播放列表、用户、MV、歌词等。
  • get_song_detail:获取一首或多首歌曲的详细元数据。
  • get_song_url:获取歌曲的播放URL。支持各种质量级别(标准、更高、高、无损、租用等)。
  • get_unblocked_url:特定版本 get_song_url 如果可能的话尝试解锁歌曲(例如灰色曲目)。
  • get_lyric:取一首歌的歌词。
  • get_playlist:检索播放列表详细信息及其完整曲目列表。
  • get_album:获取专辑详细信息和包含的歌曲。
  • get_artist:获取艺术家的详细信息和他们的前50首歌曲。

先决条件

  • Node.js(建议使用v18或更高版本)
  • pnpm

安装

  1. 克隆存储库:

    git clone <repository-url>
    cd netease-mcp
    
  2. 安装依赖项:

    pnpm install
    
  3. 构建项目:

    pnpm build
    

配置

您可以使用环境变量配置服务器。创建一个 .env 根目录中的文件:

PORT=3000
NETEASE_COOKIE=your_netease_cookie_here  # Optional: For accessing VIP/User-specific data
  • PORT:服务器侦听的端口(默认值: 3000).
  • NETEASE_COOKIE:您的网易云音乐cookie。如果没有提供,服务器将尝试初始化匿名cookie。提供cookie允许访问更高质量的音频和用户特定的数据。

认证

服务器支持两级身份验证:

  1. 全球Cookie:通过设置 NETEASE_COOKIE 环境变量。如果没有提供特定于会话的cookie,则用于所有请求。
  2. 会话Cookie:您可以通过 Authorization 头球Bearer <cookie>)当连接到SSE端点时。这允许在多用户环境中进行每个用户的身份验证。

用法

运行服务器

正常启动服务器:

pnpm start

对于热重载开发:

pnpm dev

服务器在以下位置运行SSE(服务器发送事件)终结点: http://localhost:3000/sse

与Claude Desktop一起使用

要将其与Claude Desktop一起使用,请将以下配置添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "netease-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/netease-mcp/dist/index.js"],
      "env": {
        "NETEASE_COOKIE": "optional_cookie_string"
      }
    }
  }
}

注意:由于这是一个基于SSE的MCP服务器,直接通过命令执行(stdio)使用它可能需要适配器或客户端的直接支持。然而,当前的实现主要公开了一个HTTP/SSE服务器。如果你需要stdio支持,你可能需要调整 src/index.ts 使用 StdioServerTransport 而不是 SSEServerTransport 和 express.

本地使用更正: 当前代码 src/index.ts 使用SSE设置Express服务器。默认情况下,大多数本地MCP客户端(如Claude Desktop)通过Stdio进行通信。如果您打算通过以下方式使用此功能 mcp-inspector SSE设置是完美的。

发展

  • 构建: pnpm build
  • 棉绒: pnpm lint
  • 格式: pnpm format

许可证

国际协调委员会