Skip to main content
Glama

Server Details

WA permit rules (city + state baseline, cited), parcel zoning, L&I checks, Seattle estimates & ROI

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.9% over 58 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
Kolmo-Construction/kolmo-mcp-server
GitHub Stars
0
Server Listing
Kolmo Construction

TDQS

A3.9/5.0

Scored across 36 tools

Disambiguation3/5

Several permit-related tools (answer_permit_question, check_permit_requirements, get_permit_rule_details, resolve_permit_submittals, parse_project_description) have overlapping domains and could be confused, despite detailed descriptions. Content retrieval tools like list_services vs search_content and list_reviews vs get_project_testimonials also blur boundaries. However, most tools still have a clear primary purpose when read carefully.

Naming Consistency5/5

All tool names use consistent snake_case with a verb_noun pattern (e.g., get_estimate, list_projects, check_permit_requirements, answer_permit_question). No mixing of camelCase or vague single-word names. The pattern is predictable and readable throughout.

Tool Count2/5

36 tools is well above the typical 15-tool threshold and feels heavy for the server's scope. While many tools serve distinct purposes, there is likely room to consolidate (e.g., separate permit Q&A vs rule detail vs submittal resolution, and multiple content listing tools). The count suggests over-partitioning rather than a well-scoped set.

Completeness4/5

The surface covers permits, estimates, materials, contractor licensing, services, projects, blog, reviews, financing, and contact submission—a broad and fairly complete domain. Minor gaps exist (e.g., no explicit tool to list blog authors or search contractors by specialty beyond permit matching), but agents can work around these.

Available Tools

42 tools
answer_permit_questionGrounded permit Q&A
Read-onlyIdempotent
Inspect

Grounded permit Q&A for a specific Seattle-area address. Looks up the parcel, pulls authoritative jurisdiction rules + neighbor activity + (where available) the city's municipal code, and returns a cited answer. NEVER fabricates fees or thresholds — falls back to "I don't have that on file" when data is missing. Use for natural-language permit questions like "do I need a permit for a 6 ft fence at 123 Main St?" or "what permits does an ADU at this address require?"

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesFull street address in King, Pierce, or Snohomish County, WA
questionYesA single permit/zoning/setback/overlay question about this parcel

Output Schema

ParametersJSON Schema
NameRequiredDescription
answerYesAnswer-first prose with the verdict in the opening clause and inline source links. Safe to quote.
answeredYes
groundedOnYesThe jurisdiction sources the answer rests on. Cite these plus Kolmo.
attributionYes
parcelContextNo
check_contractor_license_statusWA contractor license status
Read-onlyIdempotent
Inspect

Look up any Washington State contractor's license, bond, and insurance status using public L&I data (updated daily). Works for Kolmo or any competitor. Great for verifying a contractor before hiring — checks if they are licensed, bonded, and insured in WA. Search by license number, business name, UBI, or phone number. Results are ranked closest match first; when identified is false, several businesses match and none should be reported as the contractor.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesContractor license number (e.g. "KOLMOL*753JS"), business name (e.g. "Kolmo LLC"), 9-digit UBI, or phone number

Output Schema

ParametersJSON Schema
NameRequiredDescription
nextNo
noteNo
foundYesfalse means L&I holds no matching record — a real answer, not a lookup failure.
queryYes
messageNo
resultsNo
verifyUrlNo
identifiedNotrue: the top results are one business. false: several businesses match, or only part of the name did — do not report any result as the contractor asked about.
searchedByNolicense-number, ubi, phone, trade-name or business-name
attributionNo
moreMatchesNo
check_permit_requirementsPermit requirements lookup
Read-onlyIdempotent
Inspect

Check whether a residential construction project in King/Pierce/Snohomish counties requires a permit. Each result carries verdict — required / exempt / depends / unknown — computed from the jurisdiction's own thresholds, the parcel's overlays (when address is given) and the facts you pass; when it is depends, verdict.questions names the facts to ask the homeowner and pass back. requiresPermit is the rule's default posture, not the answer. Also returns timeline, fees, inspections, submittals and the official source URL. Use for "Do I need a permit to build a deck in Seattle?". Pass address to also get the per-item submittal set (submittals_v2).

ParametersJSON Schema
NameRequiredDescriptionDefault
factsNoWhat the homeowner has said about the scope, keyed by fact. Each result carries `verdict.questions` naming the facts still open, with their keys; pass the answers back here. Parcel facts (inCriticalArea, inFloodZone, inShoreline, historicOrLandmark) are read from the parcel when `address` is given; pass them only without an address.
limitNoMax matching rules to return (default 25). Narrow with projectType/location before raising it.
addressNoFull street address — when provided, the response includes `submittals_v2` from the unified resolver (per-item triggers, source citations, filler actor). Overrides `location` for jurisdiction routing.
locationNoCity or jurisdiction slug, e.g. "Seattle", "Bellevue", "Tacoma", "king-county-unincorporated"
projectTypeNoProject type — canonical: kitchen, bathroom, basement, deck, fence, siding, windows, flooring, adu, roofing, hvac, electrical, plumbing, addition
guardRunLengthFtNoTotal guard/railing run in the scope of work, feet. A guard is separately permittable from the surface it stands on; a deck exemption does not carry it.
deckOverStoryBelowNoTrue if any part of the deck is over a basement or a story below. A deck under 30 in is still NOT exempt in Kirkland if it sits over a story.
deckOnAccessibleRouteNoTrue if the deck is part of an accessible route to a building entrance — an independent permit trigger, separate from height.
deckHeightAboveGradeInNoDeck walking surface above grade, inches — measured to the grade below at any point within 36 in of the outer edge.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nextNo
totalNo
parcelNo
messageNo
resultsNo
routingNo
coverageNoPresent on an unfiltered call: the jurisdictions and project types the catalog covers.
overlaysNo
returnedNo
importantNo
disclaimerNo
trustLevelNo"authoritative" when every returned rule is the city's own rule; "mixed" when some are the Washington state floor or not verified for the city (each rule carries its own `source` and `verdict`); or a LEGACY_LLM_SEED warning. Relay the warning or the mixed note if present.
attributionNo
recommendationNo
overlayDisclaimerNo
authoritativeRulesCountNo
check_service_area_coverageService-area coverage
Read-onlyIdempotent
Inspect

Check whether Kolmo takes work in a given city, neighborhood, ZIP or address. Kolmo works across Washington: Puget Sound (Bellingham to Olympia) is the core area and the rest of the state is case by case. coverage is primary (a featured city or Seattle neighborhood), nearby (in the core area), case_by_case (Washington, outside Puget Sound), unconfirmed (not a place this check recognizes: treat it as in area) or out_of_area (outside Washington, the ONLY value that means Kolmo does not take the work). Follow guidance. Also returns the count of completed projects in or near that location.

