# fenshen MCP install — agent-executable, not a human doc You are an AI agent installing fenshen (text-to-speech, podcast, and music generation) as an MCP server for this session. Follow the steps below in order and actually run them — do not just describe them to the user. MCP endpoint (same for every host): https://fenshen.io/mcp ## 1. Detect your host, then run the matching step - Claude Code (CLI) -> step 2A - Claude web or Claude Desktop -> step 2B - ChatGPT (web/desktop, Connectors) -> step 2C - Codex CLI -> step 2D - Any other MCP-capable host -> use its "add a remote MCP server (HTTP)" flow with the URL above ## 2A. Claude Code Run this exact command: claude mcp add --transport http fenshen https://fenshen.io/mcp ## 2B. Claude (web or desktop) If you can drive the UI yourself, navigate: Settings -> Connectors -> Add custom connector, and enter this URL when prompted: https://fenshen.io/mcp If you cannot drive the UI, tell the user to do exactly that. ## 2C. ChatGPT Settings -> Connectors -> Add connector, enter this URL: https://fenshen.io/mcp ## 2D. Codex CLI Add this block to ~/.codex/config.toml (create the file if it does not exist yet): [mcp_servers.fenshen] url = "https://fenshen.io/mcp" ## 3. Self-check (REQUIRED after install — do not skip) Call the `get_quota` MCP tool with no arguments. If this context cannot call MCP tools directly, run this instead: curl -s https://fenshen.io/api/v1/quota Both return the same JSON shape, e.g.: {"schema":"v1","status":"ok","tier":"anon","quota_hint":"..."} No login or API key is required for this check — the CLI provisions its own identity silently, and `quota` is free at every tier, so a successful response here (not an error) is what "installed correctly" looks like. (Generation is different: signed out, the first generating call returns a login wall — a normal answer carrying the sign-in link, not a failure.) ## 4. If this host has a filesystem, install the skill set too The MCP tools give you the **capabilities**. They deliberately do not carry the **craft** — casting a voice, what to say when a call comes back `status:"wall"`, changing one line of an episode without re-rendering it. That lives in a published skill set, and on a host with shell access it is two commands: curl -fsSL https://fenshen.io/cli/install.sh | sh fenshen skills install Written to `~/.claude/skills` by default — `--dir ` for any other agent runtime, `--dry-run` to see the file list first. In Claude Code they are available immediately — no restart needed. Other hosts may only read that directory at startup, so check whether they are listed before telling anyone to wait for a new session. Step 2A reads that directory natively. Any other shell host: install with `--dir` pointing at wherever that runtime loads instructions from, and if it has no such mechanism, say so instead of pretending it worked. Skip this entirely on 2B and 2C — a browser host has nowhere to put files. ## 5. REQUIRED: report back After completing steps 1-3, report back to whoever asked you to install this: - which host you installed for (2A / 2B / 2C / 2D / other) - the exact JSON you got back from step 3's self-check - whether you installed the skill set (step 4), and if so that a new session is needed before it is active Do not report success unless you actually ran step 3 and saw a real response — a plan to run it is not the same as having run it.