Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.kolmo.www/kolmo-mcp-server

REMOTE · WWW.KOLMO.IO · SCANNED SEP 20

WA permit rules (80+ cities, cited), parcel zoning, L&I license checks, Seattle cost estimates & ROI

Available components

0 this week 88 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security80
Transport & Reachability100
Schema Quality & AI Usability78
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 7400 tokens (~205/item across 36 items; 36 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 36 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 37 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the io.kolmo.www/kolmo-mcp-server server?

io.kolmo.www/kolmo-mcp-server is a hosted endpoint at https://www.kolmo.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · www.kolmo.io

# add to Claude Code
claude mcp add --transport http io-kolmo-www-kolmo-mcp-server 'https://www.kolmo.io/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "io-kolmo-www-kolmo-mcp-server": {
      "url": "https://www.kolmo.io/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "io-kolmo-www-kolmo-mcp-server": {
      "type": "http",
      "url": "https://www.kolmo.io/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.io-kolmo-www-kolmo-mcp-server]
url = "https://www.kolmo.io/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-kolmo-www-kolmo-mcp-server": {
      "type": "remote",
      "url": "https://www.kolmo.io/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add io-kolmo-www-kolmo-mcp-server --url 'https://www.kolmo.io/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  io-kolmo-www-kolmo-mcp-server:
    url: "https://www.kolmo.io/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "io-kolmo-www-kolmo-mcp-server": {
      "Transport": "http",
      "Url": "https://www.kolmo.io/mcp"
    }
  }
}
# add to Vellum
assistant mcp add io-kolmo-www-kolmo-mcp-server -t streamable-http -u 'https://www.kolmo.io/mcp'
// mcp.json
{
  "mcpServers": {
    "io-kolmo-www-kolmo-mcp-server": {
      "type": "http",
      "url": "https://www.kolmo.io/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 17 Sept 26 0
    • Tool “check_service_area_coverage” rewrote its description, which is the text the model reads security
    • “check_service_area_coverage” reworded the description of “location” cosmetic
  • 16 Sept 26 0
    • Tool “get_estimate” rewrote its description, which is the text the model reads security
    • Tool “list_project_types” rewrote its description, which is the text the model reads security
  • 14 Sept 26 0
    • Tool “check_permit_requirements” rewrote its description, which is the text the model reads security
    • “check_permit_requirements” added an optional parameter “facts” cosmetic
    • “list_projects” reworded the description of “category” cosmetic
  • 6 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “get_estimate” rewrote its description, which is the text the model reads security
    • Tool “get_material_options” rewrote its description, which is the text the model reads security
    • Tool “list_project_types” rewrote its description, which is the text the model reads security
    • Tool “list_projects” rewrote its description, which is the text the model reads security
    • “list_projects” reworded the description of “category” cosmetic
  • 3 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “list_permit_jurisdictions” rewrote its description, which is the text the model reads security
    • Tool “list_reviews” rewrote its description, which is the text the model reads security
    • Tool “resolve_permit_submittals” rewrote its description, which is the text the model reads security
    • Server version: 1.4.0 → 1.5.0 functional
    • “check_permit_requirements” added an optional parameter “limit” cosmetic
    • “list_permit_jurisdictions” added an optional parameter “detail” cosmetic
    • “list_permit_jurisdictions” added an optional parameter “slug” cosmetic
    • “get_material_catalog” reworded the description of “limit” cosmetic
    • “get_permit_data_freshness” reworded the description of “limit” cosmetic
    • “get_permit_rule_details” reworded the description of “limit” cosmetic
    • “list_blog_posts” reworded the description of “limit” cosmetic
    • “list_reviews” reworded the description of “limit” cosmetic
  • 31 Aug 26 +6
    • Authorization: unverified → partial security
    • Tool “answer_permit_question” now declares an output schema functional
    • Tool “check_contractor_license_status” now declares an output schema functional
    • Tool “check_permit_requirements” now declares an output schema functional
    • Tool “check_service_area_coverage” now declares an output schema functional
    • Tool “estimate_permit_fee” now declares an output schema functional
    • Tool “get_author_bio” now declares an output schema functional
    • Tool “get_blog_post” now declares an output schema functional
    • Tool “get_business_info” now declares an output schema functional
    • Tool “get_estimate” now declares an output schema functional
    • Tool “get_financing_options” now declares an output schema functional
    • Tool “get_material_catalog” now declares an output schema functional
    • Tool “get_material_options” now declares an output schema functional
    • Tool “get_neighbor_permit_activity” now declares an output schema functional
    • Tool “get_neighborhood_project_activity” now declares an output schema functional
    • Tool “get_permit_data_freshness” now declares an output schema functional
    • Tool “get_permit_rule_details” now declares an output schema functional
    • Tool “get_project” now declares an output schema functional
    • Tool “get_project_roi” now declares an output schema functional
    • Tool “get_project_testimonials” now declares an output schema functional
    • Tool “get_service” now declares an output schema functional
    • Tool “get_weather_window” now declares an output schema functional
    • Tool “list_blog_posts” now declares an output schema functional
    • Tool “list_blog_tags_and_categories” now declares an output schema functional
    • Tool “list_commercial_services” now declares an output schema functional
    • Tool “list_permit_jurisdictions” now declares an output schema functional
    • Tool “list_procurement_codes” now declares an output schema functional
    • Tool “list_project_types” now declares an output schema functional
    • Tool “list_projects” now declares an output schema functional
    • Tool “list_reviews” now declares an output schema functional
    • Tool “list_services” now declares an output schema functional
    • Tool “lookup_parcel_by_address” now declares an output schema functional
    • Tool “match_contractor_to_permit” now declares an output schema functional
    • Tool “parse_project_description” now declares an output schema functional
    • Tool “resolve_permit_submittals” now declares an output schema functional
    • Tool “search_content” now declares an output schema functional
    • Tool “submit_contact_request” now declares an output schema functional
    • First check of Tool coverage: 100 functional
    • Tool “answer_permit_question” changed its title: Grounded permit Q&A cosmetic
    • Tool “check_contractor_license_status” changed its title: WA contractor license status cosmetic
    • Tool “check_permit_requirements” changed its title: Permit requirements lookup cosmetic
    • Tool “check_service_area_coverage” changed its title: Service-area coverage cosmetic
    • Tool “estimate_permit_fee” changed its title: Permit fee estimate cosmetic
    • Tool “get_author_bio” changed its title: Author profile cosmetic
    • Tool “get_blog_post” changed its title: Blog post full text cosmetic
    • Tool “get_business_info” changed its title: Business info & credentials cosmetic
    • Tool “get_estimate” changed its title: Seattle cost estimate cosmetic
    • Tool “get_financing_options” changed its title: Home-improvement financing cosmetic
    • Tool “get_material_catalog” changed its title: Material catalog cosmetic
    • Tool “get_material_options” changed its title: Material options by project type cosmetic
    • Tool “get_neighbor_permit_activity” changed its title: Neighborhood permit activity cosmetic
    • Tool “get_neighborhood_project_activity” changed its title: Kolmo work in a neighborhood cosmetic
    • Tool “get_permit_data_freshness” changed its title: Permit source freshness cosmetic
    • Tool “get_permit_rule_details” changed its title: Permit rule detail cosmetic
    • Tool “get_project” changed its title: Project case study cosmetic
    • Tool “get_project_roi” changed its title: Renovation ROI cosmetic
    • Tool “get_project_testimonials” changed its title: Project testimonials cosmetic
    • Tool “get_service” changed its title: Residential service detail cosmetic
    • Tool “get_weather_window” changed its title: Exterior-work weather window cosmetic
    • Tool “list_blog_posts” changed its title: Blog index cosmetic
    • Tool “list_blog_tags_and_categories” changed its title: Blog topic coverage cosmetic
    • Tool “list_commercial_services” changed its title: Commercial & public-works services cosmetic
    • Tool “list_permit_jurisdictions” changed its title: Permit jurisdiction coverage cosmetic
    • Tool “list_procurement_codes” changed its title: Vendor procurement codes cosmetic
    • Tool “list_project_types” changed its title: Calculator project types cosmetic
    • Tool “list_projects” changed its title: Completed project portfolio cosmetic
    • Tool “list_reviews” changed its title: Customer reviews cosmetic
    • Tool “list_services” changed its title: Residential service catalog cosmetic
    • Tool “lookup_parcel_by_address” changed its title: Parcel, zoning & overlay lookup cosmetic
    • Tool “match_contractor_to_permit” changed its title: Contractor-to-permit specialty match cosmetic
    • Tool “parse_project_description” changed its title: Natural-language project parser cosmetic
    • Tool “resolve_permit_submittals” changed its title: Permit submittal checklist cosmetic
    • Tool “search_content” changed its title: Unified content search cosmetic
    • Tool “submit_contact_request” changed its title: Submit a quote request cosmetic
  • 30 Aug 26 0
    • Tool “get_permit_data_freshness” rewrote its description, which is the text the model reads security
  • 29 Aug 26 +8
    • Judged manipulation: unverified → pass security
    • Schema quality: unverified → excellent functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Probed https://www.kolmo.io/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=kolmo.io CN=WE1,O=Google Trust Services,C=US 17 Aug 2026 15 Nov 2026 ECDSA 256 ECDSA-SHA256 7443166adacafa280e13ab038081bfcf
SANs: kolmo.io, *.kolmo.io
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of www.kolmo.io. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
io. present 57355 8 Verified
kolmo.io. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy strict-origin-when-cross-origin

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://www.kolmo.io/mcp Verified 200
http (plaintext) http://www.kolmo.io/mcp HTTPS enforced 301 https://www.kolmo.io/mcp
MCP tools · 36 exposed · ~6,615 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
answer_permit_question ~153

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?"

NameTypeReqDescription
addressstringyesFull street address in King, Pierce, or Snohomish County, WA
questionstringyesA single permit/zoning/setback/overlay question about this parcel
NameTypeReqDescription
answerstringyesAnswer-first prose with the verdict in the opening clause and inline source links. Safe to quote.
answeredbooleanyes
attributionobjectyes
groundedOnarrayyesThe jurisdiction sources the answer rests on. Cite these plus Kolmo.
parcelContext

No examples provided.

check_contractor_license_status ~97

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.

NameTypeReqDescription
querystringyesContractor license number (e.g. "KOLMOL*753JS") or business name (e.g. "Kolmo Construction")
NameTypeReqDescription
attributionobject
foundbooleanyesfalse means L&I holds no matching record — a real answer, not a lookup failure.
messagestring
nextarray
querystringyes
results
verifyUrlstring

No examples provided.

check_permit_requirements ~881

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, fee notes, inspection sequence, required submittals, and official source URL — preferring jurisdiction-verified rules. Use for "Do I need a permit to build a deck in Seattle?" or "What permits are required for a kitchen remodel in Bellevue?". Pass `address` to also receive the structured per-item SubmittalSet (`submittals_v2`) from the unified permit engine — Seattle is full SDCI fidelity, other 9 verified cities are wa-baseline-stub.

NameTypeReqDescription
addressstringFull 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.
deckHeightAboveGradeInnumberDeck walking surface above grade, inches — measured to the grade below at any point within 36 in of the outer edge.
deckOnAccessibleRoutebooleanTrue if the deck is part of an accessible route to a building entrance — an independent permit trigger, separate from height.
deckOverStoryBelowbooleanTrue 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.
factsobjectWhat 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, deckA…
guardRunLengthFtnumberTotal 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.
limitintegerMax matching rules to return (default 25). Narrow with projectType/location before raising it.
locationstringCity or jurisdiction slug, e.g. "Seattle", "Bellevue", "Tacoma", "king-county-unincorporated"
projectTypestringProject type — canonical: kitchen, bathroom, basement, deck, fence, siding, windows, flooring, adu, roofing, hvac, electrical, plumbing, addition
NameTypeReqDescription
attributionobject
authoritativeRulesCountnumber
coveragePresent on an unfiltered call: the jurisdictions and project types the catalog covers.
disclaimerstring
importantstring
messagestring
nextarray
overlayDisclaimerstring
overlays
parcel
recommendationstring
results
returnednumber
totalnumber
trustLevelstring"authoritative" or a LEGACY_LLM_SEED warning. Relay the warning if present.

No examples provided.

check_service_area_coverage ~179

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.

NameTypeReqDescription
locationstringyesCity, neighborhood, ZIP or address to check, e.g. "Ballard", "Normandy Park", "98105", "Tacoma"
NameTypeReqDescription
attributionobjectyes
contactUrlstringyes
coveragestringyes
matchedCity
matchedNeighborhood
nearbyProjectCountnumberyes
query
serviceCitiesarrayyesFeatured cities with their own landing pages. NOT the service area boundary: a place missing from this list is not out of area. See serviceRegion.
serviceRegionstringyes
takesWorkbooleanyesFalse only when the place is outside Washington.
verdict

No examples provided.

estimate_permit_fee ~135

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.

NameTypeReqDescription
jurisdictionSlugstringyesJurisdiction slug, e.g. "seattle", "bellevue", "tacoma" (use list_permit_jurisdictions to discover)
projectTypestringyesCanonical project type
valuationUsdnumberyesProject valuation in USD (materials + labor)
NameTypeReqDescription
attributionobjectyes
breakdown
disclaimer
jurisdictionstringyes
lastVerifiedAtVerification date for the fee schedule. Relay it with the figure.
permitClass
projectTypestringyes
qualitativeFeeNotes
sourceUrl
valuationUsd

No examples provided.

get_author_bio ~82

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.

NameTypeReqDescription
authorstringyesAuthor name or slug, e.g. "Marcus Reid", "marcus-reid", "Emily Chen", "emily-chen"
NameTypeReqDescription
attributionobject
availableAuthors
credentials
expertise
foundbooleanyes
name
notestring
profileUrlstring
querystring
recentArticles
slug
sourcestring
totalArticlesnumber

No examples provided.

get_blog_post ~36

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

NameTypeReqDescription
slugstringyesThe URL slug of the blog post
NameTypeReqDescription
attributionobjectyes
authorstring|null
contentstring|nullFull article body. Quote and summarize freely; do not republish wholesale.
publishedAt
readingTimeMinutes
slugstring|null
summarystring|null
tags
titlestring|null
urlstringyes

No examples provided.

get_business_info ~30

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

Input schema present but exposes no named parameters.

NameTypeReqDescription
addressstringyes
attributionobjectyes
certificationsobjectyes
emailstringyes
federalRegistrationobjectyes
founded
hours
licensestringyes
namestringyes
notCertifiedarrayyesSet-asides Kolmo does NOT hold. Never infer one that appears here.
personnelQualificationsobjectyes
phonestringyes
ratingobjectyes
serviceAreaarrayyesFeatured cities with their own landing pages. NOT the service area boundary: a place missing from this list is not out of area. See serviceRegion.
serviceRegionstringyesWhere Kolmo takes work. This decides coverage, not serviceArea.
specializationsarrayyesTrades Kolmo performs. Not all of these have a service page — check list_services before linking one.
toolsobjectyes
websitestringyes

No examples provided.

get_estimate ~1,362

Seattle cost estimate: range, material/labor split, days, line items. ?=optional; (mat)=get_material_options ID (a unique close name also resolves; an ambiguous one lists candidates). interior-painting: rooms([{id,name,length,width(ft),height(6-30),paintCeiling,paintTrim,doorCount,windowCount,surfaceCondition(new-drywall|good-condition|poor-condition),trimComplexity(baseboards-only|simple-trim|complex-trim),wallTexture(smooth|light-texture|heavy-texture),roomEmpty}]); paintQuality(mat); paintFinish(flat|eggshell|satin|semi-gloss|gloss); includesPrimer; majorColorChange?(+colorChange{currentColor,targetColor}) exterior-painting: wallArea,trimArea(sqft); doorCount; paintQuality(mat); surfacePrepLevel(minimal|moderate|extensive); includesPrimer; stories?(1-3); colorChange?(+colorChangeData{currentColor,targetColor}) flooring: rooms([{id,name,length,width(ft)}]); flooringMaterial(mat); includesUnderlayment,includesBaseboard,includesRemoval,includesSubfloorPrep; underlaymentType?,baseboardType?(mat); baseboardLinearFeet?(default perimeter); removalType?(carpet|tile|hardwood); transitionCount? deck: deckType(new|existing); dimensions({length,width≤200,height≤30 ft}); deckingMaterial(mat: composite-decking…); framingMaterial(mat); includesRailing,includesStairs; railingMaterial?,finishType?(mat); railingLinearFeet?; stairSteps?(1-30); landingRequired?; deckShape?(rectangle|l-shape|angled-corners|multi-level); skirtingType?(none|lattice|matching-board); existingDeckWorkItems?(existing: ≥1 of stainOrSeal,inspection,replaceFlooring(+_area),replacePosts(+_count),addOrReplaceRailing(+_linearFeet),repairFraming(+_area)) windows: windows([{id,windowType(double-hung|single-hung|casement|slider|awning|picture|bay|bow or row id),width,height(12-120 in),quantity}]); qualityLevel(standard|premium|luxury → vinyl|fiberglass|wood-clad); includesTrimWork,includesRemoval,energyEfficient; trimMaterial?(mat) siding: wallArea(sqft); sidingMaterial(mat); homeHeight(single-story|two-story|th…

NameTypeReqDescription
projectobjectyesProject input fields — see tool description for required fields per projectType.
projectTypestringyesThe type of project
NameTypeReqDescription
attributionobjectyes
calculatorUrlstringyes
contingencyCostnumberPresent on basement and adu. When set, a contingency is ALREADY in totalCost — do not add another.
contingencyGuidancestringyes
estimateRangePlanning range for Seattle-area work. This is what to relay, with its qualifier attached.
excludesarrayyesScope NOT priced here. Relay alongside any figure.
getAccurateQuotestringyes
laborCostnumberyes
lineItems
materialCostnumberyes
permitCostnumberPresent on deck, kitchen, bathroom, basement, adu and ada. Already inside totalCost.
pricingBasis
projectTypestringyes
timeEstimateDays
totalCostnumberyesPoint figure. Relay estimateRange instead — a single number reads as a quote.

No examples provided.

get_financing_options ~108

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.

NameTypeReqDescription
creditProfilestringApproximate credit profile: excellent (750+), good (680-749), fair (620-679). Default: good
projectBudgetnumberyesEstimated project cost in USD
NameTypeReqDescription
attributionobjectyes
creditProfile
disclaimerstringyes
getQuotestringyes
options
projectBudget

No examples provided.

get_material_catalog ~114

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.

NameTypeReqDescription
categorystringFilter by category: painting, flooring, decking, siding, windows, fencing, landscaping
limitintegerMax results (default 25)
offsetintegerPagination offset (default 0)
searchstringFilter by keyword in material name or description
NameTypeReqDescription
attributionobjectyes
limitnumberyes
notestringyes
offsetnumberyes
results
totalnumberyes

No examples provided.

get_material_options ~72

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.

NameTypeReqDescription
projectTypestringyesThe project type to list materials for
NameTypeReqDescription
attributionobjectyes
optionsShape 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).
projectTypestringyes

No examples provided.

get_neighbor_permit_activity ~118

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.

NameTypeReqDescription
addressstringyesFull street address in King, Pierce, or Snohomish County, WA
NameTypeReqDescription
activity
attributionobjectyes
disclaimerstringyes
foundbooleanyes
jurisdiction
supportedJurisdictions

No examples provided.

get_neighborhood_project_activity ~103

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?"

NameTypeReqDescription
neighborhoodstringyesSeattle neighborhood or city, e.g. "Ballard", "Capitol Hill", "Bellevue", "Queen Anne"
NameTypeReqDescription
attributionobject
byCategory
contactUrlstring
messagestringyes
neighborhood
overallPortfolio
portfolioUrlstring
projectsFoundnumberyes
recentExamples

No examples provided.

get_permit_data_freshness ~197

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.

NameTypeReqDescription
jurisdictionSlugstringOptional jurisdiction filter (e.g., "seattle", "bellevue"). When omitted, returns rollup across all jurisdictions.
limitintegerMax snapshots to return (default 5, newest first)
NameTypeReqDescription
attributionobjectyes
changeDetection
coverage
howToReadFailures
jurisdictions
pipelinestringyes
publicViewstringyes
recentSnapshots
sourceHealth
totals

No examples provided.

get_permit_rule_details ~287

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.

NameTypeReqDescription
addressstringFull street address — when provided, each result row also includes `submittals_v2` from the unified resolver (per-item triggers, source citations, filler actor).
jurisdictionstringJurisdiction slug or display name (e.g. "seattle", "bellevue", "tacoma")
keywordstringKeyword in project type, trigger, thresholds, or notes (e.g. "deck", "adu", "egress")
limitintegerMax results (default 10 — rules are ~1K tokens each)
onlyAuthoritativebooleanDefault 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…
NameTypeReqDescription
attributionobjectyes
authoritativeRulesnumberyes
disclaimerstringyes
jurisdictionsWithAuthoritativeCoverage
matchednumberyes
parcel
results
returnednumberyes
totalRulesnumberyes

No examples provided.

get_project ~52

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.

NameTypeReqDescription
slugstringyesThe URL slug of the project
NameTypeReqDescription
attributionobjectyes
slugstring|null
titlestring|null
urlstringyes

No examples provided.

get_project_roi ~149

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?"

NameTypeReqDescription
estimatedCostnumberYour estimated project budget in USD. If provided, returns expected resale value added.
projectTypestringType of project, e.g. "kitchen", "bathroom", "deck", "windows", "siding", "ADU", "basement". Omit to see all projects ranked by ROI.
NameTypeReqDescription
attributionobjectyes
disclaimerstringyes
getAccurateQuotestringyes
marketstringyes
neighborhood
results
sourcestringyesThird-party dataset. Cite it alongside Kolmo.

No examples provided.

get_project_testimonials ~154

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.

NameTypeReqDescription
keywordstringKeyword to fuzzy-match against testimonial project name or content (e.g. "kitchen", "deck")
limitintegerMax results (default 10)
minRatingintegerMinimum star rating (1-5, default 1)
projectSlugstringProject slug to match (e.g. "ballard-kitchen-remodel"). Falls back to title match.
NameTypeReqDescription
attributionobjectyes
averageRatingnumber|nullyes
filterAppliedobjectyes
notestringyes
resultsarrayyes
totalnumberyes

No examples provided.

get_service ~59

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.

NameTypeReqDescription
slugstringyesThe URL slug, e.g. "kitchen-remodeling"
NameTypeReqDescription
attributionobjectyes
descriptionstring|null
slugstring|null
titlestring|null
urlstringyes

No examples provided.

get_weather_window ~99

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.

NameTypeReqDescription
daysintegerNumber of days to forecast (1-14, default 7)
projectTypestringyesType of project to check weather suitability for
NameTypeReqDescription
attributionobjectyes
forecast
forecastDaysnumberyes
locationstringyes
projectType
requirements
summary

No examples provided.

list_blog_posts ~102

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

NameTypeReqDescription
authorstringFilter posts by author name, e.g. "Marcus Reid"
limitintegerMax posts to return (default 10)
offsetintegerPagination offset (default 0)
tagstringFilter posts by tag, e.g. "flooring", "deck", "painting"
NameTypeReqDescription
attributionobjectyes
hubUrlstringyes
limitnumberyes
offsetnumberyes
resultsarrayyes
totalnumberyes

No examples provided.

list_blog_tags_and_categories ~52

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.

Input schema present but exposes no named parameters.

NameTypeReqDescription
attributionobjectyes
categoriesarrayyes
tagsarrayyes
totalPostsnumberyes
usagestringyes

No examples provided.

list_commercial_services ~138

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).

NameTypeReqDescription
categorystringFilter: office, retail, industrial, hospitality, public
limitintegerMax results (default 50)
offsetintegerPagination offset (default 0)
NameTypeReqDescription
attributionobjectyes
hubUrlstringyes
limitnumberyes
offsetnumberyes
publicWorksobjectyes
resultsarrayyes
totalnumberyes

No examples provided.

list_permit_jurisdictions ~248

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.

NameTypeReqDescription
countystringFilter by county
detailbooleanIf 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.
slugstringOne jurisdiction by slug, e.g. "bellevue" or "mercer-island". Returns its full record.
verifiedOnlybooleanIf true, only return rows where portal_url is populated (verified from official source). Default false.
NameTypeReqDescription
attributionobjectyes
detailbooleanyes
results
totalnumberyes

No examples provided.

list_procurement_codes ~132

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.).

NameTypeReqDescription
systemstringCode system to return (default: all)
NameTypeReqDescription
attributionobjectyes
certificationsobjectyes
entitystringyes
naics
nigp
notestringyes
ubistring|nullyes
ueistring|nullyes
unspsc

No examples provided.

list_project_types ~34

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

Input schema present but exposes no named parameters.

NameTypeReqDescription
attributionobjectyes
projectTypesobjectyes

No examples provided.

list_projects ~151

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

NameTypeReqDescription
categorystringFilter. Residential: kitchen, bathroom, full-home, outdoor, garage, basement. Commercial: commercial, public-works.
limitintegerMax results (default 20)
offsetintegerPagination offset (default 0)
searchstringFilter by keyword in project title, description, or location
NameTypeReqDescription
attributionobjectyes
hubUrlstringyes
limitnumberyes
offsetnumberyes
resultsarrayyes
totalnumberyes

No examples provided.

list_reviews ~145

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.

NameTypeReqDescription
limitintegerMax results (default 12 — ~350 tokens per review)
minRatingintegerMinimum star rating to include (1-5, default 1)
offsetintegerPagination offset (default 0)
sourcestringSource to query: all (default), google, testimonials
NameTypeReqDescription
attributionobjectyes
averageRatingnumber|nullyes
googleProfile
limitnumberyes
offsetnumberyes
results
totalnumberyes

No examples provided.

list_services ~73

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

NameTypeReqDescription
limitintegerMax results (default 50)
offsetintegerPagination offset (default 0)
searchstringFilter by keyword in service name or description
NameTypeReqDescription
attributionobjectyes
hubUrlstringyes
limitnumberyes
offsetnumberyes
resultsarrayyes
totalnumberyes

No examples provided.

lookup_parcel_by_address ~210

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.

NameTypeReqDescription
addressstringyesFull street address (e.g., "1234 NE 65th St, Seattle, WA 98115"). Must be in King, Pierce, or Snohomish County, WA.
forceRefreshbooleanSkip the 30-day cache and re-fetch from county GIS + overlay sources. Default false.
NameTypeReqDescription
addressResolution
attributionobjectyes
disclaimerstringyes
foundbooleanyes
nextStepsarrayyes
parcel
warningstring|nullyesSet when the address snapped to a nearby parcel. Confirm with the user before relying on the result.

No examples provided.

match_contractor_to_permit ~152

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.

NameTypeReqDescription
contractorQuerystringyesContractor license number or business name
jurisdictionSlugstringyesPermit jurisdiction slug (e.g. "seattle", "tacoma")
projectTypestringyesCanonical project type (kitchen, bathroom, basement, deck, fence, siding, windows, flooring, adu, roofing, hvac, electrical, plumbing, addition)
NameTypeReqDescription
attributionobject
checks
contractor
matchbooleanyes
missing
permit
reasonstring|null
sourceUrl
verifyUrlstring

No examples provided.

parse_project_description ~217

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.

NameTypeReqDescription
cityNamestringCity name (e.g., "Seattle", "Bellevue")
descriptionstringyesFree-text project description (e.g., "I want to add a 200 sqft deck off my master bedroom on the second floor")
jurisdictionSlugstringJurisdiction slug from lookup_parcel_by_address (helps disambiguate region-specific terminology)
zoningCodestringZoning code from lookup_parcel_by_address (e.g., "NR2", "LR1")
NameTypeReqDescription
attributionobjectyes
nextSteps
parsed
validProjectTypesarrayyes

No examples provided.

resolve_permit_submittals ~269

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. Output fidelity per jurisdiction: Seattle is "full" (verified SDCI Tips with verbatim quotes); the other 9 verified cities are "wa-baseline-stub" until their detail backfill lands. Unverified jurisdictions return no-spec.

NameTypeReqDescription
addressstringyesFull street address — geocoded to a parcel and matched to a jurisdiction provider
envelopeChangebooleanProject alters the building envelope (windows, doors, siding, roof). Default false. Drives WSEC triggers.
projectValuationUsdnumberProject valuation in USD
scopestringyesPermit scope — the (project-type x work-class) identifier the provider catalogs by
structuralChangebooleanProject involves a structural change (header, framing, lateral). Default false. Drives several triggers.
totalFloorAreaSqftnumberTotal floor area in sqft. Used by SEPA threshold (>=12000) and other size-based triggers.
NameTypeReqDescription
address
applicable
attributionobjectyes
disclaimer
jurisdictionFidelity
jurisdictionIdstringyes
okbooleanyes
parcelId
permitType
scopestringyes
skippedCountnumberyes
totals

No examples provided.

search_content ~109

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.

NameTypeReqDescription
limitintegerMax results per type (default 5)
querystringyesSearch keyword or phrase, e.g. "deck Seattle", "kitchen cost", "permit"
typesarrayContent types to include (default: all three)
NameTypeReqDescription
attributionobjectyes
hintstring
nextarrayPresent only on a zero-result search.
querystringyes
resultCountnumberyes
resultsobjectyes
termsarrayyesThe query after tokenizing. Matching is per-term, not whole-string.
totalFoundnumberyesAlias of resultCount, kept for existing callers.

No examples provided.

submit_contact_request ~116

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.

NameTypeReqDescription
dryRunbooleanIf true, validate and preview without submitting (default false)
emailstringyesEmail address
messagestringyesProject description or question
namestringyesFull name
phonestringPhone number (optional)
servicestringService needed, e.g. "kitchen remodel"
NameTypeReqDescription
dryRunbooleanTrue when this was a preview — nothing was submitted.
messagestring
notestring
preview
referencestringOpaque lead reference. Give it to the user; it is how Kolmo locates the request.
successboolean

No examples provided.

Common questions

What is the io.kolmo.www/kolmo-mcp-server server?

io.kolmo.www/kolmo-mcp-server is listed in the public MCP registry as io.kolmo.www/kolmo-mcp-server. WA permit rules (80+ cities, cited), parcel zoning, L&I license checks, Seattle cost estimates & ROI. This page covers its hosted endpoint (https://www.kolmo.io/mcp).

Is the io.kolmo.www/kolmo-mcp-server server safe to use?

io.kolmo.www/kolmo-mcp-server scores 88 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.kolmo.www/kolmo-mcp-server server expose?

io.kolmo.www/kolmo-mcp-server exposes 36 tools: get_business_info, list_services, get_service, list_commercial_services, list_procurement_codes, and 31 more. Their descriptions and schemas cost roughly 6,615 tokens of context every time the server is loaded.

Does the io.kolmo.www/kolmo-mcp-server server require authentication?

No. We connected to io.kolmo.www/kolmo-mcp-server without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the io.kolmo.www/kolmo-mcp-server server still maintained?

io.kolmo.www/kolmo-mcp-server is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.