🗑️ Reading Bin Collections MCP Server

by vaughanc

127 downloads
Not rated
GitHub

About

An MCP-compliant tool for fetching household waste collection dates from Reading Borough Council. It allows you to ask questions like “What are my bin collections for 51 Gosbrook Road, RG48BN?” directly within Claude, returning upcoming collection dates by querying the council’s…

Details

Author
vaughanc
Downloads
127
Categories
Other

- Fetches bin collection dates from Reading Borough Council’s API.
- Resolves addresses to a UPRN via an address‑search endpoint.
- Returns schedules for recycling, food waste, domestic waste, and more.
- Built on the Model Context Protocol for seamless Claude integration.
- Simple setup with UV, FastMCP, and a virtual environment.

Clone the repository, install UV, create a virtual environment, and run the provided install command. The install command automatically creates the necessary configuration for Claude (e.g., in ~/Library/Application Support/Claude/claude_desktop_config.json). Once set up, you can simply ask Claude for your bin collection dates by specifying your postcode and house number.

🗑️ Reading Bin Collections MCP Server

An MCP-compliant tool for fetching household waste collection dates from Reading Borough Council.
Built for seamless integration with Claude.

InitialPrompt
Results

---

🔧 What it Does

This MCP server allows you to ask questions like:

> “What are my bin collections for 51 Gosbrook Road, RG48BN?”

…directly within Claude. It looks up the postcode and house number via Reading Borough Council's API and returns your upcoming collection dates.

---

🚀 Quickstart

1. Clone the repo

git clone https://github.com/vaughanc/collections.git

2. Install UV

curl -LsSf https://astral.sh/uv/install.sh | sh


Make sure to restart your terminal afterwards to ensure that the uv command gets picked up.

3. Create a virtual environment

uv init collections
uv venv                                                   
source .venv/bin/activate
uv run fastmcp install --with uvicorn --with requests collections.py

The install command will create the config for Claude to detect the MCP server.

You can check this in the following file


cat ~/Library/Application\ Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"Reading Bin Collections Tool": {
"command": "uv",
"args": [
"run",
"--with",
"fastmcp",
"--with",
"requests",
"--with",
"uvicorn",
"fastmcp",
"run",
"/Users/chris/Documents/Code/collections/collections.py"
]
}
}
}


When you start Claude you should see the following

Claude Prompt and Menu Item

📬 API Behind the Scenes

This tool makes two key requests:

1. Get address UPRN

Endpoint: https://www.reading.gov.uk/api/address-search
Params: postcode
Use: Resolves a UPRN for a given street/postcode.

2. Fetch collection schedule

Endpoint: https://www.reading.gov.uk/api/bin-collections
Params: uprn
Use: Retrieves bin types and dates (recycling, food waste, domestic, etc.)

📸 Screenshots

InitialPrompt
PromptandMenuItem
ExternalIntegrationApproval
Request
Results

I used this quickstart guide to provide the background to get going.

https://modelcontextprotocol.io/quickstart/server

I also may have used brew to resolve some dependencies such as NPM but can't recall.

https://brew.sh/

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.