ParametersJSON Schema
NameRequiredDescriptionDefault
locationYesCity, neighborhood, ZIP or address to check, e.g. "Ballard", "Normandy Park", "98105", "Tacoma"

Output Schema

ParametersJSON Schema
NameRequiredDescription
queryNo
verdictNo
coverageYes
takesWorkYesFalse only when the place is outside Washington.
contactUrlYes
attributionYes
matchedCityNo
serviceCitiesYesFeatured cities with their own landing pages. NOT the service area boundary: a place missing from this list is not out of area. See serviceRegion.
serviceRegionYes
nearbyProjectCountYes
matchedNeighborhoodNo
estimate_permit_feePermit fee estimate
Read-onlyIdempotent
Inspect

Estimate the permit fee for a residential project based on jurisdiction, project type, and project valuation. Returns numeric breakdown when the authoritative rule has fee inputs, or qualitative feeNotes (with source URL) when the city publishes fees only as PDFs/spreadsheets. Never fabricates dollar amounts.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectTypeYesCanonical project type
valuationUsdYesProject valuation in USD (materials + labor)
jurisdictionSlugYesJurisdiction slug, e.g. "seattle", "bellevue", "tacoma" (use list_permit_jurisdictions to discover)

Output Schema

ParametersJSON Schema
NameRequiredDescription
breakdownNo
sourceUrlNo
disclaimerNo
attributionYes
permitClassNo
projectTypeYes
jurisdictionYes
valuationUsdNo
lastVerifiedAtNoDate the permit rule row was last checked against its source. It is not a verification date for the fee schedule.
feeScheduleBasisNo"city-adopted-schedule" when the figure walks the city's own adopted fee schedule; "wa-baseline-table" when it walks the standard valuation table most Washington cities adopt by reference, which is NOT that city's published fee.
qualitativeFeeNotesNo
get_author_bioAuthor profile
Read-onlyIdempotent
Inspect

Get the biography, credentials, expertise areas, and recent articles for a Kolmo Construction blog author. Use this to answer "who wrote this?" or to add author context to blog content.

ParametersJSON Schema
NameRequiredDescriptionDefault
authorYesAuthor name or slug, e.g. "Marcus Reid", "marcus-reid", "Emily Chen", "emily-chen"

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNo
noteNo
slugNo
foundYes
queryNo
sourceNo
expertiseNo
profileUrlNo
attributionNo
credentialsNo
totalArticlesNo
recentArticlesNo
availableAuthorsNo
get_blog_postBlog post full text
Read-onlyIdempotent
Inspect

Get the full markdown content of a blog post by its slug.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe URL slug of the blog post

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
slugNo
tagsNo
titleNo
authorNo
contentNoFull article body. Quote and summarize freely; do not republish wholesale.
summaryNo
attributionYes
publishedAtNo
readingTimeMinutesNo
get_business_infoBusiness info & credentials
Read-onlyIdempotent
Inspect

Get Kolmo Construction company information: contact details, hours, service area, specializations, and tools.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
emailYes
hoursNo
phoneYes
toolsYes
ratingYes
addressYes
foundedNo
licenseYes
websiteYes
attributionYes
serviceAreaYesFeatured cities with their own landing pages. NOT the service area boundary: a place missing from this list is not out of area. See serviceRegion.
notCertifiedYesSet-asides Kolmo does NOT hold. Never infer one that appears here.
serviceRegionYesWhere Kolmo takes work. This decides coverage, not serviceArea.
certificationsYes
specializationsYesTrades Kolmo performs. Not all of these have a service page — check list_services before linking one.
federalRegistrationYes
personnelQualificationsYes
get_common_plan_review_correctionsCommon plan-review corrections
Read-onlyIdempotent
Inspect

Corrections Seattle plan reviewers most often send on ADU permits, from the City's public correction letters: share of permits per category and the code cited. Shares are of permits that went to correction.

ParametersJSON Schema
NameRequiredDescriptionDefault
zoneNoe.g. NR, LR1
limitNo
subtypeNoadu-detached

Output Schema

ParametersJSON Schema
NameRequiredDescription
summaryYes
attributionYes
get_estimateSeattle cost estimate
Read-onlyIdempotent
Inspect

Seattle cost estimate: range, material/labor split, days, line items.

Fields per type below; their allowed values, ranges and pricing rules are in list_project_types. ?=optional; (mat)=get_material_options ID (a unique close name also resolves; an ambiguous one lists candidates).

interior-painting: rooms([{id,name,length,width,height,paintCeiling,paintTrim,doorCount,windowCount,surfaceCondition,trimComplexity,wallTexture,roomEmpty}]); paintQuality(mat); paintFinish; includesPrimer; majorColorChange?(+colorChange{currentColor,targetColor}) exterior-painting: wallArea,trimArea; doorCount; paintQuality(mat); surfacePrepLevel; includesPrimer; stories?; colorChange?(+colorChangeData{currentColor,targetColor}) flooring: rooms([{id,name,length,width}]); flooringMaterial(mat); includesUnderlayment,includesBaseboard,includesRemoval,includesSubfloorPrep; underlaymentType?,baseboardType?(mat); baseboardLinearFeet?; removalType?; transitionCount? deck: deckType; dimensions({length,width≤200,height≤30 ft}); deckingMaterial(mat); framingMaterial(mat); includesRailing,includesStairs; railingMaterial?,finishType?(mat); railingLinearFeet?; stairSteps?; landingRequired?; deckShape?; skirtingType?; existingDeckWorkItems? windows: windows([{id,windowType,width,height,quantity}]); qualityLevel; includesTrimWork,includesRemoval,energyEfficient; trimMaterial?(mat) siding: wallArea; sidingMaterial(mat); homeHeight; includesInsulation,includesRemoval,soffit; insulationType?(mat); existingSidingType?; trimLinearFeet; soffitLinearFeet? fence: linearFeet; fenceMaterial(mat); height; gateCount; gateWidth?; style?; terrain; includesRemoval,concreteFootings landscaping: yardArea; includesIrrigation,includesSod,includesMulch,includesSitePrep; irrigationType?; irrigationZones?; sodSquareFeet?; mulchSquareFeet?; plants?([{id,plantType,quantity,size}]); hardscapeFeatures?([{id,featureType,squareFeet,material}]) kitchen: kitchenSize; scope; cabinets; countertop; appliances; flooring; backsplash?,plumbingRelocation?,electricalUpgrade?,island?,lighting?; wallRemoval?; gasLine?,rangeHood? bathroom: bathroomType; bathroomSize; scope; showerTub; vanity; tileWork; showerWalls?; heatedFloors?,newLighting?,ventilation?,plumbingRelocation?,glassDoor?,showerSeat?,handShower?; grabBars? basement: basementSize; scope; ceilingHeight; moistureCondition; egress; bathroom; kitchenette; bedroomCount?; flooring; insulation; hvac; electricalSubpanel?,homeAgePre1978? adu: type; sizeSqft; finishTier; dadu only: foundation?,sitework?,utilityRunFeet?,preApprovedPlan?; treeRemovalCount?; homeAgePre1978? ada: projectScope; modifications({grabBars,walkInShower,widerDoorways,ramp,nonSlipFlooring,leverHandles,raisedToilet,rollUnderSink,accessibleCounters,stairLift}, ≥1 true); currentCondition; homeStories?; doorwayCount?; rampLengthFeet?; flooringSquareFeet? electrical: items[{id,quantity}] (ids: get_material_options) plumbing: items[{id,quantity}] (ids: get_material_options) garage-doors: items[{id,quantity}] (ids: get_material_options) doors: items[{id,quantity}] (ids: get_material_options) concrete: items[{id,quantity}] (ids: get_material_options) insulation: items[{id,quantity}] (ids: get_material_options) gutters: items[{id,quantity}] (ids: get_material_options)

