wallapop-cli MCP server
2026년 11월 8일 커밋AI 클라이언트가 터미널 인터페이스를 통해 Wallapop 아이템을 검색하고, 가격 변동을 추적하며, 판매자와의 채팅을 관리할 수 있도록 지원합니다.
다른 이름 Microck/wallapop-cli
- 스타
- 36
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- —
- 마지막 커밋
- 2026년 11월 8일
- 라이선스
- MIT
wallapop-cli MCP란?
wallapop-cli은(는) MCP server입니다. AI 클라이언트가 터미널 인터페이스를 통해 Wallapop 아이템을 검색하고, 가격 변동을 추적하며, 판매자와의 채팅을 관리할 수 있도록 지원합니다.
프로젝트 README에서 생성된 요약
wallapop-cli MCP server 정보
이 도구는 터미널 인터페이스를 통해 Wallapop에서 특정 아이템을 검색하고 가격 변동을 모니터링할 수 있는 기능을 제공합니다. 개발자와 자동화된 에이전트가 단일 정적 Go 바이너리를 사용하여 마켓플레이스와 상호작용할 수 있으며, 기본적으로 JSON을 출력하므로 jq와 같은 도구로 데이터를 쉽게 전달할 수 있습니다. 사용자는 사용 가능한 모든 웹 필터를 사용하여 정밀 검색을 수행하고, 자신의 판매 목록을 관리하며, 커맨드 라인에서 판매자와 직접 소통할 수 있습니다.
서버를 사용하려면 먼저 auth login 명령을 사용하여 웹 브라우저에서 세션 쿠키를 가져와 인증해야 합니다. 이를 통해 클라이언트가 즐겨찾기, 개인 판매 목록, 채팅과 같은 비공개 기능에 접근할 수 있습니다. 자동화된 환경이나 CI의 경우, WALLAPOP_SESSION_TOKEN 환경 변수를 통해 세션 토큰을 제공할 수 있습니다. 이 도구는 프로필을 통해 여러 계정을 지원하며, 네트워크 관리를 위해 모든 트래픽을 프록시로 라우팅하도록 설정할 수 있습니다.
활용 사례
- 1자동 가격 추적AI 에이전트가 특정 검색 결과를 모니터링하다가 아이템 가격이 하락하면 알림을 보낼 수 있습니다.
- 2마켓플레이스 아이템 탐색브랜드나 최대 주행 거리와 같은 세부 필터를 사용하여 특정 제품을 찾을 수 있습니다.
- 3판매자 자동 소통스크립트를 통해 판매자에게 아이템이 아직 판매 중인지 묻는 메시지를 자동으로 보낼 수 있습니다.
- 4판매 목록 관리개발자가 만료된 판매 목록을 재활성화하거나 판매 완료로 표시하여 자신의 재고를 관리할 수 있습니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
구성
WALLAPOP_SESSION_TOKEN
| 이름 | 설명 | 유형 |
|---|---|---|
| WALLAPOP_SESSION_TOKEN | — |
자동 검사
2026년 11월 14일에 실행됨전체 보고서 →아직 인증되지 않았습니다. 서버는 80점 이상의 점수, 심각한 결함 없음, 그리고 검사에 충분한 데이터를 갖추어야 합니다. 검사 방식 · 점수를 높이기 위해 수정할 항목
- 소스 저장소 연결 및 접근 가능microck/wallapop-cli is public and reachablegithub.com/microck/wallapop-cli ↗통과
- 패키지가 이 저장소를 소스로 명시검사되지 않음
- 빌드 출처(Sigstore 증명)검사되지 않음
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-11-08github.com/microck/wallapop-cli ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음검사되지 않음
- 패키지 및 해당 종속성에 중요한 보안 권고 없음검사되지 않음
- 모델에 대한 숨겨진 지침 없음0 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 원격 엔드포인트가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기https://github.com/user-attachments/assets/015cb7d9-4363-4f9d-90e0-e6598e996f97
wallapop is a terminal cli for wallapop that lets you search with every filter the web has, watch searches, items, and sellers for changes, and chat with sellers, all from your own account. it compiles to one static Go binary. output is json by default so everything pipes into jq. --format pretty is for humans.
documentation | command demos | npm | github

