# MyFlohmarkt MCP server

Search flea market events in Germany by text, city or postal code, date range,
and radius. Retrieve public market details and recently updated events, with
links to the corresponding pages on [MyFlohmarkt](https://my-flohmarkt.de/).
The catalogue covers Flohmarkt, Troedelmarkt, Hofflohmarkt, Kinderflohmarkt,
Antikmarkt, and related local market dates. Event content is primarily German.

## Connect

- Server URL: `https://mcp.my-flohmarkt.de/mcp`
- Transport: MCP Streamable HTTP over HTTPS.
- Authentication: none; no account, API key, or OAuth setup required.
- Access: public and read-only. No local server installation is required.

In an MCP client supporting remote Streamable HTTP servers, add a remote server
named `MyFlohmarkt` and enter the server URL above. Use the client's MCP connection
flow to initialize the session and discover tools with `tools/list`. The endpoint
is a protocol endpoint, not a documentation page to open in a browser.

## Tools

| Tool                      | Purpose                                                               | Arguments                                                                          |
| ------------------------- | --------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| `search_events`           | Find markets matching a place, date window, or search text.           | Optional `query`, `city`, `dateFrom`, `dateTo`, `lat`, `lng`, `radiusKm`, `limit`. |
| `get_event`               | Read the public details of a particular market.                       | Required `id`: the UUID returned by another tool.                                  |
| `recently_updated_events` | List the most recently added or updated markets, newest change first. | Optional `limit`.                                                                  |

### Search parameters

- `query`: search text, maximum 200 characters. Use the separate location and
  date arguments for place and time constraints.
- `city`: city name or German postal code (PLZ), maximum 100 characters.
- `dateFrom`, `dateTo`: dates in `YYYY-MM-DD` format.
- `lat`, `lng`, `radiusKm`: supply all three together for radius search.
  Latitude ranges from -90 to 90, longitude from -180 to 180, radius from 1 to 100 km.
- `limit`: integer from 1 to 50; defaults to 10. Also applies to
  `recently_updated_events`.

### Example tool arguments

Find up to five markets in Berlin:

Tool: `search_events`

```json
{ "city": "Berlin", "limit": 5 }
```

Search within 25 km of central Munich:

Tool: `search_events`

```json
{ "lat": 48.1372, "lng": 11.5756, "radiusKm": 25, "limit": 10 }
```

For a weekend request, calculate the requested dates and add `dateFrom` and
`dateTo`. For prices, the street address, or a fuller description, call
`get_event` with an actual `id` from the search results. Optional details can be
missing; do not interpret a missing entrance fee as free admission.

To see recent catalogue changes, call `recently_updated_events` with
`{ "limit": 5 }`. This orders by catalogue changes, not by the event date.

## Results, freshness and limits

- Search results contain `items`, `total`, `totalIsLowerBound`, and, when
  available, `dataAsOf`. Items include the ID, title, date, location, and a
  public `url`; other available fields include opening times and market type.
- `get_event` returns `event` with available public details, including address,
  description, and fee information. Unknown or non-public IDs return
  `{ "error": "not_found" }`.
- Data is served from a periodically refreshed catalogue snapshot. `dataAsOf`
  indicates the snapshot's data timestamp, not when every organizer last
  confirmed an event. Changes and cancellations may not be reflected immediately.
- Responses are limited to 50 events and do not support offset pagination.
  If `totalIsLowerBound` is true, `total` is a lower bound, not a complete count.
  Narrow searches by location and dates; this service is not a bulk export API.
- Respect rate limits and any `Retry-After` header. An unavailable service or
  a tool error does not mean that no markets exist.
- Cite each result's `url` when recommending a specific market. Check the
  event page and linked source for relevant updates before making travel plans.
- The tools cannot create markets, book stands, register sellers, or modify accounts.

## REST access and further documentation

Clients without MCP can use
`GET https://mcp.my-flohmarkt.de/events/search?city=Berlin&limit=5`.
The REST search accepts `query` (alias `q`), `city`, `dateFrom`, `dateTo`,
`lat`, `lng`, `radiusKm`, and `limit`. The `q` alias belongs to REST;
use `query` in MCP tool arguments.

- [REST OpenAPI contract](https://my-flohmarkt.de/openapi.json)
- [Compact LLM index](https://my-flohmarkt.de/llms.txt)
- [Full website context](https://my-flohmarkt.de/llms-full.txt)
- [Catalogue methodology](https://my-flohmarkt.de/datenstand)
- [Contact](mailto:kontakt@my-flohmarkt.de)