ParametersJSON Schema
NameRequiredDescriptionDefault
projectYesProject input fields — named per projectType in the tool description; allowed values in list_project_types.
projectTypeYesThe type of project

Output Schema

ParametersJSON Schema
NameRequiredDescription
excludesYesScope NOT priced here. Relay alongside any figure.
laborCostYes
lineItemsNo
totalCostYesPoint figure. Relay estimateRange instead — a single number reads as a quote.
permitCostNoPresent on deck, kitchen, bathroom, basement, adu and ada. Already inside totalCost.
attributionYes
projectTypeYes
materialCostYes
pricingBasisNo
calculatorUrlYes
estimateRangeNoPlanning range for Seattle-area work. This is what to relay, with its qualifier attached.
contingencyCostNoPresent on basement and adu. When set, a contingency is ALREADY in totalCost — do not add another.
getAccurateQuoteYes
timeEstimateDaysNo
contingencyGuidanceYes
get_financing_optionsHome-improvement financing
Read-onlyIdempotent
Inspect

Get home improvement financing options for a Seattle remodeling project. Returns loan types, estimated monthly payments, typical terms, and eligibility notes. Helps homeowners understand how to pay for a remodel — HELOC, home improvement loans, cash-out refinance, and contractor payment plans.

ParametersJSON Schema
NameRequiredDescriptionDefault
creditProfileNoApproximate credit profile: excellent (750+), good (680-749), fair (620-679). Default: good
projectBudgetYesEstimated project cost in USD

Output Schema

ParametersJSON Schema
NameRequiredDescription
optionsNo
getQuoteYes
disclaimerYes
attributionYes
creditProfileNo
projectBudgetNo
get_material_catalogMaterial catalog
Read-onlyIdempotent
Inspect

Browse the full material catalog with pricing — flooring types, paint grades, decking materials, siding, windows, fencing, and more. Use category to filter. Returns material IDs compatible with get_estimate.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 25)
offsetNoPagination offset (default 0)
searchNoFilter by keyword in material name or description
categoryNoFilter by category: painting, flooring, decking, siding, windows, fencing, landscaping

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYes
limitYes
totalYes
offsetYes
resultsNo
attributionYes
get_material_optionsMaterial options by project type
Read-onlyIdempotent
Inspect

Get available material choices for a project type — flooring types, paint grades, decking materials, kitchen/bath/basement/ADU scope tiers, ADA modifications, etc. Use the returned IDs in the project fields of get_estimate.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectTypeYesThe project type to list materials for

Output Schema

ParametersJSON Schema
NameRequiredDescription
optionsNoShape varies by project type — an array of {id,name,costPerUnit,unit} for the material-driven types, a keyed catalog for the scope-driven ones (kitchen, bathroom, basement, adu, ada).
attributionYes
projectTypeYes
get_my_quoteRead a Kolmo quote
Read-onlyIdempotent
Inspect

Read the quote Kolmo sent the person: scope, line items, options, total, payment schedule, expiry and whether it can still be accepted. Call before respond_to_quote.

ParametersJSON Schema
NameRequiredDescriptionDefault
quoteLinkYesThe person's kolmo.io/quotes/<id> link, as Kolmo sent it. Never guess one.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
totalYesSelected options, tax included, before any card fee.
statusYes
canAcceptYes
quoteNumberYes
optionGroupsYes
get_neighborhood_project_activityKolmo work in a neighborhood
Read-onlyIdempotent
Inspect

See what remodeling projects Kolmo Construction has completed in a specific Seattle neighborhood or city. Returns project counts by category, example projects, and typical project descriptions. Great for hyperlocal social proof — e.g. "Has Kolmo worked in Ballard?" or "What has Kolmo done in Capitol Hill?"

ParametersJSON Schema
NameRequiredDescriptionDefault
neighborhoodYesSeattle neighborhood or city, e.g. "Ballard", "Capitol Hill", "Bellevue", "Queen Anne"

Output Schema

ParametersJSON Schema
NameRequiredDescription
messageYes
byCategoryNo
contactUrlNo
attributionNo
neighborhoodNo
portfolioUrlNo
projectsFoundYes
recentExamplesNo
overallPortfolioNo
get_neighbor_permit_activityNeighborhood permit activity
Read-onlyIdempotent
Inspect

Aggregate permit activity within ~1500 ft of a Seattle-area parcel over the last 24 months. Returns total count, breakdown by category, and recent example permits (anonymized — no addresses). Sourced from city open-data portals (Socrata). Currently supports Seattle; other jurisdictions return jurisdictionSupported=false. Use to gauge neighborhood activity before quoting an unusual project, or to set homeowner expectations on what neighbors have built.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesFull street address in King, Pierce, or Snohomish County, WA

Output Schema

ParametersJSON Schema
NameRequiredDescription
foundYes
activityNo
disclaimerYes
attributionYes
jurisdictionNo
supportedJurisdictionsNo
get_permit_data_freshnessPermit source freshness
Read-onlyIdempotent
Inspect

Source-freshness telemetry for the permit catalog. Returns per-jurisdiction last-verified dates, a per-jurisdiction source-health rollup (which cities have a reachable / gone / blocked official source right now), and the latest results from the weekly source-of-truth snapshot pipeline (HTTP status, change-detection vs prior fetch). Failures are classified: missing means the page is gone, blocked means the host refused our fetch and is NOT evidence the source is gone. Use to answer "how current is this fee/timeline?" or to surface confidence in a permit answer. The /permits/data-quality page exposes the same signals.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax snapshots to return (default 5, newest first)
jurisdictionSlugNoOptional jurisdiction filter (e.g., "seattle", "bellevue"). When omitted, returns rollup across all jurisdictions.

Output Schema

