io.github.whispernight/doormeter
NPM · DOORMETER-MCP
Ask about your DoorMeter rental deals: saved deals, Zillow/Redfin searches, offers, notes.
Available components
Last scanned (22 hours ago)
Scores higher than 31% of npm servers
Category Finance and Payments
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 30 of 93 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency19
- Repository check failed: no source repository is declared. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 0 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability62
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 2006 tokens (~167/item across 12 items; 12 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage87
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 61% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 12 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 12 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 +15
- Malware scan: unverified → pass ▲ security
- 3 Nov 26 46
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Nov 2026 · Analysed npm/doormeter-mcp@1.0.1
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 93 packages
| Packages resolved | 93 |
|---|---|
| Stale | 30 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
analyze_deal ~208
Computes a saved deal again with changes (a what-if) and returns the numbers before and after. Nothing is saved.
| Name | Type | Req | Description |
|---|---|---|---|
| changes | object | – | Edits laid over the deal's own, never saved. Top-level: price, units, rentPerUnit, taxAnnual, insuranceAnnual, hoaMonthly. Groups: assumptions { interestRate (fraction, 0.0725 = 7.25%), downPaymentPc… |
| key | string | yes | A saved deal's key, as list_deals returns it (for example "zillow:12345"). |
| strategy | string | – | Strategy the numbers are computed in: buy-and-hold, house-hack, brrrr or live-in (living in it). |
No output schema declared.
No examples provided.
analyze_home ~188
Computes the numbers for a home that isn't saved, from the inputs given, with DoorMeter's ZIP-based rent, tax and insurance estimates for anything left out. Returns the numbers, or what is missing to compute them.
| Name | Type | Req | Description |
|---|---|---|---|
| baths | number | – | – |
| beds | number | – | – |
| hoaMonthly | number | – | – |
| price | number | yes | – |
| profileId | string | – | A profile id from list_profiles; the active profile when left out. |
| rentPerUnit | number | – | Monthly rent per unit; estimated from the ZIP when left out. |
| sqft | number | – | – |
| strategy | string | – | Strategy the numbers are computed in: buy-and-hold, house-hack, brrrr or live-in (living in it). |
| taxAnnual | number | – | – |
| units | integer | – | – |
| zip | string | yes | Five-digit ZIP code. |
No output schema declared.
No examples provided.
analyze_listing ~179
Opens a Zillow or Redfin listing in a visible tab, reads it exactly like DoorMeter's card (the listing's own HOA, tax, rent and value estimates), computes its numbers with the user's profile (and their saved edits if they saved it), then closes the tab unless keepOpen. Tabs open one at a time, a few seconds apart, without taking focus. Reading a listing counts it as opened (it no longer shows as new in search_results). Use it for homes search_results couldn't compute.
| Name | Type | Req | Description |
|---|---|---|---|
| keepOpen | boolean | – | – |
| strategy | string | – | Strategy the numbers are computed in: buy-and-hold, house-hack, brrrr or live-in (living in it). |
| url | string | yes | A Zillow or Redfin listing URL (one home's page, e.g. a "url" from search_results). |
No output schema declared.
No examples provided.
doormeter_status ~52
Returns whether DoorMeter (the Chrome extension) is connected, the pairing code to show the user when it asks for one, the plan, versions and how many deals and profiles are saved. Call this first.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_deal ~94
Returns one saved deal in full: the page's facts, the user's edits, every computed number, price history and notes.
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | yes | A saved deal's key, as list_deals returns it (for example "zillow:12345"). |
| scoreAs | – | – | "saved" (default) computes each deal in the strategy it was saved in; a strategy name computes every deal in that one. |
No output schema declared.
No examples provided.
list_deals ~211
Returns the user's saved deals, newest first, one line each: address, price, latest price drop, score (0–100), monthly cash flow, cash-on-cash and cap rate (fractions), or for live-in the monthly cost and budget gap, plus status and, when numbers can't be computed, why, and the profile they were computed with. "total" counts all matches before the limit.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | At most this many lines (default 50, max 200). |
| minScore | number | – | Only deals scoring at least this. |
| scoreAs | – | – | "saved" (default) computes each deal in the strategy it was saved in; a strategy name computes every deal in that one. |
| site | string | – | – |
| state | string | – | Two-letter US state, e.g. "OH". |
| status | string | – | watching, offer (offer made) or passed. |
| strategy | string | – | Only deals saved in this strategy. |
No output schema declared.
No examples provided.
list_profiles ~31
Returns the user's assumption profiles (loan, expenses, targets and per-strategy settings) and which one is active.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
max_offer ~297
Computes the highest price that still meets the user's own targets, like the Offer tab on DoorMeter's card: for buy-and-hold per target (cash-on-cash, cash flow, DSCR); house-hack and brrrr likewise; for live-in a suggested range and the most their budget allows. For a saved deal ("key", with optional "changes" like analyze_deal) or a listing "url".
| Name | Type | Req | Description |
|---|---|---|---|
| changes | object | – | Edits laid over the deal's own, never saved. Top-level: price, units, rentPerUnit, taxAnnual, insuranceAnnual, hoaMonthly. Groups: assumptions { interestRate (fraction, 0.0725 = 7.25%), downPaymentPc… |
| key | string | – | A saved deal's key, as list_deals returns it (for example "zillow:12345"). |
| strategy | string | – | Strategy the numbers are computed in: buy-and-hold, house-hack, brrrr or live-in (living in it). |
| url | string | – | A Zillow or Redfin listing URL (one home's page, e.g. a "url" from search_results). |
No output schema declared.
No examples provided.
open_search ~186
Opens a Zillow or Redfin search in a new, visible tab in the user's Chrome and waits (up to 20 s) until DoorMeter has read its homes. Give a search "url", or "site" and a five-digit "zip" with optional price and bed limits. Redfin applies the limits to the search itself; Zillow's search opens without them, so pass the same minPrice, maxPrice and minBeds to search_results. Returns the tab id and how many homes it has. Then call search_results. Calling it again opens another tab.
| Name | Type | Req | Description |
|---|---|---|---|
| maxPrice | number | – | – |
| minBeds | number | – | – |
| minPrice | number | – | – |
| site | string | – | – |
| url | string | – | A Zillow or Redfin search page URL (not a single listing). |
| zip | string | – | Five-digit ZIP code to search. |
No output schema declared.
No examples provided.
save_deal ~143
Saves a Zillow or Redfin listing to the user's DoorMeter deals, exactly as the card's Save button does (read from its page in a tab, with the active profile), optionally with a first note. Saving a home that is already saved refreshes its page facts and keeps its notes, status, the user's edits, profile and strategy (unless "strategy" is given).
| Name | Type | Req | Description |
|---|---|---|---|
| note | string | – | – |
| strategy | string | – | The strategy to save it in; the profile's starting strategy when left out. |
| url | string | yes | A Zillow or Redfin listing URL (one home's page, e.g. a "url" from search_results). |
No output schema declared.
No examples provided.
search_results ~301
Returns every home on an open Zillow or Redfin search tab (the one open_search opened, else the one the user used last), computed with the user's own profile exactly like DoorMeter's search badges: link, address, price, beds, days on market, whether it's new to the user (never opened or saved), score (0–100), cash flow, cash-on-cash and cap rate, or why it can't be computed from the search page. Best score first; "total" counts all matches before the limit.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | At most this many homes (default 50, max 200). |
| maxPrice | number | – | – |
| minBeds | number | – | – |
| minPrice | number | – | – |
| minScore | number | – | Only homes scoring at least this. |
| newOnly | boolean | – | Only homes the user has never opened or saved. |
| scoreAs | – | – | Strategy to compute every home in: buy-and-hold for the user's investor targets (cash-on-cash, cash flow per door, cap rate), live-in for a home to live in against their budget, house-hack or brrrr;… |
| tabId | integer | – | The tab open_search returned; the most recent search tab when left out. |
No output schema declared.
No examples provided.
update_deal ~116
Changes a saved deal's status (watching, offer = offer made, passed) and/or its notes: "appendNote" adds a line; "notes" replaces all of the user's notes, so prefer appendNote unless they asked to rewrite them. It never deletes a deal.
| Name | Type | Req | Description |
|---|---|---|---|
| appendNote | string | – | – |
| key | string | yes | A saved deal's key, as list_deals returns it (for example "zillow:12345"). |
| notes | string | – | – |
| status | string | – | – |
No output schema declared.
No examples provided.
How do I install the io.github.whispernight/doormeter MCP server?
io.github.whispernight/doormeter runs locally as an npm package, launched with npx -y doormeter-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · doormeter-mcp
claude mcp add whispernight-doormeter -- npx -y doormeter-mcp
What is the io.github.whispernight/doormeter MCP server?
io.github.whispernight/doormeter is an MCP server listed in the public MCP registry as io.github.whispernight/doormeter. Ask about your DoorMeter rental deals: saved deals, Zillow/Redfin searches, offers, notes. This page covers its npm package (doormeter-mcp).
Is the io.github.whispernight/doormeter MCP server safe to use?
io.github.whispernight/doormeter scores 61 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 4 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.whispernight/doormeter MCP server expose?
io.github.whispernight/doormeter exposes 12 tools: doormeter_status, list_deals, get_deal, list_profiles, analyze_deal, and 7 more. Their descriptions and schemas cost roughly 2,006 tokens of context every time the server is loaded.
Is the io.github.whispernight/doormeter MCP server still maintained?
io.github.whispernight/doormeter is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.whispernight/doormeter MCP server under?
io.github.whispernight/doormeter declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.