Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "check_assessment"
⟨117 unchanged words⟩ with official filing links, and honesty notes. In the parcel record, market_value is the full value an appeal argues about; taxable_now is the phased-in assessment for the Maryland tax year holding today (tax years run July 1 to June 30; taxable_now_tax_year gives its from and to dates, YYYY-MM-DD), and taxable_next with taxable_next_tax_year is the one for the tax year after; either pair is left out when the roll does not hold that year. The uniformity object gives BandSize (how many similar ⟨64 unchanged words⟩ dated on or before today), and Branch. RatioSales counts sales of $100,000 or more that the roll codes as arm's-length sales of one improved parcel; foreclosures, gifts, auctions, sales of several parcels for one price and sales of a vacant lot are left out. When the roll records no lot size or ⟨34 unchanged words⟩ words. NotCompared is absent when every test ran. When the assessment sits high (PctFMV 75 or more) or low (below 25) and the home's rank on total value per square foot sits 3 or more in 10 from its rank on total value, the plain verdict's size field says so: total value is the rate per square foot times living area, so the difference comes from the home's size. Verdict branches: fair means the assessment isinbelow thenormal75thrangepercentileforof similarhomes;homes (the plain headline calls it on the low side below the 25th and lower than almost all of them below the 10th, and the normal range otherwise); review means it is on the high side; ⟨129 unchanged words⟩ of those ids as acct selects that parcel.WhenThemorelistthanis10in unit order, each option carries unit (the unit as the roll writes it, such as UNIT 204) when the roll records one, and total gives how many parcels shareantheaddressaddress; when more than 10 do (a condominium building, for instance), the list holds10theoffirstthem10. A unit written after the street (100 HARBORVIEW DR UNIT 204,with100noHARBORVIEW DR #204, or as its own comma-separated part) narrows the match to that unitnumberswhenandthenorolltotalrecordscountunits at the address, and azipsingledoesmatchnotthennarrowcarriesitparcel.unit;further;when theofficialrollSDATrecordsrecordunitshasthere and none is the unit written, the result is an error naming that unit, with no match list; arecordunitforat an address where the roll records none is not applied. Every refusal and everyunit.miss below is a tool error: isError is true and the text content is the error message, with no verdict and no match list. When nothing matches, the resultcarriesis anerror field;error; the roll writes addresses in its own form (e.g. 1 STATE CIR),with no unit numbers,so a miss can mean a different spelling, aunit number, atown other than the one the roll records, ⟨45 unchanged words⟩ A malformed zip or acct returns an errorfieldnaming the expected form, a zip outside Maryland returns an errorfieldstating that only Maryland is covered, an address naming another state or territory returns an errorfieldstating that only Maryland is covered and naming ⟨12 unchanged words⟩ city, county or state returns an errorfieldstating that only Maryland is covered and that ⟨10 unchanged words⟩ the roll does not hold returns an errorfieldstating that no parcel has that account id; ⟨14 unchanged words⟩ or MD, an address also gets the errorfieldasking for a zip, city or county ⟨92 unchanged words⟩
⟨41 unchanged words⟩ the same; when present it takes precedence overaddressaddress. A JSON number is read as its digits, or with the leading zero a number cannot hold when that is the id on the roll; a number that names no single parcel is an error asking for the id as a string","type":"string"},"address":{"description":"Maryland street address in the form the roll uses (e.g. 1 STATE CIR), withnoany unitnumberafter the street (e.g.1001HARBORVIEWSTATEDRCIRUNIT 204), followed by its Maryland city or county ⟨24 unchanged words⟩ or in the zip input, is notmatchedmatched. An SDAT account id sent here alone (0304121302 001, 160500305131) is read as acct","type":"string"},"zip":{ ⟨75 unchanged words⟩
Changed the definition of "check_assessment"
⟨30 unchanged words⟩ roll (SDAT) refreshed monthly. Input is a Maryland street addresspluswith its zip, its Maryland city or county, or MD, or an SDAT account id (acct).; the city, county, state and zip can be written in the address itself (1 STATE CIR, ANNAPOLIS, MD 21401), a city or county narrows the match to that place the way a zip does, and MD alone matches the street across the whole state. A single match returns the parcel record, a ⟨87 unchanged words⟩ dated on or before today), and Branch. When the roll records no lot size or no year built for the home, the band skips that test: NotCompared names it (lot size or year built; both as lot size, year built) and the plain verdict's not_compared field says so in words. NotCompared is absent when every test ran. Verdict branches: fair means the assessment is in
Certificate changed, valid to 2027-01-05
Changed the definition of "check_assessment"
⟨119 unchanged words⟩ its coefficient of dispersion (COD) over RatioSalesrecentsales dated RatioFromYear through RatioToYear (three calendar years ending with the year of the roll's newest sale dated on or before today), and Branch. Verdict branches: fair means the ⟨51 unchanged words⟩ and median fields are 0, meaning not computed. A single-match or multiple_matches result also carries a roll object: as_of is the date the state last updated the roll and pulled is the date this copy was taken (both YYYY-MM-DD), overdue is true when this copy is more than 35 days old, and a field the server does not know is left out. MedianSalesRatio and COD are 0 when RatioSales is ⟨207 unchanged words⟩
Changed the definition of "check_assessment"
before
—after
Check fairness of a Maryland property assessmentFairness check foraone Maryland property assessment:where the address sits amongagainst genuinely similar homes (same triennial reassessment group, similarsize/lot/agesize, lot and age, same zip), from a copy of thegroup's
Changed the definition of "check_assessment"
before
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true,"title":"Check fairness of a Maryland property assessment"}Certificate recorded, valid to 2026-11-03
Authorization not required
First tool surface recorded: 1 tool (server version 0.1)
Showing the latest 9 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
{"properties":{"acct":{"description":"SDAT account id,as returned in parcel.account_id or in a multiple_matches result: letters and digits (e.g. 020600002182004), withnoonedashesspaceorbeforespacesthe lot in Baltimore City (e.g.04121302001),0304121302as001);returnedspaces inparcel.account_iditorareinignored,asomultiple_matches0304121302001result;reads the same; when present it takes precedence over address","type":"string"},"address":{"description":"StreetMaryland street address in the form the roll uses, with no unit number (e.g. 1 STATE CIR),withoutfollowedunitbynumberits Maryland city or county, the state, or the zip (e.g. 1 STATE CIR, ANNAPOLIS, MD 21401); an address with no Maryland zip, city, county or state, here or in the zip input, is not matched","type":"string"},"zip":{ ⟨3 unchanged words⟩ a ZIP+4 is read as its first fivedigits.digits, and a whole JSON number up to 99999 is read as a zip with its leading zeros restored (1234 is 01234). Optional when the address carries a Maryland zip,butcity, county or state; a zip here takes precedence over one in the address. The same street address occurs in several Maryland towns ⟨10 unchanged words⟩
{"properties":{"acct":{"description":"SDAT account id,fromlettersaandpriordigitsmultiple_matcheswithresultno dashes or spaces (winse.g. 04121302001), as returned in parcel.account_id or in a multiple_matches result; when present it takes precedence over address)","type":"string"},"address":{"description":"Street addressasin therollformwritestheitroll uses, e.g. 1 STATE CIR,(nowithout unitnumbers,numbernoor city)","type":"string"},"zip":{"description":"5-digitzipzip;(recommended;aaddressesZIP+4repeatisacrossread as its first five digits. Optional, but the same street address occurs in several Maryland)towns, and a zip narrows the match","type":"string"}},"type":"object"}