# hemnet-mcp [Health: Active]

**Category:** 🏠 Real Estate  
**Repository:** https://github.com/chrischall/hemnet-mcp  
**GitHub Stars:** 1  
**npm Downloads (last month):** 3585  
**Views:** 2  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/hemnet-mcp

## Description
Hemnet.se real estate for Claude: search, sold prices, listings & market stats

## Tools
Capabilities this server exposes over MCP:

- **hemnet_autocomplete_location** — Look up Hemnet location ids for a free-text place name (municipality, district, or area). Returns ranked hits with `location_id`, `full_name`, and `parent_full_name`. Feed a `location_id` into hemnet_search_listings / hemnet_search_sold. Read-only.
- **hemnet_search_listings** — Search active for-sale property listings on hemnet.se by location and optional filters (price band in SEK, rooms, living area in m², property-type groups, keywords). Returns listing summaries with price, fee, m², rooms, price-per-m², and coordinates. Provide `location_ids` (from hemnet_autocomplete_location) or a free-text `location`. Read-only.
- **hemnet_get_listing** — Fetch the full detail of a single active for-sale listing by its Hemnet id or a /bostad/ URL. Returns price, monthly fee, yearly running costs, living/land area in m², rooms, tenure, construction year, energy class, broker, description, status labels, coordinates, and gallery photo URLs. For a SOLD listing use hemnet_get_sold_listing instead. Read-only.
- **hemnet_get_listing_photos** — Return the gallery photo URLs for an active for-sale Hemnet listing by id or /bostad/ URL. Read-only.
- **hemnet_search_sold** — Search SOLD property listings ("slutpriser") on hemnet.se by location and optional filters. Each result carries the achieved final price, the asking price, and the over/under-asking percentage — the core comps signal for valuation. Provide `location_ids` (from hemnet_autocomplete_location) or a free-text `location`. Read-only.
- **hemnet_get_sold_listing** — Fetch the full detail of a single SOLD listing by its Hemnet id or a /salda/ URL. Returns final price, asking price, price change, m², rooms, tenure, broker, and coordinates. Read-only.
- **hemnet_compare_listings** — Fetch and normalise multiple active for-sale Hemnet listings at once (by id or /bostad/ URL) for side-by-side comparison. Up to 20 targets; input order preserved; per-row errors captured. Read-only.
- **hemnet_get_by_address** — Resolve a free-text Swedish street address to a live Hemnet for-sale listing. Give the `address` (street + number) and a `location` (city/area/municipality). Returns the matched listing with a `matched: true`, the match `score`, and `matched_via`, or `{ resolved: false }` when nothing matches. Scans up to 500 listings in the location; a miss with `truncated: true` is not definitive — pass price_min/price_max or a smaller location to narrow it. Read-only.
- **hemnet_get_market_stats** — Aggregate median/average statistics from recent SOLD listings for a location (and optional property-type/size filters): median & average final price, median & average price-per-m², and average over/under-asking percentage. The stats cover the most recent `max_sales` sales (default 200, max 500), not necessarily every match — compare `sampled_sales` with `total_matching_sales`. Provide `location_ids` or a free-text `location`. Read-only.
- **hemnet_calculate_mortgage** — Local-only Swedish mortgage calculator (all amounts SEK). Returns the monthly cost broken into interest, mandated amortisation (amorteringskrav from LTV, rules as of 1 April 2026), BRF fee (avgift), and operating cost — with both gross and after-tax (ränteavdrag) totals. Provide `down_payment` OR `down_payment_percent` (defaults to the legal 10% minimum). No network call.
- **hemnet_healthcheck** — Round-trips a small public www.hemnet.se URL (/graphql) through ContextMint Bridge (your signed-in browser tab) and returns diagnostics: the bridge's role (host/peer/null), port, version, the extension link (linked / pair pending / not attached / never answered), the elapsed round-trip time, and a plain-English hint distinguishing 'bridge never came up' from 'extension not connected' from 'this browser can't serve a capability' from 'real www.hemnet.se-side problem'. Read-only, no auth required. Call this when a real tool fails and you want to know which hop broke.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "hemnet-mcp": {
    "command": "npx",
    "args": ["-y","hemnet-mcp"]
  }
}
```

## Documentation

## What hemnet-mcp does

The hemnet-mcp MCP server exposes Hemnet.se property data through MCP tools for AI applications. It belongs in the Real Estate category and is focused on read-only research rather than listing creation, account management, or transaction workflows.

Location autocomplete returns Hemnet identifiers for municipalities, districts, and areas. Those identifiers can then drive searches for active listings or sold properties. Active-listing results include values such as price, monthly fee, living area, rooms, price per square metre, and coordinates. Sold results include the final sale price, asking price, and the percentage above or below asking price.

Individual active and sold listings can be fetched by Hemnet ID or URL. The active detail response includes costs, property characteristics, tenure, construction year, energy class, broker information, description, coordinates, and photo URLs. Multiple active listings can also be normalised for comparison, with up to 20 targets in one request.

## How it works

The server reads Hemnet's public GraphQL API and returns numeric values in SEK and square metres, alongside formatted values from Hemnet. Search tools accept either a free-text location or location IDs returned by autocomplete. Address resolution scans active listings in a specified Swedish location and reports whether the match was found, its score, and the matching method.

Market statistics are calculated from recent sold listings. The response includes median and average final price, median and average price per square metre, and average over- or under-asking percentage. The sample is limited by `max_sales`, which defaults to 200 and cannot exceed 500, so callers should compare sampled and total matching counts.

The mortgage tool runs locally. It calculates monthly interest, required amortisation under Swedish rules as of 1 April 2026, BRF fee, operating cost, and gross and after-tax totals. Inputs use SEK, and either a down-payment amount or percentage can be supplied.

## Setup and configuration

Install from npm with `npx hemnet-mcp`, or build from source with `npm install`, `npm run build`, and `node dist/index.js`. Claude Desktop and Claude Code can start it as a standard stdio MCP process. No Hemnet login, API key, or other required configuration is described.

When direct requests encounter a Cloudflare challenge, the default automatic transport can use ContextMint Bridge through a `www.hemnet.se` tab. The extension currently requires Chrome; Safari is not available. Pairing the extension is an optional fallback, not part of the normal no-configuration path.

## Tools and capabilities

- Resolve location names to Hemnet IDs.
- Search active and sold properties with location, price, room, size, property-type, and keyword filters.
- Retrieve full listing data, sold details, or gallery photo URLs.
- Compare up to 20 active listings while preserving input order and recording row-level errors.
- Resolve Swedish street addresses to active listings.
- Aggregate recent sold-market statistics.
- Calculate Swedish mortgage costs locally.
- Diagnose transport, bridge, extension, and Hemnet endpoint failures with a health check.

## Limitations and notes

The hemnet-mcp tools are read-only for Hemnet data. Address scans cover up to 500 listings; an unsuccessful result marked as truncated is not definitive and may require a smaller location or price range. Market statistics cover a recent sample rather than every matching sale.

The server is maintained with AI assistance and reads Hemnet through its public GraphQL interface. Users should operate it within Hemnet's terms of service. The mortgage calculation reflects the stated Swedish amortisation rules and supplied inputs; it is not a lender decision or financial approval.

The package is also importable as a library. Its exports include a Hemnet client, normalised record types, market-statistics and mortgage derivations, URL and money helpers, and a registrar for adding the tools to another MCP server.

_Full upstream README: https://allmcps.com/mcp/hemnet-mcp/readme_

