{"id":50754539,"url":"https://github.com/AceDataCloud/SunoMCP","last_synced_at":"2026-06-28T07:00:26.704Z","repository":{"id":333891137,"uuid":"1139065104","full_name":"AceDataCloud/SunoMCP","owner":"AceDataCloud","description":"MCP server for Suno AI music generation, lyrics, and cover workflows via Ace Data Cloud.","archived":false,"fork":false,"pushed_at":"2026-06-18T13:21:13.000Z","size":660,"stargazers_count":17,"open_issues_count":3,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-18T15:22:48.487Z","etag":null,"topics":["ai-music","developer-tools","mcp-server","model-context-protocol","music-generation","suno-api"],"latest_commit_sha":null,"homepage":"https://platform.acedata.cloud","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AceDataCloud.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING_TO_MCP_SERVERS.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-21T13:30:45.000Z","updated_at":"2026-06-18T13:21:29.000Z","dependencies_parsed_at":"2026-02-15T06:00:52.513Z","dependency_job_id":null,"html_url":"https://github.com/AceDataCloud/SunoMCP","commit_stats":null,"previous_names":["acedatacloud/mcpsuno","acedatacloud/sunomcp"],"tags_count":84,"template":false,"template_full_name":null,"purl":"pkg:github/AceDataCloud/SunoMCP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AceDataCloud%2FSunoMCP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AceDataCloud%2FSunoMCP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AceDataCloud%2FSunoMCP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AceDataCloud%2FSunoMCP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AceDataCloud","download_url":"https://codeload.github.com/AceDataCloud/SunoMCP/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AceDataCloud%2FSunoMCP/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34880189,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-28T02:00:05.809Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-music","developer-tools","mcp-server","model-context-protocol","music-generation","suno-api"],"created_at":"2026-06-11T04:00:24.044Z","updated_at":"2026-06-28T07:00:26.692Z","avatar_url":"https://github.com/AceDataCloud.png","language":"Python","funding_links":[],"categories":["MCP Servers for Creative Work"],"sub_categories":["Image, Video, Audio Generation"],"readme":"# SunoMCP\n\n\u003c!-- mcp-name: io.github.AceDataCloud/mcp-suno --\u003e\n\n[![PyPI version](https://img.shields.io/pypi/v/mcp-suno.svg)](https://pypi.org/project/mcp-suno/)\n[![PyPI downloads](https://img.shields.io/pypi/dm/mcp-suno.svg)](https://pypi.org/project/mcp-suno/)\n[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![MCP](https://img.shields.io/badge/MCP-Compatible-green.svg)](https://modelcontextprotocol.io)\n\nA [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server for AI music generation using [Suno](https://suno.ai) through the [AceDataCloud API](https://platform.acedata.cloud).\n\nGenerate AI music, lyrics, and manage audio projects directly from Claude, VS Code, or any MCP-compatible client.\n\n## Features\n\n- **Music Generation** - Create AI-generated songs from text prompts\n- **Custom Lyrics \u0026 Style** - Full control over lyrics, title, and music style\n- **Song Extension** - Continue existing songs from any timestamp\n- **Cover/Remix** - Create cover versions with different styles\n- **Lyrics Generation** - Generate structured lyrics from descriptions\n- **Persona Management** - Save and reuse voice styles\n- **Task Tracking** - Monitor generation progress and retrieve results\n\n## Tool Reference\n\n| Tool | Description |\n|------|-------------|\n| `suno_generate_music` | Generate AI music from a text prompt using Suno's Inspiration Mode. |\n| `suno_generate_custom_music` | Generate AI music with full control over lyrics, title, and style (Custom Mode). |\n| `suno_extend_music` | Extend an existing song from a specific timestamp with new lyrics. |\n| `suno_cover_music` | Create a cover or remix version of an existing song in a different style. |\n| `suno_concat_music` | Concatenate extended song segments into a single complete audio file. |\n| `suno_generate_with_persona` | Generate music using a saved artist persona for consistent vocal style. |\n| `suno_remaster_music` | Remaster an existing song to improve audio quality. |\n| `suno_stems_music` | Separate a song into individual stems (vocals and instruments). |\n| `suno_replace_section` | Replace a specific time range in a song with new generated content. |\n| `suno_upload_extend` | Extend an uploaded audio (your own music) with new AI-generated content. |\n| `suno_upload_cover` | Create an AI cover of an uploaded audio (your own music). |\n| `suno_mashup_music` | Create a musical mashup by blending multiple songs together. |\n| `suno_generate_lyrics` | Generate song lyrics from a text prompt. |\n| `suno_get_mp4` | Get an MP4 video version of a generated song. |\n| `suno_get_timing` | Get timing and subtitle data for a generated song. |\n| `suno_extract_vocals` | Extract the vocal track from a generated song (stem separation). |\n| `suno_get_wav` | Get the lossless WAV format of a generated song. |\n| `suno_get_midi` | Get MIDI data extracted from a generated song. |\n| `suno_create_persona` | Create a new artist persona from an existing audio's vocal style. |\n| `suno_optimize_style` | Optimize a music style description for better generation results. |\n| `suno_mashup_lyrics` | Generate mashup lyrics by combining two sets of lyrics. |\n| `suno_upload_audio` | Upload an external audio file to Suno for use in subsequent operations. |\n| `suno_get_task` | Query the status and result of a music generation task. |\n| `suno_get_tasks_batch` | Query multiple music generation tasks at once. |\n| `suno_list_models` | List all available Suno models and their capabilities. |\n| `suno_list_actions` | List all available Suno API actions and corresponding tools. |\n| `suno_get_lyric_format_guide` | Get guidance on formatting lyrics for Suno music generation. |\n\n## Quick Start\n\n### 1. Get Your API Token\n\n1. Sign up at [AceDataCloud Platform](https://platform.acedata.cloud)\n2. Go to the [API documentation page](https://platform.acedata.cloud/documents/4da95d9d-7722-4a72-857d-bf6be86036e9)\n3. Click **\"Acquire\"** to get your API token\n4. Copy the token for use below\n\n### 2. Use the Hosted Server (Recommended)\n\nAceDataCloud hosts a managed MCP server — **no local installation required**.\n\n**Endpoint:** `https://suno.mcp.acedata.cloud/mcp`\n\nAll requests require a Bearer token. Use the API token from Step 1.\n\n#### Claude.ai\n\nConnect directly on [Claude.ai](https://claude.ai) with OAuth — **no API token needed**:\n\n1. Go to Claude.ai **Settings → Integrations → Add More**\n2. Enter the server URL: `https://suno.mcp.acedata.cloud/mcp`\n3. Complete the OAuth login flow\n4. Start using the tools in your conversation\n\n#### Claude Desktop\n\nAdd to your config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):\n\n```json\n{\n  \"mcpServers\": {\n    \"suno\": {\n      \"type\": \"streamable-http\",\n      \"url\": \"https://suno.mcp.acedata.cloud/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer YOUR_API_TOKEN\"\n      }\n    }\n  }\n}\n```\n\n#### Cursor / Windsurf\n\nAdd to your MCP config (`.cursor/mcp.json` or `.windsurf/mcp.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"suno\": {\n      \"type\": \"streamable-http\",\n      \"url\": \"https://suno.mcp.acedata.cloud/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer YOUR_API_TOKEN\"\n      }\n    }\n  }\n}\n```\n\n#### VS Code (Copilot)\n\nAdd to your VS Code MCP config (`.vscode/mcp.json`):\n\n```json\n{\n  \"servers\": {\n    \"suno\": {\n      \"type\": \"streamable-http\",\n      \"url\": \"https://suno.mcp.acedata.cloud/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer YOUR_API_TOKEN\"\n      }\n    }\n  }\n}\n```\n\nOr install the [Ace Data Cloud MCP extension](https://marketplace.visualstudio.com/items?itemName=acedatacloud.acedatacloud-mcp) for VS Code, which registers the hosted MCP servers with one-click setup.\n\n#### JetBrains IDEs\n\n1. Go to **Settings → Tools → AI Assistant → Model Context Protocol (MCP)**\n2. Click **Add** → **HTTP**\n3. Paste:\n\n```json\n{\n  \"mcpServers\": {\n    \"suno\": {\n      \"url\": \"https://suno.mcp.acedata.cloud/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer YOUR_API_TOKEN\"\n      }\n    }\n  }\n}\n```\n\n\n#### Claude Code\n\nClaude Code supports MCP servers natively:\n\n```bash\nclaude mcp add suno --transport http https://suno.mcp.acedata.cloud/mcp \\\n  -h \"Authorization: Bearer YOUR_API_TOKEN\"\n```\n\nOr add to your project's `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"suno\": {\n      \"type\": \"streamable-http\",\n      \"url\": \"https://suno.mcp.acedata.cloud/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer YOUR_API_TOKEN\"\n      }\n    }\n  }\n}\n```\n\n#### Cline\n\nAdd to Cline's MCP settings (`.cline/mcp_settings.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"suno\": {\n      \"type\": \"streamable-http\",\n      \"url\": \"https://suno.mcp.acedata.cloud/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer YOUR_API_TOKEN\"\n      }\n    }\n  }\n}\n```\n\n#### Amazon Q Developer\n\nAdd to your MCP configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"suno\": {\n      \"type\": \"streamable-http\",\n      \"url\": \"https://suno.mcp.acedata.cloud/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer YOUR_API_TOKEN\"\n      }\n    }\n  }\n}\n```\n\n#### Roo Code\n\nAdd to Roo Code MCP settings:\n\n```json\n{\n  \"mcpServers\": {\n    \"suno\": {\n      \"type\": \"streamable-http\",\n      \"url\": \"https://suno.mcp.acedata.cloud/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer YOUR_API_TOKEN\"\n      }\n    }\n  }\n}\n```\n\n#### Continue.dev\n\nAdd to `.continue/config.yaml`:\n\n```yaml\nmcpServers:\n  - name: suno\n    type: streamable-http\n    url: https://suno.mcp.acedata.cloud/mcp\n    headers:\n      Authorization: \"Bearer YOUR_API_TOKEN\"\n```\n\n#### Zed\n\nAdd to Zed's settings (`~/.config/zed/settings.json`):\n\n```json\n{\n  \"language_models\": {\n    \"mcp_servers\": {\n      \"suno\": {\n        \"url\": \"https://suno.mcp.acedata.cloud/mcp\",\n        \"headers\": {\n          \"Authorization\": \"Bearer YOUR_API_TOKEN\"\n        }\n      }\n    }\n  }\n}\n```\n\n#### cURL Test\n\n```bash\n# Health check (no auth required)\ncurl https://suno.mcp.acedata.cloud/health\n\n# MCP initialize\ncurl -X POST https://suno.mcp.acedata.cloud/mcp \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Accept: application/json\" \\\n  -H \"Authorization: Bearer YOUR_API_TOKEN\" \\\n  -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2025-03-26\",\"capabilities\":{},\"clientInfo\":{\"name\":\"test\",\"version\":\"1.0\"}}}'\n```\n\n### 3. Or Run Locally (Alternative)\n\nIf you prefer to run the server on your own machine:\n\n```bash\n# Install from PyPI\npip install mcp-suno\n# or\nuvx mcp-suno\n\n# Set your API token\nexport ACEDATACLOUD_API_TOKEN=\"your_token_here\"\n\n# Run (stdio mode for Claude Desktop / local clients)\nmcp-suno\n\n# Run (HTTP mode for remote access)\nmcp-suno --transport http --port 8000\n```\n\n#### Claude Desktop (Local)\n\n```json\n{\n  \"mcpServers\": {\n    \"suno\": {\n      \"command\": \"uvx\",\n      \"args\": [\"mcp-suno\"],\n      \"env\": {\n        \"ACEDATACLOUD_API_TOKEN\": \"your_token_here\"\n      }\n    }\n  }\n}\n```\n\n#### Docker (Self-Hosting)\n\n```bash\ndocker pull ghcr.io/acedatacloud/mcp-suno:latest\ndocker run -p 8000:8000 ghcr.io/acedatacloud/mcp-suno:latest\n```\n\nClients connect with their own Bearer token — the server extracts the token from each request's `Authorization` header.\n\n## Available Tools\n\n### Music Generation\n\n| Tool                    | Description                                                |\n| ----------------------- | ---------------------------------------------------------- |\n| `generate_music`        | Generate music from a text prompt (Inspiration Mode)       |\n| `generate_custom_music` | Generate with custom lyrics, title, and style              |\n| `extend_music`          | Extend an existing song from a timestamp                   |\n| `cover_music`           | Create a cover/remix version                               |\n| `concat_music`          | Merge extended segments into complete audio                |\n| `generate_with_persona` | Generate using a saved voice style                         |\n| `remaster_music`        | Remaster an existing song to improve audio quality         |\n| `stems_music`           | Separate a song into individual stems (vocals/instruments) |\n| `replace_section`       | Replace a specific time range with new generated content   |\n| `upload_extend`         | Extend uploaded audio with new AI-generated content        |\n| `upload_cover`          | Create an AI cover of uploaded audio                       |\n| `mashup_music`          | Create a mashup by blending multiple songs together        |\n\n### Lyrics\n\n| Tool              | Description                                                |\n| ----------------- | ---------------------------------------------------------- |\n| `generate_lyrics` | Generate song lyrics from a prompt                         |\n| `mashup_lyrics`   | Generate mashup lyrics by combining two sets of lyrics     |\n| `optimize_style`  | Optimize a style description for better generation results |\n\n### Media Conversion\n\n| Tool             | Description                                       |\n| ---------------- | ------------------------------------------------- |\n| `get_mp4`        | Get an MP4 video version of a generated song      |\n| `get_wav`        | Get lossless WAV format of a generated song       |\n| `get_midi`       | Get MIDI data extracted from a generated song     |\n| `get_timing`     | Get timing and subtitle data for a generated song |\n| `extract_vocals` | Extract the vocal track from a generated song     |\n\n### Persona\n\n| Tool             | Description                  |\n| ---------------- | ---------------------------- |\n| `create_persona` | Save a voice style for reuse |\n\n### Upload\n\n| Tool           | Description                                                    |\n| -------------- | -------------------------------------------------------------- |\n| `upload_audio` | Upload an external audio file for use in subsequent operations |\n\n### Tasks\n\n| Tool              | Description                  |\n| ----------------- | ---------------------------- |\n| `get_task`        | Query a single task status   |\n| `get_tasks_batch` | Query multiple tasks at once |\n\n### Information\n\n| Tool                     | Description                 |\n| ------------------------ | --------------------------- |\n| `list_models`            | List available Suno models  |\n| `list_actions`           | List available API actions  |\n| `get_lyric_format_guide` | Get lyrics formatting guide |\n\n## Usage Examples\n\n### Generate Music from Prompt\n\n```\nUser: Create a happy birthday song\n\nClaude: I'll generate a birthday song for you.\n[Calls generate_music with prompt=\"A happy birthday celebration song\"]\n```\n\n### Generate with Custom Lyrics\n\n```\nUser: Create a rock song with these lyrics:\n[Verse]\nThunder in the night\nElectric soul ignite\n[Chorus]\nWe are the storm\n\nClaude: I'll create a rock song with your lyrics.\n[Calls generate_custom_music with lyrics, title=\"Storm\", style=\"rock, powerful\"]\n```\n\n### Extend a Song\n\n```\nUser: Continue this song from the 2-minute mark with a bridge section\n\nClaude: I'll extend the song with a bridge.\n[Calls extend_music with audio_id, continue_at=120, lyric=\"[Bridge]...\"]\n```\n\n## Available Models\n\n| Model             | Version | Max Duration | Features             |\n| ----------------- | ------- | ------------ | -------------------- |\n| `chirp-v5-5`      | V5.5    | 8 minutes    | Latest, best quality |\n| `chirp-v5`        | V5      | 8 minutes    | High quality         |\n| `chirp-v4-5-plus` | V4.5+   | 8 minutes    | Enhanced quality     |\n| `chirp-v4-5`      | V4.5    | 4 minutes    | Vocal gender control |\n| `chirp-v4`        | V4      | 150 seconds  | Stable               |\n| `chirp-v3-5`      | V3.5    | 120 seconds  | Fast                 |\n| `chirp-v3-0`      | V3      | 120 seconds  | Legacy               |\n\n**Vocal Gender Control** (v4.5+ only):\n\n- `f` - Female vocals\n- `m` - Male vocals\n\n## Configuration\n\n### Environment Variables\n\n| Variable                    | Description                  | Default                     |\n| --------------------------- | ---------------------------- | --------------------------- |\n| `ACEDATACLOUD_API_TOKEN`    | API token from AceDataCloud  | **Required**                |\n| `ACEDATACLOUD_API_BASE_URL` | API base URL                 | `https://api.acedata.cloud` |\n| `ACEDATACLOUD_OAUTH_CLIENT_ID`  | OAuth client ID (hosted mode) | —                           |\n| `ACEDATACLOUD_PLATFORM_BASE_URL` | Platform base URL            | `https://platform.acedata.cloud` |\n| `SUNO_DEFAULT_MODEL`        | Default model for generation | `chirp-v5-5`                |\n| `SUNO_REQUEST_TIMEOUT`      | Request timeout in seconds   | `1800`                      |\n| `LOG_LEVEL`                 | Logging level                | `INFO`                      |\n\n### Command Line Options\n\n```bash\nmcp-suno --help\n\nOptions:\n  --version          Show version\n  --transport        Transport mode: stdio (default) or http\n  --port             Port for HTTP transport (default: 8000)\n```\n\n## Development\n\n### Setup Development Environment\n\n```bash\n# Clone repository\ngit clone https://github.com/AceDataCloud/SunoMCP.git\ncd SunoMCP\n\n# Create virtual environment\npython -m venv .venv\nsource .venv/bin/activate  # or `.venv\\Scripts\\activate` on Windows\n\n# Install with dev dependencies\npip install -e \".[dev,test]\"\n```\n\n### Run Tests\n\n```bash\n# Run unit tests\npytest\n\n# Run with coverage\npytest --cov=core --cov=tools\n\n# Run integration tests (requires API token)\npytest tests/test_integration.py -m integration\n```\n\n### Code Quality\n\n```bash\n# Format code\nruff format .\n\n# Lint code\nruff check .\n\n# Type check\nmypy core tools\n```\n\n### Build \u0026 Publish\n\n```bash\n# Install build dependencies\npip install -e \".[release]\"\n\n# Build package\npython -m build\n\n# Upload to PyPI\ntwine upload dist/*\n```\n\n## Project Structure\n\n```\nSunoMCP/\n├── core/                   # Core modules\n│   ├── __init__.py\n│   ├── client.py          # HTTP client for Suno API\n│   ├── config.py          # Configuration management\n│   ├── exceptions.py      # Custom exceptions\n│   ├── server.py          # MCP server initialization\n│   └── utils.py           # Utility functions\n├── tools/                  # MCP tool definitions\n│   ├── __init__.py\n│   ├── audio_tools.py     # Audio generation tools\n│   ├── info_tools.py      # Information tools\n│   ├── lyrics_tools.py    # Lyrics generation tools\n│   ├── media_tools.py     # Media conversion tools\n│   ├── persona_tools.py   # Persona management tools\n│   └── task_tools.py      # Task query tools\n├── tests/                  # Test suite\n│   ├── conftest.py\n│   ├── test_client.py\n│   ├── test_config.py\n│   ├── test_integration.py\n│   └── test_utils.py\n├── deploy/                 # Deployment configs\n│   └── production/\n│       ├── deployment.yaml\n│       ├── ingress.yaml\n│       └── service.yaml\n├── .env.example           # Environment template\n├── .gitignore\n├── CHANGELOG.md\n├── Dockerfile             # Docker image for HTTP mode\n├── docker-compose.yaml    # Docker Compose config\n├── LICENSE\n├── main.py                # Entry point\n├── pyproject.toml         # Project configuration\n└── README.md\n```\n\n## API Reference\n\nThis server wraps the [AceDataCloud Suno API](https://platform.acedata.cloud/documents/4da95d9d-7722-4a72-857d-bf6be86036e9):\n\n- [Suno Audios API](https://platform.acedata.cloud/documents/4da95d9d-7722-4a72-857d-bf6be86036e9) - Music generation\n- [Suno Lyrics API](https://platform.acedata.cloud/documents/514d82dc-f7ab-4638-9f21-8b9275916b08) - Lyrics generation\n- [Suno Tasks API](https://platform.acedata.cloud/documents/b0dd9823-0e01-4c75-af83-5a6e2e05bfed) - Task queries\n- [Suno Persona API](https://platform.acedata.cloud/documents/78bb6c62-6ce0-490f-a7df-e89d80ec0583) - Persona management\n\n## Contributing\n\nContributions are welcome! Please:\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing`)\n5. Open a Pull Request\n\n## License\n\nMIT License - see [LICENSE](LICENSE) for details.\n\n## Links\n\n- [AceDataCloud Platform](https://platform.acedata.cloud)\n- [Suno Official](https://suno.ai)\n- [Model Context Protocol](https://modelcontextprotocol.io)\n- [MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk)\n\n---\n\nMade with love by [AceDataCloud](https://platform.acedata.cloud)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAceDataCloud%2FSunoMCP","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAceDataCloud%2FSunoMCP","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAceDataCloud%2FSunoMCP/lists"}