wallapop-mcp
An MCP server for Wallapop, written in pure Python: let an AI agent search listings, spot deals, negotiate offers, chat with buyers and sellers, keep saved-search alerts and manage your own listings — no browser required for the core workflows.
The same package ships the wallapop CLI and the typed wallapop_mcp Python client.
All three share one API client, so a fix lands in one place.
Install
Python 3.10+.
pip install wallapop-mcp # or: uvx wallapop-mcp / pipx install wallapop-mcp
Prefer no Python at all? Download the standalone wallapop-mcp executable
(Linux, macOS, Windows; built with PyInstaller) from the
releases page.
Use it from an MCP client
{
"mcpServers": {
"wallapop": {
"command": "wallapop-mcp",
"args": ["--allow-writes"]
}
}
}
Claude Code: claude mcp add wallapop -- wallapop-mcp --allow-writes.
- Reads work without an account (search, suggestions, item details, sellers, categories). Inbox, offers, favorites, purchases/sales, saved searches and every write need a session.
- Writes are hidden unless
--allow-writesis passed. - Session:
--session <dir|file>(default~/.config/wallapop-mcp, override withWALLAPOP_CONFIG_DIR) orWALLAPOP_ACCESS_TOKEN(+ optionalWALLAPOP_REFRESH_TOKEN).
30 tools (17 read, 13 write): search & deals, item/seller lookup, inbox and conversations, offers (send, accept, decline, counter), favorites, saved-search alerts, publish/edit/reserve/sold/pause/delete listings. Full reference and agent flows in AGENTS.md.
Log in
The server never logs in by itself; create a session once with the CLI:
wallapop login you@mail.com # email + password (prompts)
wallapop login --browser firefox # import an existing Firefox session
wallapop login --cookies-file cookies.txt # paste the Cookie: header from DevTools
wallapop session # check status, offline
For the Google/browser wizard: pip install 'wallapop-mcp[browser]' && playwright install chromium,
then wallapop login --wizard. Credentials live in ~/.config/wallapop-mcp/,
outside any repository; never paste them into prompts or issues.
CLI
wallapop search "nintendo switch" --city galicia --max-price 200
wallapop deals "nintendo switch" # bargains vs. the median price
wallapop show <item-url-or-id>
wallapop offer <item> --price 30
wallapop alert save "switch 2" --max-price 300 # saved search (alert)
wallapop publish <photos_dir> --summary "..." --price 42 --condition as_good_as_new
See docs/USAGE.md.
Library
from wallapop_mcp import Wallapop, build_client
public = Wallapop()
for item in public.search("nintendo switch", pages=1):
print(item.price, item.title, item.url)
client, _ = build_client() # signed-in client; raises SessionError if not logged in
See docs/API.md.
Develop
python3 -m venv .venv
.venv/bin/pip install -e '.[test,build]'
.venv/bin/python -m pytest # offline: local fixtures, no account
.venv/bin/python -m build # sdist + wheel in dist/
.venv/bin/python scripts/build_binary.py # PyInstaller executables in dist/bin/
Releasing is described in CONTRIBUTING.md.
Status
Experimental, unofficial integration. The endpoints are derived from the web application and can change or reject non-browser clients. Offline tests cover protocol behaviour and known response shapes; they do not establish current live compatibility. Writes may have partial or unknown outcomes; there is no checkout or payment.
MIT license. Wallapop and its trademarks belong to their respective owners; this project is not affiliated with Wallapop. See CREDITS.md.
Metadata
Release files for wallapop-mcp 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| wallapop_mcp-0.2.0.tar.gz | 137.8 kB | With provenance | Details for wallapop_mcp-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| wallapop_mcp-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for wallapop_mcp-0.2.0-py3-none-any.whl |
Total release size: 209.9 kB
Release files / wallapop_mcp-0.2.0.tar.gz
| Download URL | wallapop_mcp-0.2.0.tar.gz |
|---|---|
| Size | 137.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e68492c297b74673c45b14ac58e1b71bc9a84b7a68107d5931288f21169e00a6
|
|
BLAKE2b-256 checksum How to use checksums |
7a008f9625b5cfae9db1b85701862d06c5e42994999029e20c70363d3024a759
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 28, 2026.
Transparency logRelease files / wallapop_mcp-0.2.0-py3-none-any.whl
| Download URL | wallapop_mcp-0.2.0-py3-none-any.whl |
|---|---|
| Size | 72.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5d2144fad0879abd6545ab1ad4f2a73f1be56057bf15d50535639562c0e52a4e
|
|
BLAKE2b-256 checksum How to use checksums |
bbee437e2282581aeda85e13c3dd0aeb8a3f4a0c4a4336d87376c96b33d63e75
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 28, 2026.
Transparency logSecurity for wallapop-mcp 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for wallapop_mcp-0.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 28, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.