No description
- Rust 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| src | ||
| tests/fixtures | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| README.md | ||
leboncoin-mcp
Serveur MCP en Rust (SDK rmcp, transport stdio) pour rechercher des annonces sur Leboncoin.
Outils
| Outil | Description |
|---|---|
search_ads |
Recherche par mots-clés, avec filtres optionnels : category, city, zipcode, price_min, price_max, limit (10 par défaut, 35 max), sort (time ou price) |
get_ad |
Détail d'une annonce à partir de son id ou de son URL |
Build
cargo build --release
cargo test
Test interactif avec l'inspecteur MCP :
npx @modelcontextprotocol/inspector ./target/release/leboncoin-mcp
Configuration (Cursor / Claude Desktop)
Dans ~/.cursor/mcp.json :
{
"mcpServers": {
"leboncoin": {
"command": "/chemin/vers/LeBonCoin-MCP/target/release/leboncoin-mcp",
"env": { "LBC_COOKIE": "" }
}
}
}
Variables d'environnement :
LBC_COOKIE(optionnelle) : valeur du cookiedatadome(ou en-têteCookiecomplet) copiée depuis un navigateur connecté à leboncoin.fr.RUST_LOG: niveau de logs (infopar défaut), écrits sur stderr.
Anti-bot
Leboncoin n'a pas d'API publique. Ce serveur utilise l'API interne du site (api.leboncoin.fr), protégée par DataDome. Les requêtes sans cookie valide sont souvent refusées (HTTP 403) : l'outil renvoie alors une erreur explicite. Pour la contourner :
- Ouvrir leboncoin.fr dans un navigateur et faire une recherche.
- DevTools > Application > Cookies >
datadome: copier la valeur. - La renseigner dans
LBC_COOKIE, puis redémarrer le serveur.
Le cookie expire au bout d'un moment : il faut alors le renouveler.
Limites
- Usage personnel uniquement : l'extraction automatisée est encadrée par les CGU de Leboncoin.
- Le serveur espace les requêtes d'au moins 1 seconde.
- L'API n'est pas documentée et peut changer sans préavis.