Babashka Streamable HTTP MCP server for the Podhome Integration API.
# Run (OS-assigned port)
PODHOME_API_KEY=your-key bb podhome_mcp.clj
# Or use bb.edn tasks
bb start # Start on port 9999
bb test # Run tests
bb health # Health checkSet via environment variable:
export PODHOME_API_KEY="your-key"Or via config file ~/.config/podhome/config.edn:
{:api-key "your-key"}Override API base URL:
export PODHOME_API_BASE="https://serve.podhome.fm"Override host/port:
export PODHOME_MCP_HOST="0.0.0.0"
export PODHOME_MCP_PORT="3003"| Tool | Status | Description |
|---|---|---|
get-show |
✅ | Get show metadata |
list-episodes |
✅ | List episodes (paginated, 20 slim fields default, fields="full" for all) |
get-episode |
✅ | Get episode details (full) |
create-episode |
✅ | Create episode from URL |
modify-episode |
✅ | Update episode (metadata + alternate enclosure) |
schedule-episode |
✅ | Schedule/publish |
delete-episode |
✅ | Delete episode |
begin-upload |
Start file upload (API bug — returns 400, use create-episode with file_url) | |
finalize-upload |
Complete upload (depends on begin-upload) | |
upload-and-create |
Upload + create episode (depends on begin-upload) | |
get-chapters |
✅ | List chapters (paginated) |
create-chapter |
✅ | Add chapter |
modify-chapter |
✅ | Update chapter |
delete-chapter |
✅ | Delete chapter |
list-clips |
✅ | List clips (paginated) |
create-clip |
✅ | Add clip |
modify-clip |
✅ | Update clip |
delete-clip |
✅ | Delete clip |
get-transcript |
✅ | Get transcript |
get-analytics |
✅ | Get analytics |
nix run github:JupiterBroadcasting/podhome-mcpservices.podhome-mcp = {
enable = true;
port = 3003;
host = "127.0.0.1";
apiKeyFile = "/run/secrets/podhome-api-key";
};nix developbb smoke # Quick smoke test (no API key needed)
PODHOME_API_KEY=your-key bb test # Integration tests (real API)Tests call the real Podhome API — no mocks.
-
Upload API bug:
/api/begin_uploadreturns HTTP 400 with error'object' does not contain a definition for 'UploadUrl'. This is a .NET PascalCase/snake_case deserialization bug on the server. Usecreate-episodewithfile_urlas a workaround. -
MCP endpoint auth: The MCP server at
serve.podhome.fm/api/mcponly accepts OAuth, notX-API-KEY. This server uses the REST API directly.
MIT