https://github.com/addisonking/pricecharting
Unofficial PriceCharting scraper with REST API and MCP server
https://github.com/addisonking/pricecharting
ebay fastapi game-prices lm-studio mcp-server pricecharting python rest-api scraper video-games
Last synced: 7 days ago
JSON representation
Unofficial PriceCharting scraper with REST API and MCP server
- Host: GitHub
- URL: https://github.com/addisonking/pricecharting
- Owner: addisonking
- Created: 2026-05-25T23:46:00.000Z (10 days ago)
- Default Branch: main
- Last Pushed: 2026-05-26T00:37:24.000Z (10 days ago)
- Last Synced: 2026-05-26T02:17:08.563Z (10 days ago)
- Topics: ebay, fastapi, game-prices, lm-studio, mcp-server, pricecharting, python, rest-api, scraper, video-games
- Language: Python
- Homepage:
- Size: 13.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# pricecharting
unofficial scraper + rest api + mcp server for pricecharting.com
works for games, consoles, and hardware
## install
```bash
pip install -r requirements.txt
```
## caching
caching works out of the box with a local SQLite database (`cache.db`). no config needed.
- default cache TTL: 1 hour (3600s)
- search results cached for 5 minutes
- all API responses include `cached: true` when served from cache
### turso (optional)
for a persistent remote cache, create a `.env`:
```bash
cp .env.example .env
# fill in your Turso DB URL and token from https://docs.turso.tech
```
### disable cache
set `DISABLE_CACHE=1` in your environment to fetch fresh data every request.
## rest api
```bash
uvicorn api:app --host 0.0.0.0 --port 8000
```
- `GET /game/{slug}` — prices + recent sales for games, consoles, or hardware
- response includes `cached: true` when served from cache
- `GET /search?q=...` — search by title
## mcp server (lm studio)
add a stdio server in lm studio settings:
- **command**: `/path/to/repo/run_mcp.sh`
- **args**: *(empty)*
### tools
- `search_products(query)` — search games, consoles, or hardware by title
- `get_product_prices(slug)` — current prices + volume
- `get_product_sales(slug, condition, limit=5)` — recent sales for one condition