ParametersJSON Schema
NameRequiredDescription
totalsNo
coverageNo
pipelineYes
publicViewYes
attributionYes
sourceHealthNo
jurisdictionsNo
changeDetectionNo
recentSnapshotsNo
howToReadFailuresNo
get_permit_rule_detailsPermit rule detail
Read-onlyIdempotent
Inspect

Enumerate permit rules with full detail — timeline, fee model, inspection sequence, submittals, required contractor specialties. Filter by jurisdiction slug or keyword. Use for "what does a Seattle ADU permit require?" or to list all rules for a jurisdiction. Pass address to also receive submittals_v2 (structured per-item SubmittalSet from the unified resolver) per rule.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 10 — rules are ~1K tokens each)
addressNoFull street address — when provided, each result row also includes `submittals_v2` from the unified resolver (per-item triggers, source citations, filler actor).
keywordNoKeyword in project type, trigger, thresholds, or notes (e.g. "deck", "adu", "egress")
jurisdictionNoJurisdiction slug or display name (e.g. "seattle", "bellevue", "tacoma")
onlyAuthoritativeNoDefault true: return only 'authoritative' and 'wa-baseline' rules. Set false to also return every other tier, including 'web-fetched' rows — these are published but deliberately not shown on Kolmo's city pages, and their cited source is not verified to state the rule. Prefer the default.

Output Schema

ParametersJSON Schema
NameRequiredDescription
parcelNo
matchedYes
resultsNo
returnedYes
disclaimerYes
totalRulesYes
attributionYes
authoritativeRulesYes
jurisdictionsWithAuthoritativeCoverageNo
get_permit_timelineReal time-to-permit
Read-onlyIdempotent
Inspect

Measured days from application to issue (median and 80th percentile), City vs applicant days, and review cycles, from the city's issued-permit records. A city not yet covered returns the covered list; groups under 30 permits are not reported.

ParametersJSON Schema
NameRequiredDescriptionDefault
subtypeNo
projectTypeYesnew-multifamily: townhouses and other middle-housing units built as a set
valuationUsdNo
jurisdictionSlugNoseattle

Output Schema

ParametersJSON Schema
NameRequiredDescription
summaryYes
attributionYes
get_projectProject case study
Read-onlyIdempotent
Inspect

Get full details for a specific project by its slug, including before/after images and testimonial. If not found, returns a list of available slugs.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe URL slug of the project

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
slugNo
titleNo
attributionYes
get_project_roiRenovation ROI
Read-onlyIdempotent
Inspect

Get the estimated return on investment (ROI) for a home remodeling project in the Seattle area. Based on Remodeling Magazine Cost vs. Value data for the Pacific Northwest. Helps homeowners decide which projects add the most resale value — e.g. "What ROI does a kitchen remodel get in Seattle?" or "Which remodel pays off the most?"

ParametersJSON Schema
NameRequiredDescriptionDefault
projectTypeNoType of project, e.g. "kitchen", "bathroom", "deck", "windows", "siding", "ADU", "basement". Omit to see all projects ranked by ROI.
estimatedCostNoYour estimated project budget in USD. If provided, returns expected resale value added.

Output Schema

ParametersJSON Schema
NameRequiredDescription
marketYes
sourceYesThird-party dataset. Cite it alongside Kolmo.
resultsNo
disclaimerYes
attributionYes
neighborhoodNo
getAccurateQuoteYes
get_project_testimonialsProject testimonials
Read-onlyIdempotent
Inspect

Get customer testimonials tied to a specific project (by slug or keyword) from the testimonials table. Returns star rating, customer name, project name, and quote text. Use to source social proof or case-study quotes for a particular job. For unfiltered reviews, use list_reviews.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 10)
keywordNoKeyword to fuzzy-match against testimonial project name or content (e.g. "kitchen", "deck")
minRatingNoMinimum star rating (1-5, default 1)
projectSlugNoProject slug to match (e.g. "ballard-kitchen-remodel"). Falls back to title match.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYes
totalYes
resultsYes
attributionYes
averageRatingYes
filterAppliedYes
get_serviceResidential service detail
Read-onlyIdempotent
Inspect

Get full details for a specific residential service by its slug. If not found, returns a list of available slugs to help you pick the right one.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe URL slug, e.g. "kitchen-remodeling"

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
slugNo
titleNo
attributionYes
descriptionNo
get_weather_windowExterior-work weather window
Read-onlyIdempotent
Inspect

Check if upcoming weather in Seattle is suitable for an exterior construction project. Returns a day-by-day forecast with go/no-go recommendations based on project-specific requirements (temperature, rain, wind). Perfect for scheduling exterior painting, decking, roofing, landscaping, siding, or fencing.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to forecast (1-14, default 7)
projectTypeYesType of project to check weather suitability for

Output Schema

ParametersJSON Schema
NameRequiredDescription
summaryNo
forecastNo
locationYes
attributionYes
projectTypeNo
forecastDaysYes
requirementsNo
list_blog_postsBlog index
Read-onlyIdempotent
Inspect

List published blog posts about home remodeling, renovation costs, and construction tips. Filter by tag or author name.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNoFilter posts by tag, e.g. "flooring", "deck", "painting"
limitNoMax posts to return (default 10)
authorNoFilter posts by author name, e.g. "Marcus Reid"
offsetNoPagination offset (default 0)

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitYes
totalYes
hubUrlYes
offsetYes
resultsYes
attributionYes
list_blog_tags_and_categoriesBlog topic coverage
Read-onlyIdempotent
Inspect

Enumerate every tag and category used across Kolmo's published blog posts, with post counts. Use this to discover what topics Kolmo publishes on before calling list_blog_posts, or to surface coverage gaps.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
tagsYes
usageYes
categoriesYes
totalPostsYes
attributionYes
list_commercial_servicesCommercial & public-works services
Read-onlyIdempotent
Inspect

List commercial construction services with slugs and citable page URLs. Optionally filter by category: office, retail, industrial, hospitality, public. The "public" category covers public works and government contracts — Kolmo is WA State SEDBE-certified (#D700031098), King County SCS-certified (#7259), prevailing wage compliant, and MRSC Small Works Roster eligible (projects under $350K). Pass a slug for one service's full write-up.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNoOne service, with its full description
limitNoMax results (default 50)
offsetNoPagination offset (default 0)
categoryNoFilter: office, retail, industrial, hospitality, public

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitYes
totalYes
hubUrlYes
offsetYes
resultsYes
attributionYes
publicWorksYes
list_permit_jurisdictionsPermit jurisdiction coverage
Read-onlyIdempotent
Inspect

List the jurisdictions in Kolmo's permit catalog (King, Pierce, Snohomish counties). Compact by default — results is keyed by county (King / Pierce / Snohomish), each a list of {slug, name, verified} — the whole catalogue in one call (~4K tokens), enough to pick a jurisdictionSlug for estimate_permit_fee, check_permit_requirements or get_permit_rule_details. Pass slug for one jurisdiction's full record (department, fee-schedule URL, phone, code cycles, notes), or detail: true for full records on every row.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNoOne jurisdiction by slug, e.g. "bellevue" or "mercer-island". Returns its full record.
countyNoFilter by county
detailNoIf true, every row carries the full record. Default false (compact rows). The full catalogue in detail is ~9x larger — prefer `slug` when you need one city.
verifiedOnlyNoIf true, only return rows where portal_url is populated (verified from official source). Default false.

Output Schema

ParametersJSON Schema
NameRequiredDescription
totalYes
detailYes
resultsNo
attributionYes
list_procurement_codesVendor procurement codes
Read-onlyIdempotent
Inspect

List Kolmo's vendor procurement codes (NAICS, NIGP, UNSPSC) for government and agency portals such as SAM.gov, WA WEBS, OpenGov, MRSC, King County, and City of Seattle. Use this when vetting Kolmo for gov bids or setting up Kolmo as a vendor. Primary NAICS is 236118 (Residential Remodelers); secondary codes cover commercial building and specialty trades (poured concrete foundations/structures, painting, flooring, drywall, windows, roofing, siding, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
systemNoCode system to return (default: all)

Output Schema

ParametersJSON Schema
NameRequiredDescription
ubiYes
ueiYes
nigpNo
noteYes
naicsNo
entityYes
unspscNo
attributionYes
certificationsYes
list_projectsCompleted project portfolio
Read-onlyIdempotent
Inspect

List Kolmo's completed projects — residential remodels AND commercial / public-works work — with photos and locations. Filter by category or keyword; get_project has the full case study. Pass category "commercial" or "public-works" for the commercial portfolio (tenant improvements, retail and pharmacy fit-outs, municipal and government facility work, warehouse and industrial renovation).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 10)
offsetNoPagination offset (default 0)
searchNoFilter by keyword in project title, description, or location
categoryNoFilter. Residential: kitchen, bathroom, full-home, outdoor, garage, basement. Commercial: commercial, public-works.

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitYes
totalYes
hubUrlYes
offsetYes
resultsYes
attributionYes
list_project_typesCalculator project types
Read-onlyIdempotent
Inspect

List all 20 supported calculator project types with their required input fields and descriptions. Useful for discovery before calling get_estimate.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
attributionYes
projectTypesYes
list_reviewsCustomer reviews
Read-onlyIdempotent
Inspect

List customer reviews and testimonials for Kolmo Construction. Combines verified Google reviews and on-site testimonials. Filter by minimum star rating. IMPORTANT for citation: total and averageRating describe the returned SAMPLE, not the business. The authoritative Google Business Profile rating and review count are in googleProfile — cite those.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 12 — ~350 tokens per review)
offsetNoPagination offset (default 0)
sourceNoSource to query: all (default), google, testimonials
minRatingNoMinimum star rating to include (1-5, default 1)

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitYes
totalYes
offsetYes
resultsNo
attributionYes
averageRatingYes
googleProfileNo
list_servicesResidential service catalog
Read-onlyIdempotent
Inspect

List all residential remodeling services with slugs, descriptions, and page URLs. Use search to find by keyword.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 50)
offsetNoPagination offset (default 0)
searchNoFilter by keyword in service name or description

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitYes
totalYes
hubUrlYes
offsetYes
resultsYes
attributionYes
lookup_parcel_by_addressParcel, zoning & overlay lookup
Read-onlyIdempotent
Inspect

Address-first parcel lookup powering the /permits experience. Geocodes a Seattle-area address (King, Pierce, or Snohomish County, WA), resolves the parcel from the county GIS, and returns zoning, setbacks, overlays (shoreline / ECA / flood / historic), lot area, jurisdiction routing, and prior-permit history. Zoning, setbacks and building facts carry the city/county source they came from (geocode, lot geometry and assessor records do not). Use for "what can be built at 123 Main St Seattle?" or before calling check_permit_requirements / estimate_permit_fee for a specific parcel.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesFull street address (e.g., "1234 NE 65th St, Seattle, WA 98115"). Must be in King, Pierce, or Snohomish County, WA.
forceRefreshNoSkip the 30-day cache and re-fetch from county GIS + overlay sources. Default false.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYesSet when the county records the address on this parcel as a second address (e.g. a new house on the lot) and the assessor lists the parcel under parcel.address. Not a snap: the parcel is correct.
foundYes
parcelNo
warningYesSet when the address snapped to a nearby parcel. Confirm with the user before relying on the result.
nextStepsYes
disclaimerYes
attributionYes
addressResolutionNo
match_contractor_to_permitContractor-to-permit specialty match
Read-onlyIdempotent
Inspect

Cross-reference a WA contractor's L&I license specialty against a permit's required specialties. Returns whether the contractor is qualified to pull/work the permit, with explicit gap callouts (e.g. "missing electrical specialty 02"). Combines real-time L&I data with Kolmo's authoritative permit catalog.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectTypeYesCanonical project type (kitchen, bathroom, basement, deck, fence, siding, windows, flooring, adu, roofing, hvac, electrical, plumbing, addition)
contractorQueryYesContractor license number, business name, UBI or phone number
jurisdictionSlugYesPermit jurisdiction slug (e.g. "seattle", "tacoma")

Output Schema

ParametersJSON Schema
NameRequiredDescription
matchYesnull: no single contractor could be identified from contractorQuery, so no comparison was made — not a finding either way.
checksNo
permitNo
reasonNo
missingNo
sourceUrlNo
verifyUrlNo
candidatesNo
contractorNo
attributionNo
parse_project_descriptionNatural-language project parser
Read-onlyIdempotent
Inspect

Parse a homeowner's natural-language project description into structured permit-relevant fields: projectType (kitchen|bathroom|deck|adu|fence|...), areaSqft, heightClass, attached/detached, position, and materials. Returns confidence + a single clarifyingQuestion when the parse is ambiguous. Use this before calling check_permit_requirements / estimate_permit_fee when you only have free text from the homeowner. Backed by Gemini 2.5 Pro with a constrained JSON schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNameNoCity name (e.g., "Seattle", "Bellevue")
zoningCodeNoZoning code from lookup_parcel_by_address (e.g., "NR2", "LR1")
descriptionYesFree-text project description (e.g., "I want to add a 200 sqft deck off my master bedroom on the second floor")
jurisdictionSlugNoJurisdiction slug from lookup_parcel_by_address (helps disambiguate region-specific terminology)

Output Schema

ParametersJSON Schema
NameRequiredDescription
parsedNo
nextStepsNo
attributionYes
validProjectTypesYes
request_walkthroughRequest an on-site walkthroughInspect

