partsgeek-mcp-server
by cozadizzle
README.md
# partsgeek-mcp-server
> **Notice:** Open-source local tooling provided AS IS by the authors and contributors; not affiliated with ALLDATA, AutoZone, PartsGeek, or any OEM—use only with accounts you control and at your own risk (see [DISCLAIMER.md](DISCLAIMER.md)).
**License: MIT**
Local MCP server for **public catalog / cart estimate** workflows on [PartsGeek](https://www.partsgeek.com). Designed for **price comparison** against shop commercial pricing—not for placing orders.
## Safety hard rules
- **Never checkout.** No PayPal, Fastlane, cards, or Place Order.
- **Cart page only** (`/cart/`) for shipping / fee estimates.
- Do not open `/checkout/` or payment UI.
## What it does
| Tool | Purpose |
|------|---------|
| `search_parts` | Y/M/M + keyword → hits with **clickable URLs** + prices |
| `get_product` | Product detail (SKU, fitment, ships note, url) |
| `cart_estimate` | Add product URLs to cart; return subtotal + expedited + protection + S&H |
| `clear_browser` | Drop Playwright session / cookies |
Default ship-to note for estimates (override when calling the tool):
`18440 Paulson Drive, Port Charlotte, FL 33954` (example shop address—change for your shop).
## Requirements
- Python ≥ 3.10
- Playwright Chromium
- **No PartsGeek account required** for basic search/cart estimate
## Install
```bash
git clone <this-repo-url> partsgeek-mcp-server
cd partsgeek-mcp-server
pip install -e .
playwright install chromium
```
```toml
# ~/.grok/config.toml
[mcp_servers.partsgeek]
command = "partsgeek-mcp"
enabled = true
[mcp_servers.partsgeek.env]
PARTSGEEK_HEADLESS = "1"
PARTSGEEK_TIMEOUT = "180"
```
```bash
hermes mcp add partsgeek --command partsgeek-mcp \
--env PARTSGEEK_HEADLESS=1 PARTSGEEK_TIMEOUT=180
```
## Authentication
PartsGeek catalog browsing does **not** require a shop login. The tool drives a **local headless browser** on your machine for search/cart DOM only.
There is **no** `import_browser_cookies` step for PartsGeek accounts. If you ever log into PartsGeek in that browser profile, treat it like any other local session and do not commit cookie jars.
## Data handling
- Runs entirely on your device (Playwright + HTTPS to PartsGeek).
- Authors do not operate a credential-collection backend.
- Full terms: **[DISCLAIMER.md](DISCLAIMER.md)**.
## Pair with shop quoting
Use **azpro** for commercial cost/list and **alldata** for labor. The **shop-quote** skill documents dual-source RO format and requires **clickable product links** for PartsGeek lines.
## Development
```bash
pytest -q
```
## License
MIT — see [LICENSE](LICENSE).
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues