server.json
1 field changed
- version
-
1.1.151.2.0
io.github.chrischall/hemnet-mcp
12 changes recorded. MCP Harbor re-reads this listing from the official registry every six hours and asks the live server what it exposes, and keeps what changed between one look and the next.
https://raw.githubusercontent.com/chrischall/hemnet-mcp/HEAD/AGENTS.md
− # AGENTS.md — hemnet-mcp− Guidance for coding agents working in this repo.− ## TL;DR− MCP server for **hemnet.se**, Sweden's largest property portal. Reads− active for-sale listings, sold prices (*slutpriser*), full listing− detail, photos, and market statistics; resolves place names and street− addresses; and does a local Swedish mortgage calculation. stdio− transport.− **Data access is an anonymous GraphQL fetch with a browser-bridge− fallback.** The queries themselves need no auth — no login, no Hemnet− session — but as of **2026-07-13** Hemnet fronts the whole www.hemnet.se− zone (including `/graphql`) with a **Cloudflare managed challenge**− (`cf-mitigated: challenge`, `_cf_chl_opt` interstitial) that 403s every− non-browser client regardless of headers/User-Agent. Cloudflare− fingerprints the HTTP client itself, so no header set or replayed cookie− durably clears it — the request must ride a real browser session. So the− default transport (`src/transport-fallback.ts`) tries a direct anonymous− `fetch` first and, the moment it gets a `CloudflareChallengeError`,− switches to the **fetchproxy bridge** (`src/transport-fetchproxy.ts`) for− the rest of the process — a same-origin fetch inside the user's own− www.hemnet.se tab (no login needed, just a cleared Cloudflare session).− `HEMNET_TRANSPORT` pins the mode: `direct` (fail hard when walled),− `fetchproxy` (always bridge), `auto` (default fallback). When Hemnet− drops or re-scopes the wall, `auto` transparently rides the direct path− again. This makes hemnet-mcp a fetchproxy member like homes-mcp/redfin,− but **lazily** — the bridge is only built if/when the direct path is− actually walled, and the fetchproxy fleet shares port `37149`− (`HEMNET_WS_PORT`).− **Dual-purpose by design.** hemnet-mcp is both (1) a standalone stdio MCP− server (the `bin`), and (2) an importable library (`import … from− 'hemnet-mcp'`, `src/lib.ts`) so the planned `@chrischall/realty-meta`− orchestrator in realty-mcp can consume Hemnet as one portal source. Keep− that split intact: tools depend on `HemnetClient`, the client returns− normalised records from `src/format.ts`, and nothing tool-specific leaks− into the library surface.− ## Tool surface− All tools are prefixed `hemnet_*`. Every one is read-only− (`readOnlyHint: true`, `idempotentHint: true`); `openWorldHint` is `true`− for the network tools and `false` for `hemnet_calculate_mortgage` (pure− local math).+ CLAUDE.md
Showing the first 40 of each.
https://raw.githubusercontent.com/chrischall/hemnet-mcp/HEAD/AGENTS.md
− ## Pull requests− **Default workflow: branch + PR.** The repo squash-merges, so the **PR− title must be a Conventional Commit** — it becomes the squash subject− release-please parses. Don't run `gh pr merge` yourself:− `pr-auto-review.yml` reviews every PR and arms `ready-to-merge` on a− `pass`/`warn` verdict; `auto-merge.yml` then arms `gh pr merge --auto− --squash`. Only a `fail` blocks (override by adding the label yourself).− Open a PR only when the change is genuinely done — it can auto-merge as− soon as review passes.− **First-party dependency bumps** (`@chrischall/mcp-utils`,− `@chrischall/realty-core`) use `feat:`/`fix:`, not `chore:` — they ship− real changes through us and should drive a release.− ### Auto-review follow-up issues− When a PR's auto-review verdict is `warn` or `fail`, the− `chrischall/workflows` pipeline opens/updates a single− `auto-review-followup` issue and links it from the verdict comment. When− asked to address review findings: read the verdict comment, open the− linked issue, treat its checklist as the work list, check off only what− you've verified fixed, and add `Closes #<issue>` to the PR body when all− items are resolved.+ <!-- pr-workflow:v3 -->+ ## Pull requests & release notes+ Fleet policy — Conventional-Commit PR titles, labels, the auto-review /+ auto-merge ladder, auto-review follow-up issues, PR timing, and release PRs —+ lives in `~/.codex/AGENTS.md`. Don't restate it here; the copies drifted.+ Shared technical conventions (publishing, bundling, versioning guards,+ write-verification, transport archetypes, testing traps) live in+ [`chrischall/workflows`](https://github.com/chrischall/workflows):+ `docs/fleet-conventions.md`, plus `README.md` for the CI pipeline contract.
We can't find the internet
Attempting to reconnect
Something went wrong!
Attempting to reconnect