Etsy Ops MCP
README.md
# Etsy Ops MCP
A confirmation-gated MCP server for Etsy Open API v3 listing inspection and title/tag updates. Configuration is supplied at runtime; no shop names, IDs, access tokens, or personal data are included in this repository.
## Features
- List configured shops and active listings.
- Read listings and their tags.
- Validate Etsy's 13-tag and 20-character tag constraints locally.
- Update a title and/or tags only after an explicit confirmation and a live title check.
## Install
```bash
python -m venv .venv
.venv/bin/pip install -e .
```
On Windows, use `.venv\\Scripts\\pip install -e .`.
## Configuration
```text
ETSY_API_KEY=your-application-key
ETSY_ACCESS_TOKEN=oauth-access-token-for-writes
ETSY_SHOPS_JSON={"shop-a":{"shop_id":"123456"}}
```
For one shop, `ETSY_SHOP_ID` can be used instead of `ETSY_SHOPS_JSON`. Obtain and refresh OAuth credentials using Etsy's official developer flow; the server deliberately does not persist credentials.
Run with `python server.py`.
## Safety model
Every listing change requires `confirm_write=true`. Before changing a listing, the server re-reads it and requires its title to match `expected_title`, preventing an unintended overwrite. The server provides no delete or publish endpoint.
## Development
```bash
python -m unittest -v
```
## License
MIT. See [LICENSE](LICENSE).
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues