# willmehr (npm · willmehr)

Search willhaben.at for second-hand listings and rank the underpriced ones

- Trust score: 78/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-20

## Components

- npm · `willmehr`: 78/100 (this document), [markdown](https://verifymcp.io/servers/taneron-willmehr/willmehr.md), [page](https://verifymcp.io/servers/taneron-willmehr/willmehr)

## Channel facts

- Registry: `npm`
- Package: `willmehr`
- Version: `0.1.0`
- Transport: `stdio`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-20.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 31 of 107 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 18 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 71/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1239 tokens (~154/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 63/100
  - Stability observed for 19 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 8 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 9 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the willmehr MCP server?

willmehr runs locally as an npm package, launched with npx -y willmehr. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add taneron-willmehr -- npx -y willmehr
```

### Cursor

```json
{
  "mcpServers": {
    "taneron-willmehr": {
      "command": "npx",
      "args": [
        "-y",
        "willmehr"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "taneron-willmehr": {
      "command": "npx",
      "args": [
        "-y",
        "willmehr"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add taneron-willmehr -- npx -y willmehr
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "taneron-willmehr": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "willmehr"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add taneron-willmehr --command npx --arg -y --arg willmehr
```

### Hermes

```yaml
mcp_servers:
  taneron-willmehr:
    command: "npx"
    args: ["-y", "willmehr"]
```

### Netclaw

```json
{
  "McpServers": {
    "taneron-willmehr": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "willmehr"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add taneron-willmehr -t stdio -c npx -a -y willmehr
```

### Other

```json
{
  "mcpServers": {
    "taneron-willmehr": {
      "command": "npx",
      "args": [
        "-y",
        "willmehr"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-19 (score 78, +1)

No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-17 (score 77, +1)

No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-15 (score 76, +1)

No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-13 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-11 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-10 (score 73, +4)

- [functional improvement] Stability: unverified → 0.30

### 2026-09-01 (score 69)

First indexed and scored.

## MCP tools (8)

### `willhaben_search` (~258 tokens)

Search willhaben listings

Search the willhaben.at marketplace (Kaufen & Verkaufen). Returns normalized listings with price, location, seller type and timestamps. Use this for ordinary lookups; use willhaben_find_deals when the goal is to spot underpriced items.

Input parameters:

- `categoryId` (integer): Category id (ATTRIBUTE_TREE). Use willhaben_discover_filters to find one.
- `condition` (array): Item condition; multiple values are OR-ed
- `keyword` (string): Free-text search, e.g. 'thinkpad t480'
- `limit` (integer): How many listings to return; pages automatically. Default 30.
- `payliveryOnly` (boolean): Only ads with buyer protection and shipping (PayLivery)
- `priceFrom` (integer): Minimum price in EUR
- `priceTo` (integer): Maximum price in EUR
- `publishedWithinDays` (integer): Only ads newer than N days
- `sellerType` (string): Private sellers are usually where the bargains are
- `sort` (string): Result ordering; defaults to newest
- `states` (array): Austrian states to restrict to
- `treeAttributes` (array): Extra facet ids (brand, size, ...) from willhaben_discover_filters

### `willhaben_get_ad` (~85 tokens)

Get full ad detail

Fetch the complete detail for one ad: full description text, all images, exact location, seller trust signals (member since, active ad count) and category-specific attributes. Accepts an ad id, a willhaben URL, or a seopath.

Input parameters:

- `ad` (string, required): Ad id (e.g. '1853265735') or full willhaben ad URL

### `willhaben_find_deals` (~392 tokens)

Find underpriced listings

Sample the market for a query, build a price distribution, and return the listings priced furthest below the median. Each result carries its discount, price percentile, age in hours, and a flag for prices so low they suggest a placeholder or scam. This is the main tool for sale hunting.

IMPORTANT: the median is only meaningful if the query describes ONE kind of item. willhaben's keyword matching is loose, so a broad query like 'thinkpad' mixes laptops with chargers and docks and the resulting 'discounts' are meaningless. Narrow the query with categoryId (from willhaben_discover_filters), a specific model, and a priceFrom floor before trusting the ranking.

Input parameters:

- `categoryId` (integer): Category id (ATTRIBUTE_TREE). Use willhaben_discover_filters to find one.
- `condition` (array): Item condition; multiple values are OR-ed
- `keyword` (string): Free-text search, e.g. 'thinkpad t480'
- `maxAgeHours` (number): Only listings published within this many hours — use for sniping
- `maxResults` (integer): Cap on deals returned
- `minDiscount` (number): Minimum fraction below median to qualify. Default 0.25.
- `payliveryOnly` (boolean): Only ads with buyer protection and shipping (PayLivery)
- `priceFrom` (integer): Minimum price in EUR
- `priceTo` (integer): Maximum price in EUR
- `publishedWithinDays` (integer): Only ads newer than N days
- `sampleLimit` (integer): Listings to sample before ranking. Default 200; more is steadier but slower.
- `sellerType` (string): Private sellers are usually where the bargains are
- `states` (array): Austrian states to restrict to
- `treeAttributes` (array): Extra facet ids (brand, size, ...) from willhaben_discover_filters

### `willhaben_discover_filters` (~238 tokens)

Discover available filters and category ids

Return the filter dimensions willhaben offers for a given query, with the opaque numeric ids each value maps to and a hit count per value. Category, brand and size filters only appear once a query is narrow enough to imply a category, so call this before filtering on categoryId or treeAttributes.

Input parameters:

- `categoryId` (integer): Category id (ATTRIBUTE_TREE). Use willhaben_discover_filters to find one.
- `condition` (array): Item condition; multiple values are OR-ed
- `keyword` (string): Free-text search, e.g. 'thinkpad t480'
- `payliveryOnly` (boolean): Only ads with buyer protection and shipping (PayLivery)
- `priceFrom` (integer): Minimum price in EUR
- `priceTo` (integer): Maximum price in EUR
- `publishedWithinDays` (integer): Only ads newer than N days
- `sellerType` (string): Private sellers are usually where the bargains are
- `states` (array): Austrian states to restrict to
- `treeAttributes` (array): Extra facet ids (brand, size, ...) from willhaben_discover_filters

### `willhaben_my_profile` (~42 tokens)

Get my willhaben profile

Return the logged-in account's profile. Requires WILLHABEN_COOKIE. Also the way to get the numeric user id that willhaben_my_watchlist needs.

### `willhaben_my_watchlist` (~45 tokens)

List my saved ads

Return the ads saved to the account's watchlist. Requires WILLHABEN_COOKIE.

Input parameters:

- `userId` (string, required): Numeric user id from willhaben_my_profile

### `willhaben_my_conversations` (~39 tokens)

List my chat conversations

Return recent buyer/seller conversations with their last message. Requires WILLHABEN_COOKIE.

Input parameters:

- `limit` (integer): Default 20

### `willhaben_my_alert_count` (~26 tokens)

Count my active search alerts

Number of saved searches with alerts enabled. Requires WILLHABEN_COOKIE.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/taneron-willmehr/willmehr#diagnostics

## Score history

- 2026-09-20: 78
- 2026-09-19: 78
- 2026-09-18: 77
- 2026-09-17: 77
- 2026-09-16: 76
- 2026-09-15: 76
- 2026-09-14: 75
- 2026-09-13: 75
- 2026-09-12: 74
- 2026-09-11: 74
- 2026-09-10: 73
- 2026-09-09: 69
- 2026-09-08: 69
- 2026-09-07: 69
- 2026-09-06: 69
- 2026-09-05: 69
- 2026-09-04: 69
- 2026-09-03: 69
- 2026-09-02: 69
- 2026-09-01: 69

## Common questions

### What is the willmehr MCP server?

willmehr is an MCP server listed in the public MCP registry as io.github.taneron/willmehr. Search willhaben.at for second-hand listings and rank the underpriced ones. This page covers its npm package (willmehr).

### Is the willmehr MCP server safe to use?

willmehr scores 78 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 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 willmehr MCP server expose?

willmehr exposes 8 tools: willhaben_search, willhaben_get_ad, willhaben_find_deals, willhaben_discover_filters, willhaben_my_profile, and 3 more. Their descriptions and schemas cost roughly 1,125 tokens of context every time the server is loaded.

### Is the willmehr MCP server still maintained?

willmehr is still listed as active in the MCP registry. We last reached this channel on 20 September 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 willmehr MCP server under?

willmehr declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/willmehr
- Socket report: https://socket.dev/npm/package/willmehr
- Repository: https://github.com/taneron/willmehr
- Changelog RSS feed: https://verifymcp.io/servers/taneron-willmehr/willmehr.xml
- Changelog JSON feed: https://verifymcp.io/servers/taneron-willmehr/willmehr.json
- HTML version of this page: https://verifymcp.io/servers/taneron-willmehr/willmehr
