Token导航 LogoToken导航TokenDH.com
opensuno (Paean AI) logo
音视频stdio官方级别未说明来源级核验

opensuno (Paean AI)

MCP Server

开源Suno AI API桥接工具,提供Chrome扩展和服务器端两种模式,支持自动认证和验证码绕过,适用于音乐生成和AI代理集成。

工具数

8

提示词数

0

GitHub Stars

7

资源数

0
TypeScriptClaude语音音频Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

paean-ai

提供方

paean-ai

最后核验

2026/5/17 20:23

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -d -p 3000:3000 \

详细介绍

OpenSuno

开源Suno AI API,带Chrome扩展桥-零配置验证和自动captcha旁路。 采用Claude Code和Paean AI构建。

两种操作模式: 桥接模式 (Chrome扩展程序——推荐)和 Cookie模式 (服务器端)。

为什么选择OpenSuno?

问题1:Suno的API依赖Clerk会话进行身份验证,但Clerk经常返回空会话(sessions: []),导致401个未经授权的错误。

问题2:当账户消耗的信用少于约200个时,Suno的API需要hCaptcha来生成音乐。服务器端方法失败,显示“令牌验证失败”(422),因为它们无法提供有效的验证码令牌。

解决方案:OpenSuno提供了两种方法:

  • 桥接模式 (推荐)-Chrome扩展在suno.com上运行,从浏览器上下文调用API。身份验证和验证码是本机处理的。本地网桥服务器公开REST API+MCP接口,通过WebSocket将请求转发到扩展。
  • Cookie模式 --从浏览器中提取JWT令牌(有效,但需要手动刷新令牌,可能会碰到验证码块)

特性

  • Chrome扩展程序+桥接服务器 --零配置认证,自动绕过验证码,无令牌过期
  • MCP服务器 --用作Claude Desktop、Cursor或任何兼容MCP的AI代理的工具提供者
  • 直接JWT令牌身份验证(Cookie模式)——从浏览器的“网络”选项卡中提取
  • 支持所有Suno型号版本(V4/V4.5+/V4.5 Pro/V5)
  • OpenAI兼容 /v1/chat/completions 端点
  • 基于Web的cookie管理UI /cookie
  • 一键Vercel部署(Cookie模式)

桥接模式(推荐)

桥接模式使用Chrome扩展程序+本地桥接服务器。该扩展在您打开的suno.com选项卡上运行,本机处理身份验证和验证码。外部客户端(curl、AI代理)与网桥服务器通信,网桥服务器通过WebSocket将请求转发给扩展。

建筑

External Clients (curl, AI agents, etc.)
         │
         ▼
┌─────────────────────────┐
│   Bridge Server (Bun)   │
│   Port 3001             │
│  ┌───────────────────┐  │
│  │ REST API endpoints │  │  ← curl / HTTP clients
│  │ /api/generate etc  │  │
│  ├───────────────────┤  │
│  │ MCP Server         │  │  ← AI agents (Claude, Cursor)
│  │ /mcp (Streamable)  │  │
│  ├───────────────────┤  │
│  │ WebSocket /ws      │──│──┐
│  └───────────────────┘  │  │
└─────────────────────────┘  │  WebSocket
                              │
┌─────────────────────────┐  │
│  Chrome Extension        │  │
│  (on suno.com tab)       │◄─┘
│  ┌───────────────────┐  │
│  │ Content Script     │  │  → Orchestrates messaging
│  ├───────────────────┤  │
│  │ Page Script        │  │  → Accesses Clerk (JWT)
│  │ (MAIN world)       │  │    + hCaptcha tokens
│  ├───────────────────┤  │
│  │ Background Worker  │  │  → Makes API calls to Suno
│  │                    │  │    (bypasses CORS)
│  ├───────────────────┤  │
│  │ Popup (status UI)  │  │
│  └───────────────────┘  │
└─────────────────────────┘

它是如何工作的:

  1. 页面脚本 在suno.com的上下文中运行,访问 window.Clerk 对于JWT代币和 window.hcaptcha 用于验证码令牌
  2. 内容脚本 通过WebSocket在页面脚本、后台工作程序和网桥服务器之间进行编排
  3. 后台服务人员 对以下对象进行实际的fetch调用 studio-api.prod.suno.com (后台脚本绕过CORS)
  4. 网桥服务器 从外部客户端接收REST/MCP请求,并通过WebSocket将其转发到扩展

设置

1.安装依赖项并构建扩展

git clone https://github.com/paean-ai/opensuno.git
cd opensuno
bun install
bun run ext:build

这将构建扩展 extension/dist/.

2.加载Chrome扩展程序

  1. 打开 chrome://extensions/ 在Chrome浏览器中
  2. 启用 开发者模式 (右上角切换)
  3. 点击 加载未打包的
  4. 选择 extension/dist/ 目录

3. 打开 suno.com

打开https://suno.com/create在选项卡中,确保您已登录。扩展图标应显示徽章。

4.启动网桥服务器

bun run bridge

网桥服务器启动于 http://localhost:3001。扩展弹出窗口应显示 连接.

5.测试一下

