Skip to main content
Glama
Kolmo-Construction

Kolmo Construction

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}
prompts
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_business_infoA

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

list_servicesA

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

get_serviceA

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.

list_commercial_servicesA

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

list_procurement_codesA

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

list_projectsA

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

get_projectA

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.

get_project_testimonialsA

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.

list_blog_postsA

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

get_blog_postA

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

list_blog_tags_and_categoriesA

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.

submit_contact_requestA

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.

list_project_typesA

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

get_material_optionsA

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.

get_estimateA

Calculate a Seattle-area cost estimate. Returns a planning range, point cost, material/labor split, days, and itemized line items.

Material IDs: get_material_options returns exact IDs; a close match (lvp, composite, cedar) also resolves, and an ambiguous one returns the valid list.

Required fields by projectType — ? = optional, (mat) = material ID:

interior-painting: rooms(Array<{id,name,length(ft),width(ft),height(6-30),paintCeiling(bool),paintTrim(bool),doorCount,windowCount,surfaceCondition(new-drywall|good-condition|poor-condition),trimComplexity(baseboards-only|simple-trim|complex-trim),wallTexture(smooth|light-texture|heavy-texture),roomEmpty(bool)}>) | paintQuality(mat) | paintFinish(flat|eggshell|satin|semi-gloss|gloss) | includesPrimer(bool) | majorColorChange(bool) exterior-painting: wallArea(sqft) | trimArea(sqft) | doorCount | paintQuality(mat) | surfacePrepLevel(minimal|moderate|extensive) | includesPrimer(bool) | stories(1-3) | colorChange(bool) flooring: rooms(Array<{id,name,length(ft),width(ft)}>) | flooringMaterial(mat: standard-lvp-flooring,engineered-hardwood-oak,ceramic-tile-12x24) | includesUnderlayment(bool) | underlaymentType?(mat) | includesBaseboard(bool) | baseboardType?(mat) | baseboardLinearFeet? | includesRemoval(bool) | removalType?(carpet|tile|hardwood) | includesSubfloorPrep(bool) | transitionCount deck: deckType(new|existing) | dimensions({length,width,height(ft off ground)}) | deckingMaterial(mat: pressure-treated-decking,composite-decking-basic) | framingMaterial(mat: pressure-treated-framing-2x6) | includesRailing(bool) | railingMaterial?(mat) | railingLinearFeet? | includesStairs(bool) | stairSteps?(0-20) | deckShape(rectangle|l-shape|angled-corners|multi-level) | skirtingType(none|lattice|matching-board) windows: windows(Array<{id,windowType(double-hung|casement|slider|bay),width(inches 12-120),height(inches 12-120),quantity}>) | qualityLevel(standard|premium|luxury) | includesTrimWork(bool) | trimMaterial?(mat) | includesRemoval(bool) | energyEfficient(bool) siding: wallArea(sqft) | sidingMaterial(mat) | includesInsulation(bool) | insulationType?(string) | homeHeight(single-story|two-story|three-story) | includesRemoval(bool) | existingSidingType?(string) | trimLinearFeet(number) | soffit(bool) | soffitLinearFeet?(number) fence: linearFeet | fenceMaterial(mat) | height(ft, 3-8) | gateCount(0-10) | gateWidth?(ft) | style?(e.g. privacy,picket) | includesRemoval(bool) | terrain(flat|sloped|mixed) | concreteFootings(bool) landscaping: yardArea(sqft, 100–50000) | includesIrrigation(bool) | irrigationType?(string) | irrigationZones?(1–20) | includesSod(bool) | sodSquareFeet(REQUIRED when includesSod, no default) | includesMulch(bool) | mulchSquareFeet?(defaults to yardArea) | includesSitePrep(bool) | plants?(Array<{id,plantType,quantity,size(small|medium|large)}>) | hardscapeFeatures?(Array<{id,featureType,squareFeet,material}>) kitchen: kitchenSize(sqft, 40-600) | scope(cosmetic|standard|full-gut) | cabinets(keep|reface|prefab|semi-custom|custom) | countertop(keep|laminate|butcher-block|quartz|granite|marble) | appliances(keep|budget|mid-range|premium) | flooring(keep|lvp|tile|hardwood) | backsplash?(bool) | plumbingRelocation?(bool) | electricalUpgrade?(bool) | island?(bool) | lighting?(bool) bathroom: bathroomType(half-bath|full-bath|primary-bath|accessible) | bathroomSize(sqft, 20-300) | scope(cosmetic|standard|full-gut) | showerTub(keep|tub-to-shower|walk-in-shower|tub-replacement|freestanding-tub) | vanity(keep|budget|mid-range|premium) | tileWork(none|floor-only|floor-and-shower|full-tile) | heatedFloors?(bool) | newLighting?(bool) | ventilation?(bool) | plumbingRelocation?(bool) basement: basementSize(sqft, 150-3000) | scope(open-rec-room|standard-finish|full-suite) | ceilingHeight(under-7ft|7-to-8ft|over-8ft) | moistureCondition(dry|minor-dampness|active-water) | egress(has-egress|needs-egress|not-required) | bathroom(none|half-bath|full-bath) | kitchenette(none|wet-bar|full-kitchenette) | bedroomCount(0-3) | flooring(lvp|carpet|polished-concrete|tile) | insulation(existing|walls-only|walls-and-ceiling) | hvac(extend-existing|mini-split|none-needed) | electricalSubpanel?(bool) | homeAgePre1978?(bool) adu: type(dadu|aadu|basement-conversion|garage-conversion) | sizeSqft(200-1200; DADU cap 1,000sf) | finishTier(builder|standard|premium) | foundation?(slab|crawl|stem-wall, default crawl; moves the total) | sitework?(minimal|standard|heavy) | utilityRunFeet?(0-500) | treeRemovalCount?(0-10) | preApprovedPlan?(bool) | homeAgePre1978?(bool) ada: projectScope(single-room|whole-home|bathroom-specific) | modifications({grabBars?,walkInShower?,widerDoorways?,ramp?,nonSlipFlooring?,leverHandles?,raisedToilet?,rollUnderSink?,accessibleCounters?,stairLift?} all bool) | currentCondition(minor|moderate|major) | homeStories?(1-3) | doorwayCount?(0-20) | rampLengthFeet?(0-60) | flooringSquareFeet?(0-5000)

