Audience MCP (Connect AI)
The anonymous, published-only MCP server every Channel exposes — how your audience's AI clients connect, retrieve grounded quotes, and preserve citations.
Every PodHood Channel is its own remote MCP server. It exposes one read-only tool, search, over that Channel's published episodes:
https://<slug>.podhood.com/mcpOn a verified custom domain, connect to https://<custom-domain>/mcp instead. The host used for the MCP connection is also the host used in every returned citation.
There is no API key, OAuth flow, or local package to run. The server reads only already-public, published Library content and cannot modify the Channel.
Recommended path — use Connect AI
Open the Channel's public Library and click Connect AI. The dialog builds the correct server URL and searchable server name for the current host, then shows current setup instructions for 28 clients.
Do this from the public custom domain when one is Live and you want citations to keep that brand host. Opening Connect AI from the PodHood Studio produces the Channel's PodHood subdomain endpoint instead.
Choose the installation shape
| Shape | Current clients | What Connect AI gives you |
|---|---|---|
| Web custom connector | Claude, ChatGPT, Perplexity, Grok | The exact settings link, connector name, URL, and no-auth choice. |
| Paste-one-prompt agent | Hermes, OpenClaw, Claude Code, Codex, WorkBuddy, Windsurf, AutoClaw, CodeBuddy, Goose, Cline, Zed, Continue, Gemini CLI | An Install prompt that asks the agent to add the remote server, plus a manual config fallback. |
| One-click IDE install | Cursor, VS Code | A deep link, Install prompt, and raw config fallback. |
| GUI or JSON import | Manus, Genspark, Trae, Cherry Studio, Jan, Chatbox, 5ire | The product-specific click path and correctly shaped JSON/URL. |
| Any other MCP-compatible client | Antigravity and the generic Any other client recipe | A standard remote HTTP URL and generic mcpServers JSON. |
The client must support a remote Streamable HTTP MCP server. Do not configure this endpoint as a local stdio command or a legacy SSE URL.
Install prompt vs. Try-it prompt
Connect AI deliberately gives you two different prompts:
- Install prompt — wires the remote MCP server into a client. It includes the generated server name, endpoint URL, transport, no-auth rule, and asks the client to confirm that the
searchtool loaded. - Try-it prompt — exercises the installed tool. It asks a grounded question and requires a direct quotation with a timestamp.
Do not paste the Try-it prompt until installation has succeeded. Do not keep reusing the Install prompt as a search query.
The Try-it prompt changes with the page where Connect AI is opened:
- Library home — uses the newest available episode Q&A question, with grounded fallbacks.
- Episode page — uses that episode's Q&A question or title.
- Person/Company/Product/Topic Hub — asks what the show has said about that subject.
This makes the first call a real retrieval test rather than a generic demo.
Manual connection examples
Use the URL generated by Connect AI when possible. If a client must be configured by hand, these are the common shapes.
claude mcp add --transport http podhood-yourshow https://yourshow.podhood.com/mcpAdd this to ~/.codex/config.toml:
[mcp_servers.podhood-yourshow]
url = "https://yourshow.podhood.com/mcp"{
"mcpServers": {
"podhood-yourshow": {
"url": "https://yourshow.podhood.com/mcp"
}
}
}For a normal PodHood Library, the generated name is podhood-<slug>. Under active white-label, Connect AI derives a neutral name from the custom hostname (for example, library-example-com) so the config does not reintroduce PodHood branding.
What the search tool actually returns
search runs the same hybrid retrieval core as Library Search: semantic matches plus lexical matches over transcripts, titles, and descriptions, fused into ranked Episodes. Each Episode includes its best matching Segments.
The MCP response has two equivalent representations:
- Model-readable Markdown — ranked Episode sections followed by quoted Segments. Every quote begins with a citation such as
[12:03](https://…?t=723000). - Structured content — the same result as data, including
episodeId, Episode URL, metadata, matched legs, Segment text, speaker, start/end time, and absolute citation URL.
A title-only match can contain an Episode with no quoted Segment. Treat it as a discovery result, not evidence for a factual answer. An empty result explicitly says that no published episode matched; the agent should not fill the gap from memory.
Tool inputs
Prop
Type
Retrieval recipe for reliable answers
Start broad in hybrid mode
Ask the audience's natural-language question with fast: false, topK: 5–10, and the default three Segments per Episode. Hybrid mode is the right default for ideas phrased differently from the transcript.
Select the strongest Episodes
Compare the returned quotations, speakers, and timestamps. Keep the episodeId values whose Segments actually support the question; ranking alone is not evidence.
Follow up inside those Episodes
Call search again with episodeIds and raise maxSegmentsPerEpisode when more context is needed. This narrows the same retrieval system instead of asking the model to infer from an entire transcript.
Answer from quotes and keep the links intact
Use the returned Segment text as evidence. Preserve the timestamped citation link for each material claim so a reader can jump to the exact moment.
Use fast: true for an exact name, product, or phrase when semantic recall is unnecessary. Use includeText: false only to discover Episode/citation handles; without text, the result is not sufficient grounding for an answer.
Verify the connection
After installing:
- Confirm the client shows a server with one tool named
search. - Run the supplied Try-it prompt.
- Confirm the client actually calls
searchrather than answering from general model knowledge. - Check that at least one result contains quoted text and a timestamp link.
- Open the citation and verify the Library lands at the supporting moment.
- Ask an unrelated question and accept an empty result — this is a useful anti-hallucination check.
Troubleshooting
Opening /mcp in a browser shows 405. This is expected. The server is stateless Streamable HTTP: JSON-RPC uses POST, browser preflight uses OPTIONS, and standalone GET/DELETE session operations are intentionally rejected. Test with an MCP client, not a browser address-bar request.
The client offers stdio, SSE, and HTTP. Choose remote HTTP / Streamable HTTP. There is no command to execute and no local package.
The server connects but search is missing. Recheck that the URL ends in /mcp, remove authentication fields, and reconnect. The Install prompt explicitly asks the client to confirm the tool loaded.
Search returns nothing expected. MCP sees only successfully Indexed, non-archived Episodes. Confirm the Episode is Live, test the query in public Library Search, keep fast: false, and try a shorter concept or exact name.
Results identify the Episode but contain no quote. The match may come only from the title/description. Refine the query or search within that episodeId; do not cite an unsupported title-only result as transcript evidence.
Citations use the PodHood subdomain instead of the custom domain. Reconnect using https://<custom-domain>/mcp, ideally by opening Connect AI on the custom-domain Library. Citation URLs follow the host used by the MCP request.
ChatGPT cannot add the connector. Open Plugins from the sidebar and click the + (Add) button at the top right — if it's unavailable, turn on Developer mode under Settings → Security and login (availability can depend on your plan and workspace permissions). In the New Plugin form, keep Connection on Server URL, paste the /mcp URL, and set Authentication to No authentication. Use the exact Connect AI recipe because this UI can differ from other clients.
Protocol and discovery
- Server shape: one fresh, stateless MCP server per request; no session id and no server-side conversation state.
- Transport: Streamable HTTP with JSON responses.
- Methods:
POSTfor JSON-RPC,OPTIONSfor CORS,GET/DELETEreturn 405. - Access: anonymous, public, published-only, read-only.
- CORS: open for browser-based MCP clients;
Authorizationis accepted but ignored in v1. - Discovery:
/.well-known/mcpand/.well-known/mcp/server-card.jsonadvertise the per-Channel pattern; each Channel'sllms.txtlists its concrete endpoint. - Agent Skills:
https://podhood.com/.well-known/agent-skills/index.jsonpublishespodhood-library-search, which teaches compatible agents when and how to use MCP, REST, or Markdown for this retrieval task.
If the integration needs deterministic HTTP calls rather than an MCP tool, use the REST API; both adapters share the same Search result and citation-building seam.
Looking for MCP access to your own channels — drafts included, for your own agents and repurposing pipelines? That is the Creator MCP, a separate authenticated server (sign in from your MCP client, or use an API key); everything on this page is the anonymous audience surface.
