seed-mcp
Generates natural speech and audio using BytePlus Seed Audio 1.0, providing tools for submission, status checking, voice listing, and model listing.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@seed-mcpGenerate a 30-second voiceover for a podcast intro."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
BytePlus Seed Audio
Generate natural speech and audio with BytePlus Seed Audio 1.0 — from Claude, the terminal, or your own code. Three surfaces over one zero-dependency SDK:
I want to… | Use |
Talk to Claude / Claude Code | MCP server ( |
Generate from the terminal | CLI ( |
Claude Code skill | Skill ( |
Build my own integration | SDK ( |
Providers: Seed Audio runs on two interchangeable backends, chosen with
SEED_PROVIDER: BytePlus (default — the nativevoice.ap-southeast-1.bytepluses.comAPI, synchronous; also works against the Volcengine host viaSEED_BYTEPLUS_TTS_URL) or fal.ai (SEED_PROVIDER=fal,bytedance/seed-audio-1.0, async). The SDK hides the wire-format differences behind one interface — the MCP tools, CLI, and skill are identical either way. Seeseed/providers/.
Prerequisites
Python 3.10+ and a local clone of this repo.
Credentials for one provider:
BytePlus (default):
BYTEPLUS_SEED_API_KEY(or the legacyBYTEPLUS_SEED_APP_ID+BYTEPLUS_SEED_ACCESS_KEY) — from the BytePlus console (https://console.byteplus.com/voice/).fal.ai (optional): a
FAL_KEY(https://fal.ai/dashboard/keys), thenSEED_PROVIDER=fal.
Related MCP server: ElevenLabs MCP Server
Install
git clone https://github.com/mittulmadaan/byteplus-seed-mcp
cd byteplus-seed-mcp
# Install the three packages
pip install ./packages/seed-sdk ./packages/seed-mcp ./packages/seed-cli
# Or, for development (uv workspace):
uv sync --all-packages --devNot on PyPI yet — install from the repo. PyPI publishing kicks in on the first
sdk/v*|mcp/v*|cli/v*release tag (see Release).
🖥 MCP Server
Expose Seed Audio to Claude Desktop / Claude Code.
Local (stdio)
After installing (above):
export BYTEPLUS_SEED_API_KEY=<your-byteplus-key> # default provider
# (or use fal: export FAL_KEY=<key> && export SEED_PROVIDER=fal)
python -m seed_mcp # stdio transport (default)Register it with seed skill install (below), or add it manually:
{
"mcpServers": {
"seed": { "command": "python", "args": ["-m", "seed_mcp"] }
}
}Hosted (Docker / SSE)
docker build -t byteplus-seed-mcp .
docker run -p 8000:8000 \
-e MCP_TRANSPORT=sse \
-e SEED_PROVIDER=byteplus \
-e BYTEPLUS_SEED_API_KEY=<key> \
-e MCP_AUTH_TOKEN=<strong-random-token> \
byteplus-seed-mcp
# health: GET http://localhost:8000/healthA render.yaml is included for one-click Render deployment. Point your MCP client at
https://<host>/mcp (streamable HTTP) with a bearer token — credentials stay server-side,
clients authenticate with MCP_AUTH_TOKEN only:
{
"mcpServers": {
"seed": {
"type": "http",
"url": "https://<host>/mcp",
"headers": { "Authorization": "Bearer <MCP_AUTH_TOKEN>" }
}
}
}Tools
Tool | Purpose |
| Submit an audio job → returns |
| Poll until |
| List preset voice ids |
| List Seed models + capabilities |
| Liveness, active provider, credential check |
💻 CLI
seed auth login # stores provider keys in ~/.seed/credentials (BytePlus by default)
# Generate
seed generate \
--prompt "A short suspense radio drama in a late-night convenience store." \
--watch
# With a preset voice
seed voices # list presets
seed generate -p "Welcome back to the late show." -v sophie_en_zh --watch
# Voice cloning from reference audio
seed generate -p "In @Audio1's voice: 'Once upon a time…'" \
--audio-ref https://cdn.example.com/narrator.mp3 --watch
# Track a job
seed status <request_id>
seed watch <request_id>
# Skill management (Claude Desktop + Claude Code)
seed skill install
seed skill checkRun seed --help for the full command reference.
🧠 Claude Code Skill
skills/seed.md (+ skills/references/) teaches Claude Code how to use Seed Audio well —
prompting, voice presets, cloning, multi-speaker scenes, and safety.
seed skill install # copies the skill + registers the MCP server
# restart Claude Code, then just ask it to "generate a 20s upbeat intro voiceover"📦 SDK
from seed import SeedClient
client = SeedClient() # provider from SEED_PROVIDER (default: byteplus)
result = client.submit_audio(
"A short suspense radio drama in a late-night convenience store.",
output_format="mp3",
)
# BytePlus is synchronous — `result` is already completed. fal is async, so poll.
import time
while not result.terminal:
time.sleep(5)
result = client.check_task(result.request_id)
print(result.audio_url)seed-sdk has zero runtime dependencies (stdlib urllib only).
Repo structure
byteplus-seed-mcp/
├── packages/
│ ├── seed-sdk/ # core: client, types, credentials, providers/{fal,byteplus}
│ ├── seed-mcp/ # FastMCP server (5 tools, stdio + SSE)
│ └── seed-cli/ # Typer + Rich CLI, skill installer
├── skills/ # seed.md + references/
├── Dockerfile # SSE server image
├── render.yaml # Render.com deployment
└── pyproject.toml # uv workspaceCredentials
Resolution order (first non-empty wins): explicit arg → env var → ~/.seed/credentials
[default] → .env.
Provider | Env var(s) |
BytePlus (default, new console) |
|
BytePlus (legacy console) |
|
fal ( |
|
Never commit credentials or bake them into images. Protect hosted SSE endpoints with
MCP_AUTH_TOKEN.
Release
Independent per-package PyPI publishes via tags:
git tag sdk/v0.1.0 && git push --tags # → seed-sdk
git tag mcp/v0.1.0 && git push --tags # → seed-mcp
git tag cli/v0.1.0 && git push --tags # → seed-cliProviders
# BytePlus (default, synchronous — submit returns the audio directly)
export BYTEPLUS_SEED_API_KEY=<key> # or BYTEPLUS_SEED_APP_ID + BYTEPLUS_SEED_ACCESS_KEY
# fal (opt-in, async)
export FAL_KEY=<key> && export SEED_PROVIDER=falVoice ids differ between providers (fal presets vs BytePlus speaker ids). seed ping shows
the active provider and which credentials are configured.
Roadmap
Native BytePlus Seed Audio provider (
SEED_PROVIDER=byteplus)Local-file upload helper (host local audio/images → public URL)
Additional Seed models as they ship
Support
Seed Audio on fal: https://fal.ai/models/bytedance/seed-audio-1.0
fal queue API: https://docs.fal.ai/model-endpoints/queue
Volcano Engine (BytePlus) Audio Generation API: https://www.volcengine.com/docs/6561/2550782
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mittulmadaan/byteplus-seed-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server