Files
suno-mcp-server/README.md
T
2026-07-13 11:37:53 +07:00

145 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🎵 Suno MCP Server
MCP сервер для [Suno API](https://sunoapi.org) — генерация AI-музыки, текстов, видео, обработка аудио прямо из opencode.
**24 инструмента**, rate limiter, proxy support, полное покрытие всех эндпоинтов.
## 🚀 Быстрый старт
```bash
git clone https://git.hidosi.ru/Hidosi/suno-mcp-server.git
cd suno-mcp-server/suno-server
npm install
```
Сервер уже скомпилирован в `dist/` — можно запускать сразу.
## ⚙️ Подключение к opencode
Добавь в свой `opencode.json`:
```json
"mcp": {
"suno": {
"type": "local",
"command": ["node", "/путь/к/suno-server/dist/index.js"],
"env": {
"SUNO_API_KEY": "твой-api-ключ"
}
}
}
```
Готовый конфиг лежит здесь: `.opencode/opencode.json`.
Перезапусти opencode. Агентам будет доступен skill `suno` с инструкцией на русском.
## 🔧 Переменные окружения
| Переменная | Назначение |
|---|---|
| `SUNO_API_KEY` | API ключ (обязательно) |
| `SUNO_HTTP_PROXY` | HTTP/S прокси (приоритет) |
| `HTTPS_PROXY` | HTTP/S прокси |
| `HTTP_PROXY` | HTTP прокси |
## 🧪 Проверка
```bash
cd suno-server
SUNO_API_KEY=твой-ключ node test-real.js
```
Сделает два безопасных вызова:
1. `suno_get_credits` — проверит аутентификацию и покажет баланс
2. `suno_boost_style` — 0.4 кредита, улучшит описание стиля
С прокси:
```bash
SUNO_API_KEY=твой-ключ SUNO_HTTP_PROXY=http://proxy:8080 node test-real.js
```
## 🛠️ Инструменты (24 шт)
| Инструмент | Эндпоинт | Кредиты |
|---|:---|---:|
| `suno_generate_music` | `POST /generate` | 12 |
| `suno_generate_lyrics` | `POST /lyrics` | 0.4 |
| `suno_generate_sounds` | `POST /generate/sounds` | 2.5 |
| `suno_extend_music` | `POST /generate/extend` | 12 |
| `suno_replace_section` | `POST /generate/replace-section` | 5 |
| `suno_add_vocals` | `POST /generate/add-vocals` | 12 |
| `suno_add_instrumental` | `POST /generate/add-instrumental` | 12 |
| `suno_upload_and_cover` | `POST /generate/upload-cover` | 12 |
| `suno_upload_and_extend` | `POST /generate/upload-extend` | 12 |
| `suno_generate_mashup` | `POST /generate/mashup` | 12 |
| `suno_separate_vocals` | `POST /vocal-removal/generate` | 10 |
| `suno_separate_stems` | `POST /vocal-removal/generate` (split_stem) | 20 |
| `suno_create_video` | `POST /generate/video` | 2 |
| `suno_create_cover` | `POST /generate/cover` | 0 |
| `suno_convert_to_wav` | `POST /generate/wav` | 0.4 |
| `suno_boost_style` | `POST /style/generate` | 0.4 |
| `suno_generate_persona` | `POST /generate/persona` | 0 |
| `suno_get_task_status` | `GET /generate/record-info` | 0 |
| `suno_get_timestamped_lyrics` | `GET /generate/timestamped-lyrics` | 0.5 |
| `suno_get_lyrics_details` | `GET /generate/lyrics-info` | 0 |
| `suno_get_wav_details` | `GET /generate/wav-info` | 0 |
| `suno_get_vocal_separation_details` | `GET /vocal-removal/record-info` | 0 |
| `suno_get_video_details` | `GET /generate/video-info` | 0 |
| `suno_get_credits` | `GET /generate/credit` | 0 |
## 📊 Модели
| Модель | Длина | Особенности |
|---|---|---|
| `V4` | до 4 мин | Лучшее качество звука |
| `V4_5` | до 8 мин | Умные промпты, быстрее |
| `V4_5PLUS` | до 8 мин | Более насыщенный звук |
| `V4_5ALL` | до 8 мин | Лучшая структура песни |
| `V5` | до 8 мин | Музыкальность + скорость |
| `V5_5` | до 8 мин | Кастомные голоса |
## 📋 Лимиты
- **Rate limit**: 20 запросов / 10 секунд
- **Кредиты**: не истекают
- **Стоимость**: $0.005 USD / кредит
- **Файлы**: хранятся 15 дней после генерации
## 📁 Структура проекта
```
suno-mcp-server/
├── suno-server/
│ ├── src/
│ │ ├── index.ts # Точка входа — MCP Server (stdio)
│ │ ├── client.ts # HTTP клиент + rate limiter + прокси
│ │ ├── schemas.ts # Zod схемы валидации параметров
│ │ ├── tools.ts # 24 MCP tool definitions → JSON Schema
│ │ └── handlers.ts # Обработчики + polling async-задач
│ ├── dist/ # Скомпилированный JS
│ ├── test-real.js # Тестовый скрипт с реальным API
│ ├── package.json
│ └── tsconfig.json
├── .opencode/
│ ├── opencode.json # Пример конфига
│ └── skills/suno/SKILL.md # Skill для агентов (русский)
└── README.md
```
## 👩‍💻 Разработка
```bash
cd suno-server
npm install
npm run build # однократная сборка
npm run dev # watch-режим
```
## 🔗 Ссылки
- [Suno API документация](https://docs.sunoapi.org)
- [Suno API сайт](https://sunoapi.org)
- [MCP спецификация](https://modelcontextprotocol.io)
- [opencode](https://opencode.ai)