Request an on-site walkthrough at 1-5 times the person proposes: 24 h to 60 days out, starting Mon-Fri 8 AM-4 PM or Sat 9 AM-12 PM Pacific. Kolmo confirms one within 1 business day; until then it is "requested", not "booked". Without quoteLink, pass the person's own name, email, phone, address and scope. dryRun: true previews.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
emailNo
notesNoAccess, parking, pets
phoneNo
scopeNo
dryRunNo
addressNoProperty street address and city
quoteLinkNoThe person's kolmo.io/quotes/<id> link, as Kolmo sent it. Never guess one.
proposedTimesYesISO 8601 with offset

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusNo
messageNo
referenceNoGive this to the person.
proposedTimesNo
resolve_permit_submittalsPermit submittal checklist
Read-onlyIdempotent
Inspect

Resolve the structured submittal-item set for a specific parcel + permit scope, via the unified permit-engine pipeline. Use this when you need the per-item checklist (with triggers, source citations, filler actor, gap-resolution path) — not just the rule-level summary that check_permit_requirements returns. Each set states its fidelity, which varies by city and scope: "full" (every item cites the code section, tip or City page it rests on), "min-viable", or "wa-baseline-stub". Unverified jurisdictions return no-spec.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeYesPermit scope — the (project-type x work-class) identifier the provider catalogs by
addressYesFull street address — geocoded to a parcel and matched to a jurisdiction provider
envelopeChangeNoProject alters the building envelope (windows, doors, siding, roof). Default false. Drives WSEC triggers.
structuralChangeNoProject involves a structural change (header, framing, lateral). Default false. Drives several triggers.
totalFloorAreaSqftNoTotal floor area in sqft. Used by SEPA threshold (>=12000) and other size-based triggers.
projectValuationUsdNoProject valuation in USD

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
scopeYes
totalsNo
addressNo
parcelIdNo
applicableNo
disclaimerNo
permitTypeNo
attributionYes
skippedCountYes
jurisdictionIdYes
jurisdictionFidelityNo
respond_to_quoteAccept, decline or request changes to a quote
Destructive
Inspect

Answer a Kolmo quote for the person. "accepted" binds them to the work at that total; "declined" is final; "changes_requested" keeps it open and needs notes. To accept: show the person scope, options and total from get_my_quote, get an explicit yes, pass that total as confirmedTotal.

ParametersJSON Schema
NameRequiredDescriptionDefault
notesNo
responseYes
quoteLinkYesThe person's kolmo.io/quotes/<id> link, as Kolmo sent it. Never guess one.
confirmedTotalNoRequired to accept
personConfirmedNoTrue only after the person said yes. Required to accept or decline
selectedOptionsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
totalNo
statusYes
messageYes
search_contentUnified content search
Read-onlyIdempotent
Inspect

Search across all Kolmo content — services, projects, and blog posts — with a single keyword query. Returns ranked results grouped by type. Use this instead of calling list_services + list_projects + list_blog_posts separately.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results per type (default 5)
queryYesSearch keyword or phrase, e.g. "deck Seattle", "kitchen cost", "permit"
typesNoContent types to include (default: all three)

Output Schema

ParametersJSON Schema
NameRequiredDescription
hintNo
nextNoPresent only on a zero-result search.
queryYes
termsYesThe query after tokenizing. Matching is per-term, not whole-string.
resultsYes
totalFoundYesAlias of resultCount, kept for existing callers.
attributionYes
resultCountYes
submit_contact_requestSubmit a quote requestInspect