why
if you already use wallapop and want it in the terminal, this cli gives you a practical path without the browser. search once and keep the results as a stream of events, talk to sellers from your own account, and use every filter the site offers, all from one static binary with no daemon. output is json by default, so scripts, agents, and shell pipelines all read the same thing.
quickstart
linux or macos
install the binary with curl:
curl -fsSL https://wallapop.micr.dev/install.sh | sh
wallapop --version
the installer places wallapop in ~/.local/bin (override with WALLAPOP_INSTALL_DIR).
windows
install via scoop:
scoop bucket add microck https://github.com/Microck/scoop-bucket
scoop install wallapop
wallapop --version
using a package manager
# homebrew
brew install Microck/tap/wallapop
# npm
npm install -g wallapop-cli
# arch linux (aur)
yay -S wallapop-cli-bin
go install
go install github.com/Microck/wallapop-cli/cmd/wallapop@latest
wallapop --version
release binaries include the pinned Galleton session engine; there is no separate install.
go install source builds prepare that same pinned engine on their first authenticated use,
using the Go toolchain and module cache (network is needed only if the module is not cached).
For a fully bundled source build, clone this repository and run make install.
every release ships checksums.txt with a github provenance attestation:
gh release download --repo Microck/wallapop-cli --pattern checksums.txt
gh attestation verify checksums.txt --repo Microck/wallapop-cli
check that the install works:
wallapop --version
wallapop doctor
doctor checks that the config parses, shows the proxy in use, checks that the session mints, wallapop is reachable, and the cli can fetch the chat token.
auth
wallapop keeps your login in an http-only browser cookie, so the cli imports it instead of asking for a password. password, google, apple, and facebook accounts all work the same way.
- log in at es.wallapop.com in your browser
- export cookies with an extension such as cookie-editor, or copy the value of
__Secure-next-auth.session-token - run
wallapop auth loginand paste the file path or the value, or pass--cookies FILE
the export can be a netscape cookies.txt, cookie-editor or editthiscookie json (array or {"url", "cookies"} wrapper), a devtools cookie list, a Cookie: header, or the bare cookie value. the format is detected (--cookies-format overrides it) and only wallapop.com cookies are read, so a whole-browser export works too.
# interactive prompt (paste cookie value or file path)
wallapop auth login
# import from an exported cookie file
wallapop auth login --cookies ~/Downloads/cookies.txt
wallapop auth login --cookies ~/Downloads/cookies.json
# read from stdin
cat cookies.txt | wallapop auth login --cookies-stdin
the cli imports the session and stores rotated credentials in a private encrypted vault. credentials.toml holds a session reference and account metadata, not the managed cookie. existing saved sessions migrate on their next authenticated use. your account location becomes the default search centre.
Wallapop can still expire or revoke a session, so you may need to log in again.
for renewal between commands, explicitly enable startup at OS login:
wallapop auth service enable
wallapop auth service status
wallapop auth service disable
wallapop auth service run is the foreground alternative for your own supervisor. the CLI never silently installs an OS startup service: after a successful wallapop auth login in a terminal it asks keep this login alive in the background? [Y/n], and yes runs wallapop auth service enable. --service / --no-service answer without asking (--service works with --no-input); --no-input, CI, WALLAPOP_SESSION_TOKEN and a non-terminal skip the question. without the service, wallapop auth status and wallapop doctor warn (without failing) when the imported session cookie expires within 48 hours. see session lifecycle and recovery.
check session status or verify credentials:
wallapop auth status
wallapop auth refresh
run multiple accounts side by side using profiles:
wallapop auth login --cookies alt.txt --profile alt
wallapop profile list
wallapop profile use alt
wallapop search "bici" --profile alt
for ci, pass WALLAPOP_SESSION_TOKEN in the environment so the cli writes no credentials file to disk:
export WALLAPOP_SESSION_TOKEN="..."
wallapop search "bici" --format jsonl
proxy
set proxy in config.toml or WALLAPOP_PROXY (socks5h://127.0.0.1:1080, http://host:port). all wallapop traffic then goes through it, session renewals included, and if it is unreachable the command fails with exit 6; it never falls back to a direct connection. config.toml is world-readable, so a proxy with credentials goes in WALLAPOP_PROXY only.
wallapop config set proxy socks5h://127.0.0.1:1080
when wallapop's cloudfront blocks a request (its 403 page, or a 429), the command exits 5 and the cli pauses session renewals for 15 minutes so they stop knocking from the same address. wallapop auth service status shows the pause. see session lifecycle and recovery.
updates
wallapop update
wallapop update --check
wallapop update --yes
eligible interactive commands check for a new stable release at most once a day and ask Update? [Y/n]. auth, watch, completion, help, and update are excluded from automatic checks. scripts, MCP, and --no-input never prompt or check automatically. set WALLAPOP_NO_UPDATE_CHECK=1 to disable automatic checks. npm, Homebrew, Scoop, and AUR installs update through their package manager; direct binaries use checksum-verified release archives. development and prerelease builds are not replaced.
auth model
| credential | where it comes from | what it unlocks |
|---|---|---|
| none | search, item show, user *, category list, watches on public data |
|
| session cookie | browser export via auth login |
favorites, own listings, chat, me * |
WALLAPOP_SESSION_TOKEN |
environment, for ci | same as above, never written to disk |
command surface
| command | what it does |
|---|---|
auth login / status / refresh / logout |
import, inspect, renew or forget a managed session |
auth service enable / disable / status / run / stop |
explicitly manage unattended renewal and inspect the bundled engine |
profile list / use / remove |
several accounts side by side |
search [keywords] [--filter k=v]... |
search around your location; search filters lists valid keys |
category list |
category ids |
alert list |
your saved searches on wallapop; watch add search --from-alert ID --name NAME turns one into a watch |
item show / images / open / favorite / unfavorite |
inspect a listing by hash or url |
item reserve / reactivate / sold / delete |
act on your own listings (reactivate relists an expired one; sold, delete ask or need --yes) |
user show / items / reviews |
look at a seller by hash, url or slug |
me show / items / favorites |
your account |
chat list / show / send / start / open / archive |
messaging; open is a live line-mode chat |
watch add search|item|seller |
create a watch (baselines silently, --emit-initial to report what exists) |
watch check / run / events / list / remove |
one-shot check, foreground loop, history |
watch service install / uninstall / status |
systemd user timer or launchd agent running watch check |
sink list / test |
notification targets from config |
config path / get / set / list |
config.toml |
doctor |
checks config, session, api, chat token, schedule |
skills list / get |
embedded docs for agents |
completion bash|zsh|fish|powershell |
shell completion |
global flags: --profile, --format json|jsonl|pretty|toon, --no-color, --error-format text|json, --no-input, --debug.
shell completion
# zsh
wallapop completion zsh > "${fpath[1]}/_wallapop"
# bash
wallapop completion bash > /etc/bash_completion.d/wallapop
# fish
wallapop completion fish > ~/.config/fish/completions/wallapop.fish
# powershell
wallapop completion powershell >> $PROFILE
examples
wallapop search "thinkpad x1" --max-price 400 --sort newest --format pretty
wallapop search --category 100 --filter brand=Toyota --filter max_km=120000 --limit 20
wallapop item show https://es.wallapop.com/item/thinkpad-x1-carbon-1092837465
wallapop item images https://es.wallapop.com/item/thinkpad-x1-carbon-1092837465 --format pretty
wallapop watch add search "thinkpad x1" --max-price 400 --name x1 --notify phone
wallapop watch check --all --format jsonl | jq -r 'select(.type=="item.price_changed") | .item.url'
wallapop watch service install --interval 10m
wallapop chat list --unread --format pretty
wallapop chat start k2j3h4g5f6d7 "Hola, ¿sigue disponible?"
echo "Te lo dejo en 200" | wallapop chat send 8f1c2 -
wallapop chat open 8f1c2
what it looks like
these recordings use public listings. the watch writes only to its isolated local demo database. see the command demo gallery for search, filters, item details, and watch events.
inspect a listing

discover and apply category filters

track changes with a watch
Watches save a Search locally; each Check reports changes.

sinks config
a sink is a few lines of config:
[sinks.phone]
type = "ntfy"
url = "https://ntfy.sh"
topic = "wallapop-deals"
[sinks.discord]
type = "webhook"
url = "https://discord.com/api/webhooks/..."
template = "discord"
[sinks.script]
type = "exec"
command = ["~/bin/on-wallapop-event"] # event json on stdin
exit codes
0 ok, 1 generic, 2 usage, 3 auth, 4 not found, 5 blocked or rate limited, 6 network, 7 wallapop changed its api. stderr carries a prefilled issue link. 130 interrupted.
building from source
git clone https://github.com/Microck/wallapop-cli && cd wallapop-cli
make build # bin/wallapop
make check # vet, staticcheck, tests, gofmt
documentation
full docs live at wallapop.micr.dev/docs. install, the cookie export walkthrough, the command reference generated from the binary, exit codes, sinks, and scheduling. the site source is in docs-site.
- docs/cli-spec.md: the interface contract and every endpoint the cli uses
- CONTEXT.md: vocabulary
- docs/adr: decisions
contributing
issues and pull requests are welcome. when wallapop changes something, the cli prints a prefilled issue link. that is the most useful report you can file.
disclaimer
this is an unofficial client. wallapop has no public api for buyers, and its terms of use prohibit bots, scraping and reverse engineering. the stated remedy is account suspension. use it with an account you are willing to lose, keep the check interval reasonable, and do not use it to spam sellers. not affiliated with wallapop.
license
wallapop-cli MCP 질문
CI/CD 환경에서 사용할 수 있나요?
네, WALLAPOP_SESSION_TOKEN 환경 변수를 전달하면 자격 증명을 디스크에 저장하지 않고 사용할 수 있습니다.
명령어 출력 형식은 무엇인가요?
기본적으로 JSON 형식으로 출력되어 jq와 같은 도구로 파이프 연결하기 쉽습니다. 사람이 읽기 좋은 텍스트를 원하면 --format pretty 옵션을 사용할 수 있습니다.