Boulder County Dryer Vent Booking

com.bouldercountydryerventv1.0.0更新于 Sep 30, 2026

Book Boulder County dryer vent cleaning via MCP ($129/$169). Confirm in 1 business day.

已验证Streamable HTTP可网页运行Other

安装

在 SourceWeft 中

  1. 打开 控制台中的 Boulder County Dryer Vent Booking,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "booking": {
      "type": "http",
      "url": "https://keeps-pty-ultimately-payroll.trycloudflare.com/mcp"
    }
  }
}

README

Boulder County Dryer Vent

Public marketing site and booking funnel for Boulder County Dryer Vent (never "Co."). Static HTML/CSS/JS with no dependencies, built by a tiny Node script and published to GitHub Pages.

Live: https://bouldercountydryervent.com/ · See STATUS.md for deploy state.

Stack

  • Plain HTML, one stylesheet (src/static/css/site.css), two small scripts (site.js, book.js). No framework, no npm packages.
  • scripts/build.mjs (zero dependencies, Node ≥ 20) renders src/pages/*.mjs templates with data from src/data/site.mjs into dist/.
  • Design: the "Industry" system from the Claude Design export — Barlow Condensed over Barlow, blueprint frames with + corner marks, ember #E8632B / ink #1F2A37 / sand #F6F1EA.
  • Deploy: .github/workflows/pages.yml builds on every push to main and publishes dist/ (Pages source = GitHub Actions). The custom domain is configured in repo Settings → Pages; no CNAME file is needed for Actions deploys. Do not change IONOS MX/SPF/DKIM/DMARC.

Local development

bash
node scripts/build.mjspython -m http.server 8787 -d dist

Open http://localhost:8787/. Any static server pointed at dist/ works.

Where things live

ChangeFile
Phone, email, address, hours, legal entitysrc/data/site.mjs → site
Prices, price cards, route-fill notesrc/data/site.mjs → prices, priceCards
Towns, zips, per-town copy, map pin positionssrc/data/site.mjs → towns
FAQs, service steps, warnings, trust barsrc/data/site.mjs
Where booking/contact forms are deliveredsrc/data/site.mjs → forms.endpoint (see below)
First-party analytics beaconsrc/data/site.mjs → analytics.endpoint (Ava collector /hit; empty = off)
Nav links, header, footer, CTA band, <head> / schemasrc/templates/layout.mjs
Page markupsrc/pages/*.mjs
Blog postssrc/content/blog/*.md (frontmatter: title, slug, date, category, readTime, image, imageAlt, description)
Photossrc/static/img/ (service photos) and src/static/img/cities/ (licensed town scenery — see CREDITS.md)

Routes

/, /dryer-vent-cleaning/, /pricing/, /book/, /areas/, /areas/{city}-co/, /blog/, /blog/{slug}/, /reviews/, /about/, /contact/, /legal/terms/, /legal/privacy/, /credits/, /agents/, 404.html, sitemap.xml, robots.txt. Bare /terms/ and /privacy/ redirect to the /legal/ pages. Legacy /{city}-co-dryer-vent-cleaning/ URLs redirect to the /areas/ pages.

Booking flow and forms

/book/ is a three-step flow: two eligibility questions → published price ($129 standard, $169 roof / second story / run over ~15 ft) → request a time. There is no server, so:

  • Default (forms.endpoint empty): submitting the booking request or contact form composes an email to site.email on the visitor's device with every field filled in, and the confirmation screen shows the request summary plus the phone number as a fallback.
  • Recommended: create a free form endpoint (Formspree or similar), paste the URL into forms.endpoint, and rebuild. Submissions are then POSTed as JSON and land in your inbox without the visitor's mail app being involved.
  • Real appointment slots: book.js already renders slot buttons when window.BCDV.slots is non-empty. Wire slots in src/templates/layout.mjs (the cfg object) to a real schedule source when one exists. Until then the flow shows the honest empty-calendar state.

Prices

PriceWhen
$129Standard — ground-floor side-wall termination, run under ~15 ft
$169Difficult — roof or second-story termination, long or bending runs
$109 / yearAnnual plan after the first visit
$99Route-fill — ops only, never on the public site

Phone everywhere: (720) 605-3198. Customer NAP: 6395 Gunpark Dr, Suite J, Boulder, CO 80301.

Legal

Frost River Capital, LLC d/b/a Boulder County Dryer Vent. Trade name ID 20268139028. Notices: 2369 S. Trenton Way Suite P, Denver, CO 80231. [email protected]. Cancel ≥ 24h: refund. Cancel < 24h: credit for 90 days.

Content rules

  • No fabricated reviews, ratings, review counts, or owner bios. /reviews/ and the home reviews band stay honest until customers write in.
  • No placeholder appointment times. The calendar is empty until real capacity exists.
  • Blog is customer education only.

来源:README.md,提交 11a6b8e

工具

0
工具元数据尚未被收录。

版本历史

1
  1. v1.0.0最新Sep 16, 2026