plugin_rooftop-park4night-searcher_rooftop_tools_park4night_search
by EvKoh
README.md
# Rooftop park4night Searcher
**Unofficial.** An on-demand [park4night](https://park4night.com) search around a point, published as
one MCP tool on [TREK](https://github.com/liketrek/TREK)'s MCP server, for travellers with a rooftop
tent: campsites, farms and private pitches only, with rating, reviews, services and a link to each
place page. Not affiliated with or endorsed by park4night.

## What it does
- One tool, `rooftop_tools_park4night_search` (advertised as
`plugin_rooftop-park4night-searcher_rooftop_tools_park4night_search`): give a point and a radius,
get the nearby campsites (`C`), farms (`F`) and private pitches (`EP`). Motorhome areas, car parks
and nature spots are never returned — an opened rooftop tent is camping there.
- Filters: kinds, dog accepted (the place lists dogs among its services), minimum rating, maximum
price. park4night's list rarely carries a price: `priceHint` is read from the description when it
quotes one, and the price filter only drops places whose quoted price is higher.
- Few fields, nothing else: name, kind, coordinates, distance, rating, number of reviews, services,
price hint, link to the place page. Descriptions, photos and reviews stay on park4night.
- **Nothing is stored or cached.** Each call asks park4night and forgets the answer.
- **Rate-limited** in the plugin: one request every 3 seconds, at most 20 per hour.
- The same search is exposed to other plugins as `search` (`capabilities.provides`). It is not a
dependency of [rooftop-planner-plugin](https://github.com/EvKoh/rooftop-planner-plugin): TREK has
no optional dependencies, so the planner's `rooftop_tools_find_nights` tells the assistant to call
this tool too when it is installed.
**Unofficial API, may change without notice.** The endpoint
(`GET https://park4night.com/api/places/around`, answer encoded in base64) is the one park4night's
own web map uses; it is undocumented. If it changes, the tool fails with a readable error instead
of returning wrong data.
Assistants are reminded in the tool description: never book, pay or message a host without the
user's explicit validation, and verify price, season, rooftop-tent acceptance and recent reviews on
the place page.
## Screenshots
`docs/screenshot.png` shows an example answer of the tool (fictional places): the plugin has no user
interface of its own, an assistant calls it.
## Permissions
| Permission | Why |
|---|---|
| `mcp:tools` | Publishes the `rooftop_tools_park4night_search` tool on TREK's MCP server. |
| `http:outbound:park4night.com` | The search itself: one request to park4night per call. Only the point, radius and language are sent — nothing about the trip or the user. |
No database permission: the plugin keeps nothing.
## Setup
1. Install it (Admin → Plugins) and approve its two permissions. There are no settings.
2. Give your MCP client the `plugins:use` scope and ask your assistant for campsites near a place.
### Development
```bash
npm install
npm test # fictional answers, no network
npm run coverage
npm run sync-manifest
npm run validate && npm run pack
```
## Contributing
See [CONTRIBUTING.md](./CONTRIBUTING.md).
## License
MIT — see [LICENSE](./LICENSE). park4night data belongs to park4night.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues