# MCP server for Dutch rental listings

Let your AI assistant search Dutch rentals itself. The WoningMe MCP server exposes the API as tools, with the same API key, limits and billing as the REST API.

## Connection

 | Setting | Value |
|---|---|
 | URL | `https://woning.me/mcp` |
 | Transport | Streamable HTTP (stateless JSON responses) |
 | Authentication | Your API key as `X-Api-Key: <key>` or `Authorization: Bearer <key>` |
 | Billing and limits | Same as the REST API: an active or trialing subscription, 30 requests per minute, the daily and monthly property-request caps |

## Let your AI set it up

The easiest way: copy this short prompt, paste it into Claude Code, Cursor or another AI tool, and add your API key. The tool sets up the connection itself and runs one test search.

Copy setup prompt [view the prompt](https://woning.me/developer/mcp-setup-prompt.txt)

## Or set it up yourself

### Claude Code

```
claude mcp add --transport http woningme https://woning.me/mcp \
  --header "X-Api-Key: YOUR_API_KEY"
```

### Cursor

Add this to `.cursor/mcp.json` (or your global `mcp.json`):

```
{
  "mcpServers": {
    "woningme": {
      "url": "https://woning.me/mcp",
      "headers": { "X-Api-Key": "YOUR_API_KEY" }
    }
  }
}
```

### Other clients

Clients that only speak local (stdio) MCP can use the `mcp-remote` bridge: `npx mcp-remote https://woning.me/mcp --header "X-Api-Key:YOUR_API_KEY"`. Any client that supports remote HTTP servers with custom headers works with the URL and header above.

## Tools

 | Tool | What it does |
|---|---|
 | `search_rentals` | Search current listings by city, radius, price, rooms, surface, type, segment and date. Paged with a cursor. Read-only, needs no setup. |
 | `list_saved_searches` | List the saved searches of the account. |
 | `create_saved_search` | Create a saved search (max 10). New matches go to the webhook. |
 | `delete_saved_search` | Delete a saved search. Marked destructive, so clients ask for confirmation. |
 | `get_saved_search_listings` | Listings that match one saved search. |
 | `get_webhook`, `set_webhook`, `test_webhook` | Show, set and test the URL that receives new listings. |

## What a conversation looks like

You: "Show me the newest social housing rentals in Rotterdam."
The assistant calls `search_rentals` with `city: "Rotterdam"` and `segments: ["social"]` and answers with a short list and links to the original listings.

You: "Tell me when something under 1400 euro with 2 rooms shows up in Utrecht."
The assistant creates a saved search and asks where your webhook should point.

## Notes

- Rent is returned in euro cents (`priceEurCents`); filters take whole euros. The server tells the assistant this in its instructions.
- Results leave out empty fields and default to 10 listings per call to keep the assistant's context small. Ask for up to 50.
- Tool errors come back as results with a hint, so the assistant can correct itself.
- The same [filters and fields](https://woning.me/developer/rental-listings-api) apply as in the REST API, and the same rule: the Personal plan is for non-commercial use, and [collaboration](https://woning.me/en/collaborate) covers anything else.

Source: https://woning.me/developer/mcp-server (part of the WoningMe Developer API, https://woning.me/developer)
