A Model Context Protocol (MCP) server integrating RSS search + YouTube search + local PDF reading.
This project demonstrates a custom MCP Server built using Python and FastMCP. It gives LLMs (e.g., Claude Desktop) the ability to:
• 🔍 Search FreeCodeCamp news via RSS
• 🎥 Search FreeCodeCamp YouTube videos via RSS
• 📄 Read & extract text from local PDF files
• 🤝 Connect all these tools through a standardized MCP interface
By running this MCP server locally, Claude Desktop can directly access your filesystem and external RSS feeds—safely and in a standardized format.
⸻
MCP (Model Context Protocol by Anthropic) is a new standard that allows LLMs to connect with external systems in a unified, structured way.
❌ Before MCP
Every LLM needed custom protocols to talk to every API → chaos, duplication, maintenance cost.
✔️ After MCP
A single standardized API between the LLM and your MCP server.
- What is MCP?
- How did MCP emerge?
- How MCP works (sequence diagram)
| Feature | Description |
|---|---|
| 📰 RSS News Search | Search FreeCodeCamp News feed by keyword |
| 📹 YouTube Video Search | Search FreeCodeCamp YouTube channel videos |
| 📄 PDF Reader | Extract text from local PDFs (first N characters) |
| 🤖 Claude Desktop Integration | Tools appear automatically as MCP tools |
├── docs/ │ └── microsoft.pdf ├── Scenario1/ │ └── feed_mcp.py ├── README.md └── venv/
git clone <your-repo-url>
cd MCP-TUTORIAL/Scenario1 python3 -m venv venv
source venv/bin/activate
Bash
pip install fastmcp feedparser PyPDF2
Inside Scenario1:
python feed_mcp.py
## ▶️ Running the MCP Server
Inside `Scenario1`:
```sh
python feed_mcp.py
{
"query": "python",
"max_results": 3
} {
"query": "javascript",
"max_results": 2
} {
"path": "docs/microsoft.pdf",
"max_chars": 2000
} ##JSON
{
"path": "docs/microsoft.pdf",
"max_chars": 4000
}