kamernet-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KAMERNET_EMAIL | No | Enables authenticated tools. | |
| KAMERNET_PASSWORD | No | Enables authenticated tools. | |
| KAMERNET_USER_AGENT | No | Identifies this tool to Kamernet, with a link to this repo. | |
| KAMERNET_REQUEST_DELAY | No | Minimum seconds between requests to kamernet.nl. Values below 1.0 are ignored. | 1.0 |
| KAMERNET_MAX_REPLIES_PER_SESSION | No | Hard cap on automated replies per server session. | 50 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_listingsA | Search rental listings on Kamernet.nl (rooms, studios and apartments in the Netherlands). Returns one page of listing summaries with price (euros/month), surface (m²), availability dates and a canonical URL per listing. Use get_listing with that URL for the full description, deposit, landlord stats and photos. Sponsored "top ads" are returned separately — they match the city but not necessarily the other filters. |
| get_listingA | Get the full details of one Kamernet listing. Includes the complete description in English and Dutch, rent and deposit, energy label, registration ('inschrijving') possibility, landlord statistics (member since, response rate, verification badges) and photo URLs. |
| get_new_listingsA | Check for listings that appeared since a given moment (stateless monitoring). Sorts by newest and filters client-side on the availability publish window, so an agent can poll this periodically ("any new rooms since my last check?") without the server keeping state. Remember the timestamp you pass and advance it on each call. Do not poll more often than every few minutes — be polite. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| score-listing | Score a Kamernet listing 0-100 against a weighted rubric (price, location, quality, privacy, long-term fit) with bilingual deal-breaker detection. Pass the JSON returned by get_listing. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| filter_reference | Reference of all supported search filters and their valid values. |
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: search_listings for finding listings, get_listing for details of a specific listing, and get_new_listings for monitoring new listings. There is no overlap or ambiguity.
All tools follow a consistent verb_noun pattern with camelCase (get_listing, get_new_listings, search_listings). The naming is predictable and easy to understand.
With 3 tools, the server is well-scoped for its purpose of browsing and monitoring rental listings. Each tool is necessary and none are extraneous.
The tool set covers search, detail retrieval, and monitoring new listings, which are the core operations for a listing viewer. A minor gap is the lack of a separate tool for listing available cities or filter options, but search_listings likely handles filters adequately.