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.
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.
// 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 doNot 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.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 20, 2026
Input and output schemas
Input schema
{
"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
{
"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
}