# Check connection status
curl http://localhost:3001/api/status

# Check credits
curl http://localhost:3001/api/get_limit

# Generate music (captcha handled automatically)
curl -X POST http://localhost:3001/api/custom_generate \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "sunshine and rainbows",
    "tags": "pop, upbeat",
    "title": "Happy Day"
  }'

桥接MCP服务器

网桥服务器包括一个内置的MCP端点,位于 /mcp (流式HTTP传输)。配置您的AI客户端:

克劳德代码 --编辑 ~/.claude/claude_code_config.json:

{
  "mcpServers": {
    "suno": {
      "type": "url",
      "url": "http://localhost:3001/mcp"
    }
  }
}

克劳德桌面 --编辑您的配置以添加远程MCP URL,或使用stdio模式(见下文)。

桥接脚本

bun run bridge          # Start bridge server (port 3001)
bun run bridge:dev      # Start with --watch (auto-restart on changes)
bun run ext:build       # Build extension to extension/dist/
bun run ext:watch       # Build extension with file watching
备注:重建扩展后,单击上的刷新按钮 chrome://extensions/ 然后 刷新suno.com选项卡 加载更新的脚本。

______________________________________________________________________

Cookie模式(备选)

1.安装依赖项

git clone https://github.com/paean-ai/opensuno.git
cd opensuno
bun install

2.获取JWT代币

选项A:Web UI(推荐)

首先启动服务器 bun dev,然后访问 http://localhost:3000/cookie 获取带有分步说明的指导性设置。

选项B:交互式CLI

  1. 打开https://suno.com/create在浏览器中登录
  2. F12 打开开发人员工具
  3. 切换到 网络 标签
  4. 点击页面上的输入框(触发API请求)
  5. 查找任何 studio-api.prod.suno.com 网络列表中的请求
  6. 点击请求→ 标头请求报头
  7. 复制两个值:

- authorization: Bearer xxx → 复制零件后 Bearer - cookie: xxx → 复制整个cookie字符串

  1. 运行安装脚本:
node setup-cookie.js

在提示时粘贴JWT令牌和Cookie。

选项C:手动配置

创建一个 .env 文件:

SUNO_COOKIE=__session=; __client=xxx; ajs_anonymous_id=xxx; ...

重要:确保后面的值 __session= 是从Authorization标头中提取的JWT令牌。

3.启动服务器

bun dev

服务器启动于http://localhost:3000.

4.测试API

# Check account credits
curl http://localhost:3000/api/get_limit

# Generate lyrics
curl -X POST http://localhost:3000/api/generate_lyrics \
  -H "Content-Type: application/json" \
  -d '{"prompt": "a happy song about sunshine"}'

# Generate music
curl -X POST http://localhost:3000/api/custom_generate \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "sunshine and rainbows",
    "tags": "pop, upbeat",
    "title": "Happy Day"
  }'

支持的型号

版本型号ID常数注释
V3.5chirp-v3-5SUNO_MODELS.V3_5遗产
V4chirp-v4SUNO_MODELS.V4
V4.5+chirp-bluejaySUNO_MODELS.V4_5_PLUS蓝鸟
V4.5专业版chirp-aukSUNO_MODELS.V4_5_PRO奥克
版本5chirp-crowSUNO_MODELS.V5乌鸦 (默认)

要指定模型,请添加 "model": "chirp-bluejay" (或任何型号ID)发送到您的请求正文。

api参考

这些端点在桥接模式(端口3001)和Cookie模式(端口3000)下都可用:

方法端点描述
得到/api/get_limit获取剩余账户积分
职位/api/generate生成音乐(简单模式)
职位/api/custom_generate生成音乐(带有歌词/标签的自定义模式)
职位/api/generate_lyrics根据提示生成歌词
得到/api/get?ids=xxx按ID获取音乐详细信息
职位/api/extend_audio扩展音频片段
职位/api/generate_stems分成茎轨
职位/api/concat将扩展连接成一首完整的歌曲

仅限桥接模式:

方法端点描述
得到/api/status网桥连接状态和扩展信息
得到/api/captcha_check检查当前是否需要验证码
职位/mcp用于AI代理的MCP流式HTTP端点

仅Cookie模式:

方法端点描述
得到/api/get_aligned_lyrics获取单词级歌词时间戳
职位/v1/chat/completionsOpenAI兼容音乐生成
得到/api/cookie检查当前cookie状态
职位/api/cookie将cookie保存到.env(用于本地部署)

完整的交互式文档可在 /docs 启动服务器后。

配置

环境变量

桥接模式:

# Optional — override bridge server port (default: 3001)
BRIDGE_PORT=3001

桥接模式不需要其他配置——auth和验证码由扩展处理。

Cookie模式:

# Required
SUNO_COOKIE=__session=; __client=xxx; ...

# Optional (CAPTCHA solving)
TWOCAPTCHA_KEY=your_2captcha_key

# Optional (browser config for CAPTCHA)
BROWSER=chromium                    # chromium | firefox
BROWSER_HEADLESS=true               # true | false
BROWSER_LOCALE=en                   # browser locale
BROWSER_GHOST_CURSOR=false          # use ghost cursor (more natural mouse movement)
BROWSER_DISABLE_GPU=false           # set to true for Docker environments