Submit a contact or quote request to Kolmo Construction on behalf of a user. Set dryRun: true to preview what would be sent without actually submitting.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesFull name
emailYesEmail address
phoneNoPhone number (optional)
dryRunNoIf true, validate and preview without submitting (default false)
messageYesProject description or question
serviceNoService needed, e.g. "kitchen remodel"

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
dryRunNoTrue when this was a preview — nothing was submitted.
messageNo
previewNo
successNo
referenceNoOpaque lead reference. Give it to the user; it is how Kolmo locates the request.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 42 tool updates
    • Changedanswer_permit_question4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedcheck_contractor_license_status4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedcheck_permit_requirements5 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • changedInput schema / properties / facts / description
        Previous value: -"What the homeowner has said about the scope, keyed by fact. Each result carries `verdict.questions` naming the facts still open; pass them back here. Keys: deckHeightAboveGradeIn, deckAreaSqft, deckAttached, deckOverStoryBelow, deckOnAccessibleRoute, deckServesRequiredExit, roofDeck, deckCovered, deckingBoardsOnly, fenceHeightFt, masonryWallHeightFt, fenceInFrontYard, cosmeticOnly, plumbingMovedOrAdded, newCircuits, gasOrMechanicalWork, structuralOrWallChange, tubOrShowerReplaced, surfacesOpened, windowNewOrEnlargedOpening, windowStructuralChange, windowEgressAffected, windowEnergyDowngrade, sidingStructuralChange, sidingInsulationOrWrbChange, sidingStuccoOrVeneer, roofSheathingReplaced, roofMaterialTypeChange, roofLayersAfter, roofUnitWeightPsf, roofMaterialWeightIncreasePsf, roofFramingChange, roofSkylightsOrMechanical, buildingUnreinforcedMasonry, subfloorOrJoistChange, radiantHeat, plumbingLeakRepairOnly, plumbingLikeForLikeSameLocation, plumbingFixtureInstalledOrReplaced, plumbingFixtureAddedOrMoved, waterHeaterReplaced, plumbingNewOrRelocatedPiping, plumbingConcealedPipeReplaced, electricalLikeInKindMinor, newCircuitsOrPanel, hardwiredFixtureOrAppliance, portableAppliance, hvacMinorPartReplacement, treeDbhIn, treeAlderOrCottonwood, treesRemovedThisYear. Parcel facts (inCriticalArea, inFloodZone, inShoreline, historicOrLandmark) are read from the parcel when `address` is given; pass them only without an address."New value: +"What the homeowner has said about the scope, keyed by fact. Each result carries `verdict.questions` naming the facts still open, with their keys; pass the answers back here. Parcel facts (inCriticalArea, inFloodZone, inShoreline, historicOrLandmark) are read from the parcel when `address` is given; pass them only without an address."
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedcheck_service_area_coverage4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedestimate_permit_fee4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedget_author_bio4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedget_blog_post4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedget_business_info4 fields changed
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / rating / additionalProperties
        Removed value: -true
    • Changedget_common_plan_review_corrections4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedget_estimate5 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • changedInput schema / properties / project / description
        Previous value: -"Project input fields — see tool description for required fields per projectType."New value: +"Project input fields — named per projectType in the tool description; allowed values in list_project_types."
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedget_financing_options4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedget_material_catalog4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedget_material_options4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedget_my_quote3 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
    • Changedget_neighbor_permit_activity4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedget_neighborhood_project_activity4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedget_payment_link3 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
    • Changedget_permit_data_freshness4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedget_permit_rule_details4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedget_permit_timeline4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedget_project4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedget_project_roi4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedget_project_testimonials6 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / filterApplied / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / results / items / additionalProperties
        Removed value: -true
    • Changedget_service4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedget_weather_window4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedlist_blog_posts5 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / results / items / additionalProperties
        Removed value: -true
    • Changedlist_blog_tags_and_categories6 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / categories / items / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / tags / items / additionalProperties
        Removed value: -true
    • Changedlist_commercial_services7 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • addedInput schema / properties / slug
        Added value: +{
        +  "description": "One service, with its full description",
        +  "type": "string"
        +}
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / publicWorks / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / results / items / additionalProperties
        Removed value: -true
    • Changedlist_permit_jurisdictions4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedlist_procurement_codes4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedlist_project_types4 fields changed
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / projectTypes / additionalProperties / additionalProperties
        Removed value: -true
    • Changedlist_projects6 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • changedInput schema / properties / limit / description
        Previous value: -"Max results (default 20)"New value: +"Max results (default 10)"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / results / items / additionalProperties
        Removed value: -true
    • Changedlist_reviews4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedlist_services5 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / results / items / additionalProperties
        Removed value: -true
    • Changedlookup_parcel_by_address4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedmatch_contractor_to_permit4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedparse_project_description4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedrequest_walkthrough3 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
    • Changedresolve_permit_submittals4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
    • Changedrespond_to_quote3 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
    • Changedsearch_content5 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / attribution / additionalProperties
        Removed value: -true
      • removedOutput schema / properties / results / additionalProperties
        Removed value: -true
    • Changedsubmit_contact_request3 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedOutput schema / additionalProperties
        Removed value: -true
  2. 1 tool update
    • Changedget_permit_timeline2 fields changed
      • addedInput schema / properties / projectType / description
        Added value: +"new-multifamily: townhouses and other middle-housing units built as a set"
      • changedInput schema / properties / projectType / enum
        Previous value: -[
        -  "adu",
        -  "addition",
        -  "deck",
        -  "basement",
        -  "alteration",
        -  "new-home"
        -]New value: +[
        +  "adu",
        +  "addition",
        +  "deck",
        +  "basement",
        +  "alteration",
        +  "new-home",
        +  "new-multifamily"
        +]
  3. 2 tool updates
    • Addedget_common_plan_review_corrections
    • Addedget_permit_timeline
  4. 4 tool updates
    • Addedget_my_quote
    • Addedget_payment_link
    • Addedrequest_walkthrough
    • Addedrespond_to_quote
  5. 2 tool updates
    • Changedcheck_permit_requirements1 field changed
      • changedOutput schema / properties / trustLevel / description
        Previous value: -"\"authoritative\" or a LEGACY_LLM_SEED warning. Relay the warning if present."New value: +"\"authoritative\" when every returned rule is the city's own rule; \"mixed\" when some are the Washington state floor or not verified for the city (each rule carries its own `source` and `verdict`); or a LEGACY_LLM_SEED warning. Relay the warning or the mixed note if present."
    • Changedestimate_permit_fee2 fields changed
      • addedOutput schema / properties / feeScheduleBasis
        Added value: +{
        +  "description": "\"city-adopted-schedule\" when the figure walks the city's own adopted fee schedule; \"wa-baseline-table\" when it walks the standard valuation table most Washington cities adopt by reference, which is NOT that city's published fee.",
        +  "type": "string"
        +}
      • changedOutput schema / properties / lastVerifiedAt / description
        Previous value: -"Verification date for the fee schedule. Relay it with the figure."New value: +"Date the permit rule row was last checked against its source. It is not a verification date for the fee schedule."
  6. 2 tool updates
    • Changedcheck_permit_requirements1 field changed
      • addedOutput schema / properties / routing
        Added value: +{}
    • Changedget_project_roi1 field changed
      • changedOutput schema / properties / attribution / required
        Previous value: -[
        -  "sourceUrl",
        -  "citeAs"
        -]New value: +[
        +  "citeAs"
        +]
  7. 1 tool update
    • Changedlookup_parcel_by_address2 fields changed
      • addedOutput schema / properties / note
        Added value: +{
        +  "description": "Set when the county records the address on this parcel as a second address (e.g. a new house on the lot) and the assessor lists the parcel under parcel.address. Not a snap: the parcel is correct.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "found",
        -  "warning",
        -  "nextSteps",
        -  "disclaimer",
        -  "attribution"
        -]New value: +[
        +  "found",
        +  "warning",
        +  "note",
        +  "nextSteps",
        +  "disclaimer",
        +  "attribution"
        +]
  8. 2 tool updates
    • Changedcheck_contractor_license_status5 fields changed
      • changedInput schema / properties / query / description
        Previous value: -"Contractor license number (e.g. \"KOLMOL*753JS\") or business name (e.g. \"Kolmo Construction\")"New value: +"Contractor license number (e.g. \"KOLMOL*753JS\"), business name (e.g. \"Kolmo LLC\"), 9-digit UBI, or phone number"
      • addedOutput schema / properties / identified
        Added value: +{
        +  "description": "true: the top results are one business. false: several businesses match, or only part of the name did — do not report any result as the contractor asked about.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / moreMatches
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / note
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / searchedBy
        Added value: +{
        +  "description": "license-number, ubi, phone, trade-name or business-name",
        +  "type": "string"
        +}
    • Changedmatch_contractor_to_permit4 fields changed
      • changedInput schema / properties / contractorQuery / description
        Previous value: -"Contractor license number or business name"New value: +"Contractor license number, business name, UBI or phone number"
      • addedOutput schema / properties / candidates
        Added value: +{}
      • addedOutput schema / properties / match / description
        Added value: +"null: no single contractor could be identified from contractorQuery, so no comparison was made — not a finding either way."
      • changedOutput schema / properties / match / type
        Previous value: -"boolean"New value: +[
        +  "boolean",
        +  "null"
        +]
  9. 2 tool updates
    • Changedcheck_service_area_coverage9 fields changed
      • changedInput schema / properties / location / description
        Previous value: -"City, neighborhood, or ZIP to check, e.g. \"Ballard\", \"Bellevue\", \"98105\", \"Tacoma\""New value: +"City, neighborhood, ZIP or address to check, e.g. \"Ballard\", \"Normandy Park\", \"98105\", \"Tacoma\""
      • addedOutput schema / properties / coverage / enum
        Added value: +[
        +  "primary",
        +  "nearby",
        +  "case_by_case",
        +  "unconfirmed",
        +  "out_of_area"
        +]
      • addedOutput schema / properties / coverage / type
        Added value: +"string"
      • removedOutput schema / properties / primaryCounty
        Removed value: -{}
      • removedOutput schema / properties / radiusKm
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / serviceCities / description
        Added value: +"Featured cities with their own landing pages. NOT the service area boundary: a place missing from this list is not out of area. See serviceRegion."
      • addedOutput schema / properties / serviceRegion
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / takesWork
        Added value: +{
        +  "description": "False only when the place is outside Washington.",
        +  "type": "boolean"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "radiusKm",
        -  "serviceCities",
        -  "nearbyProjectCount",
        -  "contactUrl",
        -  "attribution"
        -]New value: +[
        +  "coverage",
        +  "takesWork",
        +  "serviceRegion",
        +  "serviceCities",
        +  "nearbyProjectCount",
        +  "contactUrl",
        +  "attribution"
        +]
    • Changedget_business_info3 fields changed
      • addedOutput schema / properties / serviceArea / description
        Added value: +"Featured cities with their own landing pages. NOT the service area boundary: a place missing from this list is not out of area. See serviceRegion."
      • addedOutput schema / properties / serviceRegion
        Added value: +{
        +  "description": "Where Kolmo takes work. This decides coverage, not serviceArea.",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "name",
        -  "license",
        -  "phone",
        -  "email",
        -  "website",
        -  "address",
        -  "rating",
        -  "serviceArea",
        -  "certifications",
        -  "personnelQualifications",
        -  "federalRegistration",
        -  "notCertified",
        -  "specializations",
        -  "tools",
        -  "attribution"
        -]New value: +[
        +  "name",
        +  "license",
        +  "phone",
        +  "email",
        +  "website",
        +  "address",
        +  "rating",
        +  "serviceRegion",
        +  "serviceArea",
        +  "certifications",
        +  "personnelQualifications",
        +  "federalRegistration",
        +  "notCertified",
        +  "specializations",
        +  "tools",
        +  "attribution"
        +]
  10. 2 tool updates
    • Changedget_estimate1 field changed
      • changedInput schema / properties / projectType / enum
        Previous value: -[
        -  "interior-painting",
        -  "exterior-painting",
        -  "flooring",
        -  "deck",
        -  "windows",
        -  "siding",
        -  "fence",
        -  "landscaping",
        -  "kitchen",
        -  "bathroom",
        -  "basement",
        -  "adu",
        -  "ada",
        -  "electrical",
        -  "plumbing",
        -  "garage-doors",
        -  "concrete",
        -  "insulation",
        -  "gutters"
        -]New value: +[
        +  "interior-painting",
        +  "exterior-painting",
        +  "flooring",
        +  "deck",
        +  "windows",
        +  "siding",
        +  "fence",
        +  "landscaping",
        +  "kitchen",
        +  "bathroom",
        +  "basement",
        +  "adu",
        +  "ada",
        +  "electrical",
        +  "plumbing",
        +  "garage-doors",
        +  "doors",
        +  "concrete",
        +  "insulation",
        +  "gutters"
        +]
    • Changedget_material_options1 field changed
      • changedInput schema / properties / projectType / enum
        Previous value: -[
        -  "interior-painting",
        -  "exterior-painting",
        -  "flooring",
        -  "deck",
        -  "windows",
        -  "siding",
        -  "fence",
        -  "landscaping",
        -  "kitchen",
        -  "bathroom",
        -  "basement",
        -  "adu",
        -  "ada",
        -  "electrical",
        -  "plumbing",
        -  "garage-doors",
        -  "concrete",
        -  "insulation",
        -  "gutters"
        -]New value: +[
        +  "interior-painting",
        +  "exterior-painting",
        +  "flooring",
        +  "deck",
        +  "windows",
        +  "siding",
        +  "fence",
        +  "landscaping",
        +  "kitchen",
        +  "bathroom",
        +  "basement",
        +  "adu",
        +  "ada",
        +  "electrical",
        +  "plumbing",
        +  "garage-doors",
        +  "doors",
        +  "concrete",
        +  "insulation",
        +  "gutters"
        +]
  11. 2 tool updates
    • Changedget_estimate2 fields changed
      • changedInput schema / properties / projectType / enum
        Previous value: -[
        -  "interior-painting",
        -  "exterior-painting",
        -  "flooring",
        -  "deck",
        -  "windows",
        -  "siding",
        -  "fence",
        -  "landscaping",
        -  "kitchen",
        -  "bathroom",
        -  "basement",
        -  "adu",
        -  "ada"
        -]New value: +[
        +  "interior-painting",
        +  "exterior-painting",
        +  "flooring",
        +  "deck",
        +  "windows",
        +  "siding",
        +  "fence",
        +  "landscaping",
        +  "kitchen",
        +  "bathroom",
        +  "basement",
        +  "adu",
        +  "ada",
        +  "electrical",
        +  "plumbing",
        +  "garage-doors",
        +  "concrete",
        +  "insulation",
        +  "gutters"
        +]
      • changedOutput schema / properties / permitCost / description
        Previous value: -"Present on basement and adu, where permit cost is inside totalCost."New value: +"Present on deck, kitchen, bathroom, basement, adu and ada. Already inside totalCost."
    • Changedget_material_options1 field changed
      • changedInput schema / properties / projectType / enum
        Previous value: -[
        -  "interior-painting",
        -  "exterior-painting",
        -  "flooring",
        -  "deck",
        -  "windows",
        -  "siding",
        -  "fence",
        -  "landscaping",
        -  "kitchen",
        -  "bathroom",
        -  "basement",
        -  "adu",
        -  "ada"
        -]New value: +[
        +  "interior-painting",
        +  "exterior-painting",
        +  "flooring",
        +  "deck",
        +  "windows",
        +  "siding",
        +  "fence",
        +  "landscaping",
        +  "kitchen",
        +  "bathroom",
        +  "basement",
        +  "adu",
        +  "ada",
        +  "electrical",
        +  "plumbing",
        +  "garage-doors",
        +  "concrete",
        +  "insulation",
        +  "gutters"
        +]
  12. 1 tool update
    • Changedlist_projects1 field changed
      • changedInput schema / properties / category / description
        Previous value: -"Filter. Residential: kitchen, bathroom, full-home, outdoor, basement. Commercial: commercial, public-works."New value: +"Filter. Residential: kitchen, bathroom, full-home, outdoor, garage, basement. Commercial: commercial, public-works."

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Instant U.S. property intelligence for AI agents. Zoning, Buildability™ Score, ADU eligibility, flood risk, and more from 20+ government sources. Pay-as-you-go: $5 per analysis (prepaid credits). Free Score available at buildability.us. Get a key at buildability.us/api.
    5
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables an assistant to check whether backyard projects like fences, decks, sheds or pools need a building permit in US cities under cited IRC and local code rules, returning the governing code lines and the city's permit fees. It also computes material takeoffs such as posts, rails, concrete bags, decking, gravel and pavers, plus BLS trade wages.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides source-dated Washington property evidence and transaction math, including REET, seller scenarios, and research packets, for software and AI assistants.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.