About PodCrawlerMCP
PodCrawlerMCP is an MCP server that discovers podcast episodes by crawling the web for RSS feeds and filtering episode data by topic or domain. It is for AI assistants and clients looking for podcasts on a subject.
Key features
- 01Crawl podcast directories for RSS feeds
- 02Parse feeds for episode data
- 03Filter episodes by topic or domain
- 04Expose podcast discovery through an MCP tool
Use cases
- 01Find podcasts about a specific subject
- 02Discover episodes related to a topic
- 03Search for podcasts associated with a domain
MCP support
Exposes a `discover_podcasts` tool that finds podcasts by topic and returns episode results to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEPodCrawlerMCP
An MCP (Model Context Protocol) server for podcast discovery through web crawling. PodCrawlerMCP enables AI assistants to find podcast episodes on specific topics by crawling the web for RSS feeds.
Features
- 🕸️ Crawls podcast directories to discover RSS feeds
- 🎙️ Parses RSS feeds to extract episode data
- 🔍 Filters episodes by topic or domain
- 🔌 Exposes functionality through MCP tools
- 🤖 Seamlessly integrates with AI assistants like Claude
Installation
pip install podcrawler-mcp
Or with Poetry:
poetry add podcrawler-mcp
Quick Start
Run the server directly:
python -m podcrawler.server
Or in your Python code:
from podcrawler import PodCrawlerServer
server = PodCrawlerServer()
server.run()
Integrating with Claude Desktop
Add to your Claude Desktop configuration:
{
"mcpServers": {
"podcrawler": {
"command": "python",
"args": ["-m", "podcrawler.server"]
}
}
}
Available Tools
discover_podcasts
Discovers podcasts on a specific topic.
Parameters:
topic(string): The topic to search for (e.g., "technology", "history")max_results(integer, optional): Maximum number of results to return (default: 10)
Example Usage:
What are some science podcasts about black holes?
Project Structure
podcrawler-mcp/
├── podcrawler/ # Main package
│ ├── __init__.py # Package initialization
│ ├── server.py # MCP server implementation
│ ├── tools/ # MCP tools
│ │ ├── __init__.py
│ │ └── discovery.py # Podcast discovery tool
│ ├── crawler/ # Web crawling components
│ │ ├── __init__.py
│ │ ├── spider.py # Web crawler implementation
│ │ └── parser.py # RSS feed parser
│ └── utils/ # Utility functions
│ ├── __init__.py
│ ├── filtering.py # Topic filtering utilities
│ └── formatting.py # Output formatting utilities
├── tests/ # Tests
│ ├── __init__.py
│ └── test_server.py # Server tests
├── examples/ # Usage examples
│ └── basic_discovery.py # Basic discovery example
├── pyproject.toml # Project configuration
├── README.md # Project documentation
├── LICENSE # MIT License
└── CONTRIBUTING.md # Contribution guidelines
Development
-
Clone the repository
git clone https://github.com/infinitimeless/podcrawler-mcp.git cd podcrawler-mcp -
Install dependencies using Poetry
poetry install -
Run tests
poetry run pytest
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for details.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.