JWT令牌到期

JWT代币通常持续几个小时。当过期时,API返回401个错误。要修复:

  1. 访问https://suno.com/create再次
  2. 从网络请求中提取新的JWT令牌
  3. 通过更新 /cookie web UI或编辑 .env 直接

如果您提供 __client cookie,系统将尝试通过Clerk自动刷新令牌。

MCP服务器(模型上下文协议)

该项目包括用于桥接模式和Cookie模式的MCP服务器,允许AI代理(Claude Desktop、Cursor、Claude Code等)使用Suno作为工具提供商。

桥接模式MCP(推荐)

运行网桥服务器时(bun run bridge),MCP端点位于 http://localhost:3001/mcp 使用流式HTTP传输。看 桥接MCP服务器 以上为配置。

Cookie模式MCP

可用的MCP工具

工具说明
get_credits检查剩余积分和使用限制
generate从文本提示生成音乐
custom_generate生成带有歌词、风格标签和标题的音乐
generate_lyrics根据主题/主题生成歌词
get_audio获取音频剪辑状态和详细信息
extend_audio从时间戳扩展现有剪辑
generate_stems将夹子分成阀杆轨道
concat将扩展片段组合成一首完整的歌曲

本地模式(stdio)——用于克劳德桌面/光标/克劳德代码

这是在本地使用MCP的标准方式。AI客户端将服务器作为子进程启动,并通过stdin/stdout进行通信。

克劳德桌面 --编辑 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "suno": {
      "command": "bun",
      "args": ["run", "src/mcp/stdio.ts"],
      "cwd": "/path/to/opensuno",
      "env": {
        "SUNO_COOKIE": "__session=xxx; __client=xxx; ..."
      }
    }
  }
}

光标 --转到“设置”→ 特性→ MCP → 添加服务器:

  • 姓名: suno
  • 类型: stdio
  • 命令: bun run src/mcp/stdio.ts
  • 工作目录: /path/to/opensuno

克劳德代码 --编辑 ~/.claude/claude_code_config.json:

{
  "mcpServers": {
    "suno": {
      "command": "bun",
      "args": ["run", "src/mcp/stdio.ts"],
      "cwd": "/path/to/opensuno",
      "env": {
        "SUNO_COOKIE": "__session=xxx; __client=xxx; ..."
      }
    }
  }
}

如果你有 .env 在项目目录中配置的文件,可以省略 env block--服务器读取 .env 自动。

云模式(流式HTTP)——用于远程代理

对于云部署或通过网络共享MCP服务器:

# Start the MCP HTTP server (default port 3001)
bun run mcp:http

# Or with a custom port
MCP_PORT=8080 bun run mcp:http

服务器监听 http://localhost:3001/mcp 并支持MCP流式HTTP传输(基于会话,支持SSE流式传输)。

远程MCP客户端可以使用以下方式连接:

  • 端点: http://your-server:3001/mcp
  • 传输:流式HTTP

运行Next.js API和MCP服务器

Next.js API服务器(端口3000)和MCP HTTP服务器(端口3001)是独立的-您可以同时运行这两个服务器:

# Terminal 1: Next.js API server
bun dev

# Terminal 2: MCP HTTP server
bun run mcp:http

码头工人

# Build
docker build -t opensuno .

# Run
docker run -d -p 3000:3000 \
  -e SUNO_COOKIE="__session=xxx; __client=xxx; ..." \
  opensuno

常见问题解答

Q: 我应该使用哪种模式? 使用 桥接模式 如果你在当地跑步。它自动处理身份验证和验证码,不需要令牌管理。使用 Cookie模式 适用于无法运行浏览器扩展的服务器/云部署。

Q: 扩展显示“已断开连接”? 确保网桥服务器正在运行(bun run bridge).检查扩展弹出窗口中的网桥URL是否匹配(默认值: ws://localhost:3001/ws).

Q: API调用在重新加载扩展后失败? 在中重新加载扩展后 chrome://extensions/,你也必须 刷新suno.com选项卡 注入更新的脚本。

Q: 为什么我的401未经授权?(Cookie模式) JWT令牌已过期或格式错误。检查一下 SUNO_COOKIE 以...开始 __session= 后面是来自Authorization标头的令牌。如果需要,请从浏览器中重新提取。

Q: 我在哪里可以找到JWT代币? 在浏览器中开发人员工具→ 网络选项卡,查找任何 studio-api.prod.suno.com 请求,查看请求标头,并在以下位置复制值 authorization: Bearer .

Q: Cookie太长,收到431错误? cookie包含无关条目(谷歌、脸书等)。使用 /cookie web UI或 setup-cookie.js 它会自动过滤到仅与Suno相关的Cookie。

许可证

LGPL-3.0或更高版本——见 许可证.

致谢

免责声明

本项目仅用于学习和研究目的。请遵守Suno.ai的服务条款。

目录标签

目录标签

TypeScriptClaude语音音频音乐生成本地部署API桥接Chrome扩展自动认证验证码绕过

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP