Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

dev.crelvo/german-tax-data

REMOTE · DATA.CRELVO.DEV · SCANNED AUG 3

German municipal tax data (Hundesteuer, Zweitwohnungsteuer, Pfaendung), cited to the source

Available components

+4 this week 71 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability88
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Tool/resource definitions use about 911 tokens (~75/item across 12 items; 9 tools + 3 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage92
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 75% of tool parameters carry a description.Partial
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · data.crelvo.dev

# add to Claude Code
claude mcp add --transport http dev-crelvo-german-tax-data https://data.crelvo.dev/mcp
# ~/.codex/config.toml
[mcp_servers.dev-crelvo-german-tax-data]
url = "https://data.crelvo.dev/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dev-crelvo-german-tax-data": {
      "type": "remote",
      "url": "https://data.crelvo.dev/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add dev-crelvo-german-tax-data --url https://data.crelvo.dev/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  dev-crelvo-german-tax-data:
    url: "https://data.crelvo.dev/mcp"
// mcp.json
{
  "mcpServers": {
    "dev-crelvo-german-tax-data": {
      "type": "http",
      "url": "https://data.crelvo.dev/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

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.

  • 3 Aug 26 +1

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

  • 31 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +1

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

  • 28 Jul 26 +1

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

  • 27 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 67

    First indexed and scored.

Diagnostics

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 3 Aug 2026 · Probed https://data.crelvo.dev/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=data.crelvo.dev CN=YE1,O=Let's Encrypt,C=US 5 Jul 2026 3 Oct 2026 ECDSA 256 ECDSA-SHA384 51f6cd95247ac8af9a7b05fa232ae230c76
SANs: data.crelvo.dev
CN=YE1,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 5ddd70dd31f801c85c186a7a04b80afe
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd
DNSSEC insecure

Validation of data.crelvo.dev. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
dev. present 60074 8 Verified
crelvo.dev. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains
x-content-type-options nosniff
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://data.crelvo.dev/mcp Verified 200
http (plaintext) http://data.crelvo.dev/mcp HTTPS enforced 301 https://data.crelvo.dev/mcp
MCP tools — 9 exposed · ~789 tokens

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.

Tool Tokens
hundesteuer_by_state ~78

Average German dog tax (Hundesteuer, first dog per year) per Bundesland (federal state), aggregated over the covered largest cities — the data behind the Deutschlandkarte. Answers 'which German state has the highest/lowest dog tax'. Note: a mean over cities, not an official state rate (the tax is municipal).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

hundesteuer_lookup ~139

Look up the German dog tax (Hundesteuer) for a city: annual rate for one or more dogs, listed-dog (Listenhund) surcharge, the city's pricing model, its rank among the largest cities, plus the official source and Stand. Rates verified against each municipal Satzung.

NameTypeReqDescription
citystringyesCity name or slug, e.g. "Köln", "muenchen", "Frankfurt"
dogsintegerNumber of dogs (default 1)
listedbooleanTreat as a listed/dangerous-breed dog (Listenhund) if the city has a higher rate

No output schema declared.

No examples provided.

hundesteuer_ranking ~59

Ranking of German cities by Hundesteuer (first dog, per year): most expensive or cheapest, plus the national average across the covered cities.

NameTypeReqDescription
limitintegerHow many cities to return
orderstring

No output schema declared.

No examples provided.

list_datasets ~54

List the available hand-verified German municipal tax/fee datasets (Hundesteuer, Zweitwohnungsteuer, Pfändung), their coverage, source sites and refresh cadence. Call this first to see what you can query.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

pfaendung_calc ~107

Compute the attachable portion of monthly net income under German §850c ZPO (Pfändung / wage garnishment), using the current official Pfändungsfreigrenzenbekanntmachung. Returns attachable amount, remaining amount, exempt base and the P-Konto base. Informational, not legal advice.

NameTypeReqDescription
dependentsintegerNumber of maintenance-dependent persons (0-5)
net_income_eurnumberyesMonthly NET income in EUR

No output schema declared.

No examples provided.

zweitwohnungsteuer_by_state ~84

Average German second-home tax (Zweitwohnungsteuer) rate in percent per Bundesland (federal state), aggregated over the levying cities with a computable rate — the data behind the Deutschlandkarte. Answers 'which German state has the highest/lowest second-home tax'. Note: a mean over cities, not an official state rate (the tax is municipal).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

zweitwohnungsteuer_changes ~63

List German cities that changed (raised or newly introduced) their Zweitwohnungsteuer in a given year — the fresh-news angle. Defaults to 2026 (Stuttgart, Chemnitz, Heidelberg doubled to 20%, etc.).

NameTypeReqDescription
yearinteger

No output schema declared.

No examples provided.

zweitwohnungsteuer_lookup ~139

Look up the German second-home tax (Zweitwohnungsteuer) for a city: whether the city levies it, the rate and its basis (net cold rent etc.), the rank among cities, official source and Stand. Optionally pass a monthly cold rent to get the annual tax. Returns state = keine_steuer | berechenbar | sondermodell.

NameTypeReqDescription
citystringyesCity name or slug, e.g. "Stuttgart", "muenchen", "Konstanz"
monthly_rentMonthly cold rent (Kaltmiete) in EUR, to compute the annual tax (only for computable cities)

No output schema declared.

No examples provided.

zweitwohnungsteuer_ranking ~66

Ranking of German cities by Zweitwohnungsteuer rate: highest or lowest, plus the average, count with a computable rate, and count of cities with no second-home tax.

NameTypeReqDescription
limitintegerHow many cities to return
orderstring

No output schema declared.

No examples provided.