Skip to main content
Glama
Vaibhav-Kumar10

FreeCodeCamp Feed Parser MCP

README.md
# My FreeCodeCamp MCP Project

A personal learning project built to explore **Model Context Protocol (MCP)** servers using Python. I created this repo to practice building small tool servers, connect them to AI workflows, and learn how MCP can expose useful functions over HTTP and stdio.

> This project was inspired by FreeCodeCamp learning materials. I want to thank the FreeCodeCamp community for the tutorials and resources that helped me build this project.

## ✨ What’s included

This repository contains three MCP-based demo apps:

### 1. FastAPI MCP Calculator (`FastAPI MCP/`)

A simple REST API calculator built with **FastAPI** and **FastMCP**.

- Endpoints: `/add`, `/multiply`, `/subtract`, `/divide`
- Good for testing HTTP-based MCP clients and web integrations
- Start it with:

  ```powershell
  python -u "FastAPI MCP\calculator.py"
  ```

### 2. FastMCP Calculator (`FastMCP/`)

Two calculator servers showing different MCP hosts:

- `calculator_stdio.py` – standard input/output MCP server
- `calculator_streamable_http.py` – HTTP-based MCP server
- Supports basic operations: add, multiply, subtract, divide
- Run the stdio server with:

  ```powershell
  python -u "FastMCP\calculator_stdio.py"
  ```

### 3. FreeCodeCamp Feed Parser MCP (`Feed Parser MCP/`)

A small MCP tool for searching the FreeCodeCamp news RSS feed.

- Tool: `fcc_news_search(query, max_results=5)`
- Returns article titles, links, published dates, and summaries
- Start it with:

  ```powershell
  python -u "Feed Parser MCP\server.py"
  ```

## πŸš€ How to use this project

### 1. Install dependencies

```powershell
pip install -r requirements.txt
```

### 2. Run a server

Each server runs separately. Open a terminal and choose one:

```powershell
python -u "FastAPI MCP\calculator.py"
python -u "FastMCP\calculator_stdio.py"
python -u "FastMCP\calculator_streamable_http.py"
python -u "Feed Parser MCP\server.py"
```

### 3. Explore the tools

- Use the FastAPI calculator from a browser, Postman, or any HTTP client
- Use the FastMCP calculator in an MCP-compatible client
- Use the feed parser to search FreeCodeCamp articles by keyword

## πŸ“¦ Dependencies

This project uses:

- `fastapi` – API server framework
- `fastapi-mcp` – MCP integration for FastAPI
- `fastmcp` – Python MCP server framework
- `mcp[cli]` – MCP command-line support
- `feedparser` – RSS feed parsing
- `uvicorn` – ASGI server runtime

See `pyproject.toml` for exact version details.

## πŸ”§ Example MCP configuration

If you use an MCP client, this sample `mcp.json` configuration can help:

```json
{
  "servers": {
    "calculator-http": {
      "url": "http://localhost:8080/mcp"
    },
    "calculator-stdio": {
      "command": "python",
      "args": ["FastMCP/calculator_stdio.py"]
    },
    "freecodecamp-feed-parser": {
      "command": "python",
      "args": ["Feed Parser MCP/server.py"]
    }
  }
}
```

## πŸ’‘ About MCP

**Model Context Protocol (MCP)** defines how AI models connect to tools and services. In this project, each server exposes tool functions that can be called programmatically, helping me learn how AI and application tools can work together.

## 🎯 Project Goals

- Practice building Python servers for MCP
- Explore REST and stdio-based tool hosting
- Create a small personal project inspired by FreeCodeCamp
- Learn how to integrate external data sources using RSS

## πŸ™ Thank you

Special thanks to **FreeCodeCamp** for the learning resources and inspiration behind this project.