Skip to content

io.github.physics-star-cat/databutler

by physics-star-cat · remote · no sign-in to list tools · v1.0.0 · published by GitHub user physics-star-cat

Verified facts for AI agents: rates, exams, recalls, holidays, and what changed since your cutoff.

Final · 1Changes · 7

11 tools: 1 do something that can't be undone, 7 change things and 3 only read.

Scanned Oct 21, 2026

3 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http databutler https://databutler.dev/api/mcp

Findings

Matches of fixed checks, with the text they matched.

2 warn1 info
  • The server marks "take_home_pay" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "take_home_pay" says "pay": a word that usually means money moves, which cannot be taken back.

    What this check looks for
  • Warncall

    The server marks "call" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "call" says "call": a word for a change.

    What this check looks for
  • Infocall

    The description is 2,163 characters long, over the 2,000 this check looks for.

    Matched text

    description ends: "...ee catalogue for schemas. The result carries the inner tool's freshness and cite."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

11 tools

Can't be undone 1Claude Code: ask
  • take_home_payNet salary after income tax and social contributions for an employee in one of ten countries (uk, us, ca, au, in, br, pl, fr, de, es), computed live by the LifeByNumbers salary cal…1 finding

    Why it is in this group

    • The name "take_home_pay" says "pay": a word that usually means money moves, which cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "take_home_pay" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "take_home_pay" says "pay": a word that usually means money moves, which cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    Net salary after income tax and social contributions for an employee in one of ten countries (uk, us, ca, au, in, br, pl, fr, de, es), computed live by the LifeByNumbers salary calculators (same operator). Takes a gross salary in local currency (annual by default, or monthly with period) and a country code, plus optional state and filingStatus for the US, province for Canada, region (england|scotland) for the UK. Returns gross, net and total deductions (each annual and monthly), a line-by-line breakdown typed as tax / social / contribution / repayment, effectiveRate, the tax year the figures apply to, currency, the assumptions behind the estimate and the upstream calculator page as source. Spain (es) is listed but answers covered:false because lifebynumbers.net computes it client-side only.

    Annotations the server declares

    • title: Take-home pay
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
Changes things 7Claude Code: ask
  • callRun any Data Butler tool by name — the long tail not listed here: exam_spec_lookup, exam_paper_index; exact statistics (distribution, hypothesis_test, confidence_interval, bayes_up…2 findings

    Why it is in this group

    • The name "call" says "call": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Info

      The description is 2,163 characters long, over the 2,000 this check looks for.

      Matched text

      description ends: "...ee catalogue for schemas. The result carries the inner tool's freshness and cite."

      What this check looks for
    • Warn

      The server marks "call" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "call" says "call": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Run any Data Butler tool by name — the long tail not listed here: exam_spec_lookup, exam_paper_index; exact statistics (distribution, hypothesis_test, confidence_interval, bayes_update, linear_regression, descriptive_stats); the vehicles hub (uk_mot_reliability, uk_recalls_for_model, uk_recalls_search, fr_recalls_for_model, fr_recalls_search, jp_recalls_for_model, jp_complaints_summary); software end-of-life (support_status {product, version}, support_timeline {product} for nodejs, python, ubuntu, debian, android, ios, macos, windows, oracle-jdk, go, ruby, php, postgresql, react); policy_rate (Bank of England Bank Rate, Fed federal funds target range, ECB key rates — committed data verified against the banks' own pages); us_rates_lookup (US federal rates and thresholds for the current tax year: income-tax, social-security, medicare, retirement, hsa, estate-gift); de_rates_lookup (German tax and social-insurance figures for the current Veranlagungszeitraum: income-tax, social-insurance, minimum-wage, minijob, kindergeld, kinderfreibetrag, sparer-pauschbetrag, arbeitnehmer-pauschbetrag, entfernungspauschale); uk_vehicle_rules_lookup (UK car tax: first-year CO2 bands, standard rate, expensive car supplement, 2001–2017 bands, pre-2001 rates, electric cars, historic vehicles; MOT due dates, fees, retests, penalties — verified against gov.uk); UK exam dates (uk_exam_dates {kind: results|timetable|deadlines|spec-changes, board?, qualification?}); calendar facts (calendar_facts {country, kind: holidays|tax-year|dst, year?, region?} and next_holiday {country, from?} — holidays for uk, us, de, fr; tax years and DST for uk, us, de, fr, au, in, ca, br, pl; 2026–2028); uk_gov_process (UK government services — passport and ETA fees, driving licence renewal, SORN, register to vote, birth/death registration, Self Assessment deadlines, NI number, Universal Credit, EU Settlement Scheme, eVisa — fees, processing times, start URLs, dated changes, verified against gov.uk). uk_rates_lookup, domain_provenance, package_provenance and take_home_pay are listed directly. See catalogue for schemas. The result carries the inner tool's freshness and cite.

    Annotations the server declares

    • title: Call any tool
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • catalogueEvery tool across all Data Butler servers (UK rates; UK exams; provenance; exact statistics; vehicles: UK MOT, UK, French and Japanese recalls; take-home pay for ten countries; sof…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Every tool across all Data Butler servers (UK rates; UK exams; provenance; exact statistics; vehicles: UK MOT, UK, French and Japanese recalls; take-home pay for ten countries; software support status and end-of-life timelines for 14 runtimes and operating systems; central-bank policy rates: Bank of England, Fed, ECB; US federal rates and thresholds (us_rates_lookup: income tax, Social Security, Medicare, retirement, HSA, estate and gift); German tax and social-insurance figures (de_rates_lookup: Einkommensteuertarif, Sozialversicherung, Mindestlohn, Minijob, Kindergeld, Kinderfreibetrag, Pauschbeträge, Entfernungspauschale); UK vehicle tax (VED) and MOT rules; UK exam dates and spec changes: results days, the summer 2027 timetable, entry deadlines, new specifications; calendar facts: public holidays, tax-year starts and daylight-saving switches for 2026–2028; UK government services: passport, driving licence, vehicle tax/SORN, voting, birth/death registration, Blue Badge, Self Assessment, NI number, Universal Credit, EU Settlement Scheme, eVisa, ETA), with input schemas — including tools not listed at this front door. Optional query filters by keyword. Run any of them with call, or connect to serverUrl directly.

    Annotations the server declares

    • title: Tool catalogue
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • coverageExactly what Data Butler covers and does not, per area, including figures it does not serve yet.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Exactly what Data Butler covers and does not, per area, including figures it does not serve yet. Areas: uk-rates, uk-exams, provenance, stats, vehicles, tax, software-eol, policy-rates, us-rates, de-rates, uk-vehicle-rules, uk-exam-dates, calendar, uk-gov-process (omit for all). Returns rate categories and tax years, boards/subjects, package ecosystems, stats operations, vehicle datasets, take-home-pay countries, the 14 software products with end-of-life data, central-bank policy rates (boe, fed, ecb), US federal rate categories and tax year, German rate categories and Veranlagungszeitraum, UK vehicle tax (VED) and MOT rule categories, UK exam dates (results, timetable, deadlines, spec-changes for jcq, aqa, pearson, ocr, wjec-eduqas; sqa results day), calendar facts: public holidays (uk, us, de, fr), tax years and daylight saving (uk, us, de, fr, au, in, ca, br, pl) for 2026–2028, UK government services (passports, DVLA, voting, registrations, Self Assessment, benefits, eVisa, ETA), and an explicit notCovered list.

    Annotations the server declares

    • title: Coverage
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • domain_provenanceWho runs this domain?No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Who runs this domain? Live RDAP lookup: registration date and age, registrar, nameservers, status, whether the registrant is redacted, plus a typosquat check (edit-distance / brand-substring) against high-value brands. A very recently registered domain resembling a bank or big brand is a classic phishing signal — but report it as a signal, not a conclusion.

    Annotations the server declares

    • title: Domain provenance
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • exam_topic_paperWhich exam paper is a topic on?No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Which exam paper is a topic on? The canonical student revision question ("is electricity paper 2 AQA?" — answer: no, Paper 1). Input a topic plus optional board/subject/level; returns the paper, sibling topics on that paper, spec code, and the official spec URL. Knows quirks like AQA Combined Science Trilogy Physics Paper 2 having no Space physics. Coverage: AQA GCSE Physics (8463); AQA GCSE Biology (8461); AQA GCSE Chemistry (8462); AQA GCSE Combined Science: Trilogy (8464); AQA GCSE Mathematics (8300).

    Annotations the server declares

    • title: Exam topic → paper
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • package_provenanceWho publishes this package, and is it a typosquat?No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Who publishes this package, and is it a typosquat? Live npm or PyPI lookup: first-publish date and age, release count, latest version, maintainers/author, linked repo, plus a typosquat check against popular package names. Use when an agent is about to install or recommend an unfamiliar dependency.

    Annotations the server declares

    • title: Package provenance
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • what_changed_sinceWhat has changed in Data Butler's verified datasets since a date — pass your training-cutoff date to learn which UK tax/NI/benefit thresholds, exam-spec facts, official vehicle dat…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    What has changed in Data Butler's verified datasets since a date — pass your training-cutoff date to learn which UK tax/NI/benefit thresholds, exam-spec facts, official vehicle datasets (UK DVSA, French RappelConso and Japanese MLIT recalls), software end-of-life dates (Node.js, Python, Ubuntu, Debian, Android, iOS, macOS, Windows, Java, Go, Ruby, PHP, PostgreSQL, React — cycles that reached end of life or whose dates moved), central-bank policy rates (Bank of England, Fed, ECB), US federal tax thresholds (IRS inflation adjustments, Social Security wage base, retirement and HSA limits), German tax and social-insurance thresholds (Grundfreibetrag, Beitragsbemessungsgrenzen, Zusatzbeitrag, Mindestlohn, Kindergeld), UK vehicle tax (VED) rates and MOT rules, UK exam dates (results days, summer timetable paper dates, entry deadlines and late-fee dates, announced specification changes), calendar facts (public holidays for the UK, US, Germany and France; tax-year and daylight-saving rules for nine countries — new years published, holidays added or moved) and UK government service fees and rules (passports, ETA, Universal Credit, eVisa) changed after your knowledge ends. Each entry: from → to, effectiveFrom, official source, verifiedDate, and a maintainer note (e.g. which Budget). Areas: uk-rates, uk-exams, vehicles, software-eol, policy-rates, us-rates, de-rates, uk-vehicle-rules, uk-exam-dates, calendar, uk-gov-process, or all. Coverage starts 2026-08-31. The same changelog is published for humans at https://databutler.dev/changes, with feeds at https://databutler.dev/changes.rss and https://databutler.dev/changes.atom. Output is a Verified Changes protocol document (verified-changes/0.1, spec https://databutler.dev/protocol); an entry whose figure is a Verified Fact carries factKey for get_fact.

    Annotations the server declares

    • title: What changed since
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 3Claude Code: allow
  • get_factThe current value of one official figure by key — a tax threshold, rate, allowance, fee, deadline, limit or policy rate — with the date it was verified, the official source URL, th…No findings

    Why it is in this group

    • The name "get_fact" says "get": a word for reading.
    Description, as the server wrote it
    The current value of one official figure by key — a tax threshold, rate, allowance, fee, deadline, limit or policy rate — with the date it was verified, the official source URL, the period it applies to and a signature. Keys are `<country>/<topic>/<fact>`, e.g. `uk/income-tax/personal-allowance`, `uk/national-insurance/primary-threshold`, `us/social-security/wage-base`, `de/income-tax/grundfreibetrag`, `uk/bank-rate`, `eu/ecb/deposit-facility`, `uk/gov/passport-renewal-adult/fee-online-uk`. A loose key is resolved when unambiguous; otherwise the answer lists candidate keys. `max_age` (e.g. `30d`) marks the answer `stale` when the verification is older than that. Several keys separated by commas return a batch. Covers UK, US and German rates and thresholds, UK vehicle tax and MOT rules, UK government service fees, UK exam dates and central-bank policy rates; `coverage` lists the rest.

    Annotations the server declares

    • title: Get a verified fact
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • resolve_factRanked canonical fact keys for a plain-language question or a guessed key — "NI primary threshold", "ECB deposit rate", "passport renewal fee" — each with label, unit, period and v…No findings

    Why it is in this group

    • The name "resolve_fact" says "resolve": a word for reading.
    Description, as the server wrote it
    Ranked canonical fact keys for a plain-language question or a guessed key — "NI primary threshold", "ECB deposit rate", "passport renewal fee" — each with label, unit, period and verification date, and the full record of the top match when it is unambiguous. The keys feed `get_fact`. Filter by `namespace` (`uk`, `us`, `de`, `eu`).

    Annotations the server declares

    • title: Find the key for a fact
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • uk_rates_lookupCurrent UK (2026-27) rates and thresholds, verified against gov.uk with source URLs and verification dates.No findings

    Why it is in this group

    • The name "uk_rates_lookup" says "lookup": a word for reading.
    Description, as the server wrote it
    Current UK (2026-27) rates and thresholds, verified against gov.uk with source URLs and verification dates. Categories: income-tax, national-insurance, minimum-wage, student-loans, vat, isa, state-pension, state-pension-age, stamp-duty, capital-gains, pensions, dividends, savings, marriage-allowance, statutory-sick-pay, statutory-parental-pay, child-benefit. Covers UK income tax, National Insurance, minimum wage, student loans, VAT, ISAs, pensions, stamp duty, capital gains, dividends, savings, the State Pension and State Pension age, statutory sick/maternity/paternity pay and Child Benefit.

    Annotations the server declares

    • title: UK rates lookup
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http databutler https://databutler.dev/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__databutler__uk_rates_lookup",
      "mcp__databutler__get_fact",
      "mcp__databutler__resolve_fact"
    ],
    "ask": [
      "mcp__databutler__exam_topic_paper",
      "mcp__databutler__domain_provenance",
      "mcp__databutler__package_provenance",
      "mcp__databutler__take_home_pay",
      "mcp__databutler__what_changed_since",
      "mcp__databutler__coverage",
      "mcp__databutler__catalogue",
      "mcp__databutler__call"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as databutler. Review it before you use it.