ðïž Podbean MCP Server ð§
ããŒã«ã«ðïž Podbean MCP Server ð§ ã«ã€ããŠ
Podbean MCP Serverã¯ãMCP察å¿ã¢ã·ã¹ã¿ã³ããPodbean APIã«æ¥ç¶ããããããã£ã¹ã管çè ã第äžè ã¢ã¯ã»ã¹åãã®æäœãæäŸããŸããçªçµããšããœãŒãã®ç®¡çãåæãOAuthãã¢ããããŒãèªèšŒã«å¯Ÿå¿ããŸããããã¡ã€ã«ãçŽæ¥è»¢éããããšã¯ã§ããŸããã
äž»ãªæ©èœ
- 01ããããã£ã¹ããšãšããœãŒãã®ç®¡ç
- 02åæãšæ¥å¥ãªã¹ããŒæ°ã®ç¢ºèª
- 03ã¯ã©ã€ã¢ã³ãèªèšŒæ å ±ãšOAuthèªèšŒ
- 04å ¬éããããã£ã¹ããšãšããœãŒãã®ããŒã¿ååŸ
- 05ãã¡ã€ã«ã¢ããããŒãèªèšŒ
掻çšã·ãŒã³
- 01ãšããœãŒãã®å ¬éãæŽæ°
- 02ããŠã³ããŒãæ°ãšæ¥å¥ãªã¹ããŒæ°ã®ç¢ºèª
- 03å ¬éãšããœãŒãã®åã蟌ã¿ããŒã¿ååŸ
- 04å€éšè»¢éçšã®ã¢ããããŒãèªèšŒã®æºå
MCP 察å¿
Podbean APIã®æäœãMCPããŒã«ããªãœãŒã¹ãããã³ãããšããŠå¯Ÿå¿ã¯ã©ã€ã¢ã³ãã«å ¬éããŸãããã¡ã€ã«ã®çŽæ¥è»¢éã«ã¯å¯Ÿå¿ãããã¢ããããŒãèªèšŒãšãã¡ã€ã«ããŒãæäŸããŸãã
èšå®
ããŒã«ã«ãµãŒããŒã®èšå®ã¯ã©ã®ã¯ã©ã€ã¢ã³ãã§ãå ±éã§ããã³ããŒããŠã¯ã©ã€ã¢ã³ãã® MCP èšå®ãã¡ã€ã«ã«è²Œãä»ããŠãã ããã
ããŒã«
ããŒã«ã«ãµãŒããŒã®ããŒã«ã¯ãã·ã³äžã§èµ·åããŠåããŠååŸã§ããŸããã¡ã³ãããŒã¯ãŸã ããŒã«äžèЧãæäŸããŠããŸããã
詳现
ðïž Podbean MCP ãµãŒã㌠ð§
Podbean API ãéããŠããããã£ã¹ãã管çããããã® MCP ãµãŒããŒã§ãã
ð æŠèŠ
ãã® MCP ãµãŒããŒã¯ãMCP 察å¿ã®ãããã AI ã¢ã·ã¹ã¿ã³ãã Podbean API ã«æ¥ç¶ããŸããClineïŒIDE MCP ã¯ã©ã€ã¢ã³ãïŒãClaude Desktopããã®ä»ã® MCP ã¯ã©ã€ã¢ã³ãã®ãããã䜿çšããŠããŠããèªç¶ãªäŒè©±ãéããŠããããã£ã¹ãããšããœãŒããåæããŒã¿ã管çã§ããŸãã
âš æ©èœ
ð èªèšŒ
- èªåã®ããããã£ã¹ãã管çããããã®ã¯ã©ã€ã¢ã³ãèªèšŒ
- å¿ èŠã«å¿ãããµãŒãããŒãã£ã¢ã¯ã»ã¹çšã® OAuth ãããŒ
- è€æ°ã®ããããã£ã¹ãã®ããŒã¯ã³ç®¡çããã¹ãŠãŸãšããŠç®¡çã§ããŸãïŒ
ðïž ããããã£ã¹ã管ç
- ãã°ãããããããã£ã¹ãããã¹ãŠäžãæã§äžèŠ§è¡šç€º
- çªçµã®è©³çްæ å ±ã確èª
- çµ±èšãåæããŒã¿ããã§ãã¯ïŒèª°ãèŽããŠããã®ã§ããããïŒïŒ
- ããããã£ã¹ãã®ã«ããŽãªãé²èЧããŠãèªåã«åã£ãåéãæ¢ã
ð ãšããœãŒã管ç
- ããããã£ã¹ãã®å šãšããœãŒããäžèЧã§ç¢ºèª
- ãšããœãŒãã®è©³çްã確èª
- æ°ãããšããœãŒããç°¡åã«å ¬éïŒè€éãªãã©ãŒã ã¯äžèŠã§ãïŒïŒ
- å¿ èŠã«å¿ããŠæ¢åã®ãšããœãŒããæŽæ°
- æåŸ ã©ããã§ãªãã£ããšããœãŒããåé€
ð ãã¡ã€ã«ç®¡çïŒéå®çïŒ
- Podbean ãžã®ãã¡ã€ã«ã¢ããããŒãã«å¿ èŠãªèªèšŒæ å ±ãååŸïŒçœ²åä»ã URLïŒ
- 泚èšïŒ STDIO ãããã³ã«ã®å¶éã«ããããã®ãµãŒããŒãããã¡ã€ã«ãçŽæ¥ã¢ããããŒãããããšã¯ã§ããŸãã
- ãµãŒããŒã¯å¿ èŠãªèªèšŒæ å ±ãšãã¡ã€ã«ããŒãæäŸããŸãããå®éã®ãã¡ã€ã«ã¢ããããŒãã¯å€éšã§è¡ãå¿ èŠããããŸã
ð åæ
- ããããã£ã¹ãã®ããŠã³ããŒãæ°ã確èª
- æ¯æ¥ã®ãªã¹ããŒæ°ã远跡ïŒå¢å ãèŠå®ããŸãããïŒïŒ
- ãŠãŒã¶ãŒãã³ã³ãã³ããã©ã®ããã«å©çšããŠãããã確èª
ð å ¬éããããã£ã¹ããžã®ã¢ã¯ã»ã¹
- oEmbed ãéããŠå ¬éããããã£ã¹ãã®ããŒã¿ã«ã¢ã¯ã»ã¹
- å ¬éãããŠãããããããšããœãŒãã®æ å ±ãååŸ
ð§° åææ¡ä»¶
- Python 3.10 以éïŒãŸã ã¢ããã°ã¬ãŒãããŠããªãå Žåã¯ãããããã¢ããã°ã¬ãŒãããŸãããïŒïŒ
- API ã«ã¢ã¯ã»ã¹ã§ãã Podbean ã¢ã«ãŠã³ãïŒç¡æã»ææã®ã©ã¡ãã§ãæè¿ã§ãïŒ
- Podbean API ã®èªèšŒæ å ±ïŒClient ID ãš Secretãçåœãžã®éæ³ã®éµã§ãïŒ
ð ã€ã³ã¹ããŒã«
Smithery çµç±ã§ã®ã€ã³ã¹ããŒã«
Smithery ã䜿ã£ãŠãClaude Desktop çšã® Podbean Podcast Manager ãèªåçã«ã€ã³ã¹ããŒã«ããã«ã¯ïŒ
npx -y @smithery/cli install @amurshak/podbeanmcp --client claude
-
ã³ãŒããååŸããŸãïŒ
git clone <repository-url> cd PodbeanMCP -
é«éãª
uvããŒã«ã䜿ã£ãŠä»®æ³ç°å¢ãã»ããã¢ããããŸãïŒuv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate -
ããã±ãŒãžãšäŸåé¢ä¿ãã€ã³ã¹ããŒã«ããŸãïŒ
# Using uv (faster) uv pip install -e .åŸæ¥ã® pip ã䜿ãå Žåã¯ã次ã®ã³ãã³ããå®è¡ããŸãïŒ
pip install -e .ããã«ããã以äžãå«ã pyproject.toml ãã¡ã€ã«å ã®ãã¹ãŠã®äŸåé¢ä¿ãã€ã³ã¹ããŒã«ãããŸãïŒ
- mcp[cli]ïŒMCP SDKïŒ
- httpxïŒAPI ãªã¯ãšã¹ãçšïŒ
- python-dotenvïŒç°å¢å€æ°çšïŒ
- pydanticïŒããŒã¿æ€èšŒçšïŒ
-
Podbean ã®ç§å¯ã®åãèšå®ãã
.envãã¡ã€ã«ãäœæããŸãïŒPODBEAN_CLIENT_ID=your_client_id PODBEAN_CLIENT_SECRET=your_client_secret
ð cline_mcp_settings.json ã§ã®èšå®
ãã® MCP ãµãŒããŒã®æšå¥šãããäœ¿çšæ¹æ³ã¯ãcline_mcp_settings.json ãã¡ã€ã«ã«çŽæ¥èšå®ããããšã§ããããã«ãããå¿ èŠã«å¿ã㊠Cline IDE MCP ã¯ã©ã€ã¢ã³ãããµãŒããŒãèªåçã«èµ·åã§ããŸãã
-
cline_mcp_settings.json ãã¡ã€ã«ãèŠã€ããŸãããã®ãã¡ã€ã«ã¯ãCline IDE ã§ MCP ãµãŒããŒãèšå®ããããã«äœ¿çšãããŸããã䜿ãã®ã·ã¹ãã äžã§ã®ãã¡ã€ã«ã®æ£ç¢ºãªå Žæã«ã€ããŠã¯ãCline IDE ã®ããã¥ã¡ã³ããåç §ããŠãã ããã
-
"mcpServers" ãªããžã§ã¯ãã« Podbean MCP ãµãŒããŒã®èšå®ã远å ããŸãïŒ
{
"mcpServers": {
"Podbean MCP": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"/full/path/to/PodbeanMCP/server.py"
],
"env": {
"PODBEAN_CLIENT_ID": "your_client_id",
"PODBEAN_CLIENT_SECRET": "your_client_secret"
}
}
}
}
-
èšå®ãã«ã¹ã¿ãã€ãºããŸãïŒ
/full/path/to/PodbeanMCP/server.pyã server.py ãã¡ã€ã«ã®çµ¶å¯Ÿãã¹ã«çœ®ãæããŸãyour_client_idãšyour_client_secretã .env ãã¡ã€ã«ã«èšèŒãã Podbean API ã®èªèšŒæ å ±ã«çœ®ãæããŸãuvã䜿çšããŠããªãå Žåã¯ãã³ãã³ããš args ãé©å®èª¿æŽããŸã
-
ãã¡ã€ã«ãä¿åããCline IDE ãåèµ·åããŸã
éèŠãªæ³šèšïŒãã®èšå®ã䜿çšããå Žåã
python server.pyã§ãµãŒããŒãæåèµ·åããå¿ èŠã¯ãããŸãããå¿ èŠã«å¿ã㊠Cline IDE ããµãŒããŒãèªåçã«èµ·åããClaudeïŒAIïŒãã¢ã¯ã»ã¹ã§ããããã«ãªããŸãã
è€æ°ã®ãµãŒããŒãèšå®ããäŸ
èšå®ã«ãã§ã«ä»ã® MCP ãµãŒããŒãããå Žåã¯ãæ°ãããšã³ããªãšã㊠Podbean MCP ãµãŒããŒã远å ããã ãã§ãïŒ
{
"mcpServers": {
"Some Other MCP": {
"command": "...",
"args": [
"..."
]
},
"Podbean MCP": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"/full/path/to/PodbeanMCP/server.py"
],
"env": {
"PODBEAN_CLIENT_ID": "your_client_id",
"PODBEAN_CLIENT_SECRET": "your_client_secret"
}
}
}
}
𧪠ã€ã³ã¹ããŒã«ã®ãã¹ã
cline_mcp_settings.json ãã¡ã€ã«ã§ MCP ãµãŒããŒãèšå®ããããClaude ã« Podbean MCP ããŒã«ã®ããããã䜿ãããäŸé ŒããŠãæ£åžžã«åäœããããã¹ãã§ããŸãã
-
Podbean ã§èªèšŒããïŒ
Can you authenticate with my Podbean account using the Podbean MCP server? -
ããããã£ã¹ãã®äžèЧãååŸããïŒ
Can you list my podcasts using the Podbean MCP server? -
ç¹å®ã®ããããã£ã¹ãã®ãšããœãŒããååŸããïŒ
Can you get the episodes for my podcast with ID "your_podcast_id" using the Podbean MCP server?
Claude ããããã®ã³ãã³ããæ£åžžã«å®è¡ããæåŸ ã©ããã®çµæãè¿ããããPodbean MCP ãµãŒããŒã¯æ£ããåäœããŠããŸãïŒ
ð§ å©çšå¯èœãªããŒã«
ð èªèšŒããŒã«
authenticate_with_podbean()ïŒPodbean ã® VIP ããã¯ã¹ããŒãžãã¹ãååŸããŸãget_podcast_tokens()ïŒãã±ã¢ã³ã®ããã«ããã¹ãŠã®ããããã£ã¹ãã®ããŒã¯ã³ãéããŸãget_podcast_token(podcast_id)ïŒç¹å¥ãªããããã£ã¹ãå°çšã®ããŒã¯ã³ãååŸããŸã
ðïž ããããã£ã¹ãããŒã«
list_podcasts_tool()ïŒããããã£ã¹ãã®åžåœãäžèЧã§ç¢ºèªããŸãget_podcast_info()ïŒããããã£ã¹ãã®è©³ããæ å ±ãååŸããŸãget_podcast_stats(podcast_id, start_date, end_date, period, episode_id)ïŒæ°å€ãã°ã©ããèªæ ¢ã§ããææã確èªã§ããŸãïŒget_daily_listeners(podcast_id, month)ïŒæ¥ããšã«å¢ããŠãããªã¹ããŒã远跡ããŸãbrowse_podcast_categories()ïŒã«ããŽãªå¥ã«ããããã£ã¹ãã®äžçãæ¢çŽ¢ããŸã
ð§ ãšããœãŒãããŒã«
get_podcast_episodes_tool(podcast_id)ïŒçªçµã®ãšããœãŒãããã¹ãŠéããŸãget_episode_details_tool(episode_id)ïŒç¹å®ã®ãšããœãŒãã詳ãã確èªããŸãpublish_episode(podcast_id, title, content, ...)ïŒããªãã®å£°ãäžçã«å±ããŸãããïŒupdate_episode(episode_id, podcast_id, ...)ïŒãšããœãŒããå®ç§ã«ä»äžããŸãããdelete_episode(episode_id, podcast_id, delete_media)ïŒãã£ãšïŒããã¯åé€ãå¿ èŠã§ãâŠâŠ
ðŸ ãã¡ã€ã«èªèšŒããŒã«ïŒå¶éããïŒ
authorize_file_upload(podcast_id, filename, filesize, content_type)ïŒãã¡ã€ã«ãã¢ããããŒãããèš±å¯ãååŸããŸãupload_file_to_podbean(presigned_url, file_path, content_type, file_key)ïŒæ³šïŒããã¯ãã¡ã€ã«ã®ã¢ããããŒããã·ãã¥ã¬ãŒããããã¬ãŒã¹ãã«ããŒé¢æ°ã§ããSTDIO ãããã³ã«ã®å¶éã«ãããå®éã«ãã¡ã€ã«ã転éããããšã¯ãããŸãã
ð ãããªãã¯ã¢ã¯ã»ã¹ããŒã«
get_oembed_data(url)ïŒPodbean ã® URL ããåã蟌ã¿çšããŒã¿ãååŸããŸãget_public_episode_info(episode_url)ïŒå ¬éãšããœãŒãããã§ãã¯ããŸãïŒãã¡ããåæ³çã«ïŒïŒ
ð OAuth ããŒã«ïŒãµãŒãããŒãã£ã¢ã¯ã»ã¹çšïŒ
generate_oauth_url(redirect_uri, scope, state)ïŒãã°ã€ã³çšã®éæ³ã®ãªã³ã¯ãäœæããŸãexchange_oauth_code(code, redirect_uri)ïŒèªå¯ã³ãŒãã亀æããŠãæ°ããããŒã¯ã³ãååŸããŸãrefresh_oauth_token(refresh_token)ïŒæéåãã®ããŒã¯ã³ãæŽæ°ããŸããé çªåŸ ã¡ã¯äžèŠã§ãïŒ
ð å©çšå¯èœãªãªãœãŒã¹
podbean://authïŒèªèšŒæ å ±ã®å®ç®±podbean://podcast/{podcast_id}ïŒããããã£ã¹ãã®ãšããœãŒãépodbean://episode/{episode_id}ïŒãšããœãŒãã®è©³çްæ å ±podbean://upload/authorizeïŒã¢ããããŒãèš±å¯èšŒïŒå®éã®ã¢ããããŒãã¯ã§ããŸããïŒpodbean://categoriesïŒããããã£ã¹ãã«ããŽãªã®çŸç§äºå žpodbean://public/oembedïŒPodbean ã® URL çšã®åã蟌ã¿å¯Ÿå¿ããŒã¿podbean://oauth/authorizeïŒOAuth èªå¯ã²ãŒããŠã§ã€
ð¬ å©çšå¯èœãªããã³ãã
podcast_summary(podcast_id)ïŒãAIãç§ã®ããããã£ã¹ããèŠçŽããŠãããïŒãepisode_transcript(episode_id)ïŒãç§ã®ãšããšããªã話ããèªã¿ãããæç« ã«ããŠïŒã
ð¬ ä»»æã® MCP ã¯ã©ã€ã¢ã³ãã§ã®äœ¿çšäŸ
ãã® MCP ãµãŒããŒã䜿ã£ãŠãAI ã¢ã·ã¹ã¿ã³ããšããåãããæ¥œããæ¹æ³ãã玹ä»ããŸãã
-
VIP ãã¹ãååŸããïŒ
Hey, can you authenticate with my Podbean account and show me my podcast collection? -
ãšããœãŒããéããïŒ
I'm feeling nostalgic! Show me all the episodes from my "Cooking with Code" podcast. -
ããªãã®æèœãäžçã«å±ããïŒ
I'm ready to drop a new episode! It's called "AI in Podcasting" and it's all about how AI is making podcasting easier and more fun. Can you help me publish it? -
誰ããèŽããŠããã確èªãã ðïŒ
How's my podcast doing? Can you show me the download stats from last week?
ð ïž ãšã©ãŒåŠç
ããŸããããªããšãããä»»ããã ããïŒãã®ãµãŒããŒã«ã¯ããšãŠã芪åãªãšã©ãŒåŠçãåãã£ãŠããŸãã
- èªèšŒã§ã€ãŸãããŸãããïŒä¿®æ£æ¹æ³ããæ¡å ããŸã ð§
- API ã§åé¡ãèµ·ããŸãããïŒäœãèµ·ããã®ããæ£ç¢ºã«ãç¥ããããŸã ðš
- æ£ããåŠçã§ããªãæäœã詊ããŸãããïŒåé¡ãèµ·ããåã«ãç¥ããããŸã ð€
- 人ã«ãããããããã詳现ãªãšã©ãŒã¡ãã»ãŒãžã衚瀺ããŸãïŒ ð®âðš
ð§ å¶éäºé
- ãã¡ã€ã«ã®ã¢ããããŒãïŒSTDIO ãããã³ã«ã®å¶éã«ããããã®ãµãŒããŒã¯ Podbean ã«ãã¡ã€ã«ãçŽæ¥ã¢ããããŒãã§ããŸãããå¿ èŠãªèªèšŒæ å ±ïŒçœ²åä»ã URLïŒãšãã¡ã€ã«ããŒã¯ååŸã§ããŸãããå®éã®ãã¡ã€ã«è»¢éã¯å€éšããŒã«ãŸãã¯ããã»ã¹ã§è¡ãå¿ èŠããããŸãã
- äžéšã®é«åºŠãªæ©èœã«ã¯ãææã® Podbean ãµãã¹ã¯ãªãã·ã§ã³ãå¿ èŠãªå ŽåããããŸã ð³
- Podbean ã«ã¯ã¬ãŒãå¶éãããããããªã¯ãšã¹ããéããããªãã§ãã ãã ð
- ããããã£ã¹ãã®ã³ã³ãã³ããããºãããããšã¯ã§ããŸããïŒããã¯çããæ¬¡ç¬¬ã§ãïŒïŒð
ð©âð» ã³ã³ããªãã¥ãŒã·ã§ã³
ãã£ãšè¯ãããã¢ã€ãã¢ããæã¡ã§ããïŒãã²ãååãã ããïŒãã©ãŒã¯ããŠãã³ãŒããæžãããã«ãªã¯ãšã¹ããéã£ãŠãã ãããäžç·ã«ããããã£ã¹ã管çãããã«çŽ æŽããããã®ã«ããŸãããïŒð€
ð ã©ã€ã»ã³ã¹
[ã奜ã¿ã®ã©ã€ã»ã³ã¹ãèšå ¥ããŠãã ãããå¯èœã§ããã°ãªãŒãã³ãœãŒã¹ã®ãã®ããéžã³ãã ããïŒ]
ð è¬èŸ
- Podbean API ããã¥ã¡ã³ããäœæããŠãã ãã£ãçŽ æŽãããçãã ð
- MCP SDK ãäœæããéæ³äœ¿ãã®çãã ð§ââïž
- ãã®ããŒã«ã䜿ã£ãŠçŽ æŽãããããããã£ã¹ããäœã£ãŠãã ããçãã ð
ã³ã¡ã³ã
MCP ã¯åããŠã§ããïŒ
ãããã³ã«ã®æŠèŠããæåã®ãµãŒããŒã®å°å ¥ãŸã§ãããããçåã«ãŸãšããŠçããŸãã
AI ã¢ããªã±ãŒã·ã§ã³ãå€éšã®ããŒã«ãããŒã¿ãœãŒã¹ã«çµ±äžçãªæ¹æ³ã§æ¥ç¶ããããã®ãªãŒãã³ãªãããã³ã«ã§ããã¯ã©ã€ã¢ã³ãã¯ã¢ãã«ãšã®å¯Ÿè©±ãæ ããMCP ãµãŒããŒã¯ããŒã«ã»ãªãœãŒã¹ã»ããã³ãããã³ãã¬ãŒããæäŸããŸããæšæºã¡ãã»ãŒãžã§ããåãããããã1 ã€ã®ãµãŒããŒãè€æ°ã®ã¯ã©ã€ã¢ã³ãã§åå©çšã§ããŸãã