list_reviewsA

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.

check_permit_requirementsA

Check whether a residential construction project in King/Pierce/Snohomish counties requires a permit. 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.

get_permit_rule_detailsA

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.

match_contractor_to_permitA

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.

estimate_permit_feeA

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.

resolve_permit_submittalsA

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.

list_permit_jurisdictionsA

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.

lookup_parcel_by_addressA

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.

parse_project_descriptionA

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.

answer_permit_questionA

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

get_neighbor_permit_activityA

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.

get_permit_data_freshnessA

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.

get_material_catalogA

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.

get_weather_windowA

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.

get_neighborhood_project_activityA

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

check_service_area_coverageA

Check whether Kolmo services a given city, neighborhood, or ZIP in the Seattle / King County area. Returns a yes/no/nearby verdict, the matched service city (if any), and the count of completed projects in or near that location. Use before recommending Kolmo to a lead to confirm coverage.

get_project_roiA

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

check_contractor_license_statusA

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.

get_author_bioA

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.

search_contentA

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.

get_financing_optionsA

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.

Prompts

Interactive templates invoked by user choice

NameDescription
estimate_projectGet a guided prompt for estimating a home remodeling project cost in Seattle. Walks the agent through gathering dimensions, materials, and calling get_estimate.
check_permit_needsGet a guided prompt for determining permit requirements for a construction project in King County / Seattle area.
plan_renovationGet a comprehensive renovation planning prompt covering budget, timeline, permits, materials, financing, and ROI for a Seattle remodel.
verify_contractorGet a prompt for verifying a Washington state contractor's license, bond, and insurance before hiring.
compare_financingGet a prompt for comparing home renovation financing options for a given budget.
explore_neighborhoodGet a prompt for researching local project activity, weather, and comparable work in a specific Seattle neighborhood.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 36 tools

Disambiguation3/5

Most tools have distinct resources and actions, but several clusters overlap: check_permit_requirements, get_permit_rule_details, answer_permit_question, and resolve_permit_submittals all cover permit questions; get_material_options and get_material_catalog both serve material discovery; get_project_testimonials and list_reviews overlap; and get_neighbor_permit_activity vs get_neighborhood_project_activity are very similar in name and scope. The detailed descriptions help disambiguate, but misselection is still a real risk.

Naming Consistency5/5

Tool names follow a highly consistent snake_case verb_noun pattern throughout: list_*, get_*, check_*, estimate_*, resolve_*, lookup_*, parse_*, answer_*, and submit_*. Even longer names like check_service_area_coverage and get_permit_data_freshness preserve the same convention with no mixed casing or arbitrary verb styles.

Tool Count2/5

36 tools is well above the 25+ threshold and feels heavy even for a broad construction company MCP. The count is padded by overlapping permit tools and multiple discovery/list endpoints that could likely be consolidated without losing capability.

Completeness4/5

The tool surface covers the main homeowner and contractor journeys remarkably well: estimating, materials, permits, services, projects, reviews, blog content, financing, ROI, weather, and service-area checks. Minor gaps exist—such as no dedicated commercial-service detail endpoint and no scheduling/booking tool—but submit_contact_request and the rich listing tools allow agents to work around them.

Maintenance

ActivityMaintained
ResponsivenessSlow