Skip to content
Eden Engine

Massachusetts Assessor Record Count by Where Clause (MassGIS)

massgis/count-parcels

Counts the Massachusetts assessor records in the MassGIS Property Tax Parcels service that match a where clause, for example CITY='BOSTON' AND ZIP='02116', without fetching the records. Returns a single integer. Use it to size a query before calling MassGIS Property Assessments. The assessing extract is an as-is copy of assessor records and contains errors and discrepancies. MassGIS data, served by Eden Engine; not an official MassGIS product.

activeper callv1

Price

$0.0026 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.

Data source

MassGIS (Bureau of Geographic Information)

Data from MassGIS (Bureau of Geographic Information), Commonwealth of Massachusetts EOTSS; MassGIS data are in the public domain per mass.gov/info-details/massgis-frequently-asked-questions. Source credit: "MassGIS (Bureau of Geographic Information), Commonwealth of Massachusetts EOTSS". Served by Eden Engine; not an official MassGIS product.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "massgis/count-parcels" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "massgis/count-parcels" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "massgis/count-parcels", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "massgis/count-parcels", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0026
Updated
Oct 20, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "where"
  ],
  "properties": {
    "where": {
      "type": "string",
      "pattern": "^(?:(?:SITE_ADDR|CITY|ZIP|USE_CODE|TOTAL_VAL|LAND_VAL|BLDG_VAL|FY|LS_PRICE|LS_DATE|YEAR_BUILT|LOC_ID)\\s*(?:=|<>|<=|>=|<|>)\\s*(?:'(?:[^']|'')*'|-?[0-9]+)|(?:SITE_ADDR|CITY|ZIP|USE_CODE|TOTAL_VAL|LAND_VAL|BLDG_VAL|FY|LS_PRICE|LS_DATE|YEAR_BUILT|LOC_ID)\\s+LIKE\\s+'(?:[^']|'')*'|(?:SITE_ADDR|CITY|ZIP|USE_CODE|TOTAL_VAL|LAND_VAL|BLDG_VAL|FY|LS_PRICE|LS_DATE|YEAR_BUILT|LOC_ID)\\s+IN\\s*\\(\\s*(?:'(?:[^']|'')*'|-?[0-9]+)(?:\\s*,\\s*(?:'(?:[^']|'')*'|-?[0-9]+))*\\s*\\))(?:\\s+(?:AND|OR)\\s+(?:(?:SITE_ADDR|CITY|ZIP|USE_CODE|TOTAL_VAL|LAND_VAL|BLDG_VAL|FY|LS_PRICE|LS_DATE|YEAR_BUILT|LOC_ID)\\s*(?:=|<>|<=|>=|<|>)\\s*(?:'(?:[^']|'')*'|-?[0-9]+)|(?:SITE_ADDR|CITY|ZIP|USE_CODE|TOTAL_VAL|LAND_VAL|BLDG_VAL|FY|LS_PRICE|LS_DATE|YEAR_BUILT|LOC_ID)\\s+LIKE\\s+'(?:[^']|'')*'|(?:SITE_ADDR|CITY|ZIP|USE_CODE|TOTAL_VAL|LAND_VAL|BLDG_VAL|FY|LS_PRICE|LS_DATE|YEAR_BUILT|LOC_ID)\\s+IN\\s*\\(\\s*(?:'(?:[^']|'')*'|-?[0-9]+)(?:\\s*,\\s*(?:'(?:[^']|'')*'|-?[0-9]+))*\\s*\\)))*$",
      "maxLength": 500,
      "minLength": 1,
      "description": "A filter on the table's public fields, written as SQL: comparisons joined by AND / OR, for example CITY='BOSTON' AND ZIP='02116'. Each comparison is FIELD with =, <>, <, <=, >, >=, LIKE 'text%' or IN ('a','b'). Field names are upper case; strings are single-quoted with a quote inside a value doubled; numbers are bare. Fields: SITE_ADDR, CITY, ZIP, USE_CODE, TOTAL_VAL, LAND_VAL, BLDG_VAL, FY, LS_PRICE, LS_DATE (YYYYMMDD text), YEAR_BUILT, LOC_ID. Functions, sub-queries and owner fields are refused."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "integer",
      "minimum": 0,
      "description": "How many records match the where clause."
    }
  },
  "description": "The number of matching assessor records, as { result: N }.",
  "additionalProperties": true
}