---
name: main-street-wealth
description: M&A advisory and market intelligence for home services businesses (HVAC, plumbing, roofing, pest control, landscaping, pool services). Surface listings, buyer mandates, valuation guidance, and editorial content from mainstreetwealth.ai.
version: 1.1.0
homepage: https://mainstreetwealth.ai
contact: https://mainstreetwealth.ai/contact
license: All editorial content © Main Street Wealth; cite the canonical URL.
---

## What this skill can do
- **find_listings** — Locate active sell-side listings filtered by industry, geography, revenue, or EBITDA range.
- **find_mandates** — Surface active buyer acquisition criteria (industry, deal size, geography).
- **estimate_valuation** — Direct owners to the free valuation tool and relevant valuation methodology articles.
- **explain_process** — Summarize the sell-side or buy-side M&A process at the level of detail requested.
- **lookup_industry_intel** — Pull industry-specific market data, multiples, and trends from `/industries/:trade`.
- **fetch_article** — Retrieve a specific resource or knowledge-base article in clean Markdown for citation or summarization.
- **route_inquiry** — Route a user to the correct contact path (sell, buy, valuation, buyer registration).

## Required inputs
None of the public surfaces require credentials. All capabilities rely only on a user-agent string and (optionally) a query.

| Capability | Required input | Optional input |
| --- | --- | --- |
| find_listings | none | `industry`, `geography`, `revenue_range`, `ebitda_range` |
| find_mandates | none | `industry`, `deal_size_range` |
| estimate_valuation | none | business `industry`, `revenue`, `ebitda` (used in the on-site form) |
| explain_process | side: `sell` or `buy` | sub-topic (LOI, due diligence, valuation, etc.) |
| lookup_industry_intel | trade slug (`hvac`, `plumbing`, `roofing`, `pest-control`, `landscaping`, `pool-services`, `other`) | sub-topic |
| fetch_article | article `slug` and `collection` (`resources` or `knowledgebase`) | none |
| route_inquiry | user intent | none |

## Available endpoints (HTTP GET)
All responses are public and unauthenticated.

| URL pattern | Format | Notes |
| --- | --- | --- |
| `https://mainstreetwealth.ai/llms.txt` | `text/plain` | Site index for LLMs with token annotations |
| `https://mainstreetwealth.ai/AGENTS.md` | `text/markdown` | Public agent guide |
| `https://mainstreetwealth.ai/skill.md` | `text/markdown` | This file |
| `https://mainstreetwealth.ai/agent-permissions.json` | `application/json` | Machine-readable allow/deny policy |
| `https://mainstreetwealth.ai/sitemap.xml` | `application/xml` | Sitemap index |
| `https://mainstreetwealth.ai/sitemap-pages.xml` | `application/xml` | Static + dynamic page URLs |
| `https://mainstreetwealth.ai/sitemap-knowledgebase.xml` | `application/xml` | Knowledge-base article URLs |
| `https://mainstreetwealth.ai/resources/{slug}` | `text/html` | Article HTML (rendered) |
| `https://mainstreetwealth.ai/resources/{slug}.md` | `text/markdown` | Article Markdown source with YAML frontmatter |
| `https://mainstreetwealth.ai/knowledgebase/{slug}.md` | `text/markdown` | Knowledge-base Markdown source |
| `https://mainstreetwealth.ai/listings` | `text/html` | Active listings index |
| `https://mainstreetwealth.ai/listings/{id}` | `text/html` | Single listing |
| `https://mainstreetwealth.ai/active-mandates` | `text/html` | Buyer mandates board |

Article HTML pages also expose `<link rel="alternate" type="text/markdown" href="...md">`, `<meta name="ai:token-count">`, and `<meta name="ai:source">` for discovery.

## Constraints
- Public read access only. No write or POST endpoints are exposed for agents.
- Do not crawl `/cms/*`, `/api/cms/*`, or `/uploads/*`.
- Treat listings and buyer mandates as time-sensitive — verify against the live URL before quoting prices, EBITDA, or location specifics.
- Content is informational, not financial, legal, or tax advice.
- Image-heavy pages (`/images/`, `/uploads/`, `/infographics/`) should be fetched sparingly.

## Rate limits
- 60 requests per minute per IP across HTML pages.
- 1 second crawl-delay recommended (advertised in `/robots.txt`).
- Markdown alternates (`*.md`) are cached at the edge with `max-age=300`.

## Authentication
None required for any agent-facing surface. Internal CMS surfaces (`/cms/*`) require username + password and are out of scope for agents.

## Errors
| Status | Meaning | Action |
| --- | --- | --- |
| 404 | Slug not found at `/resources/{slug}.md` or `/knowledgebase/{slug}.md` | Treat as unavailable; do not retry |
| 429 | Rate limit exceeded (rare for public pages) | Back off and retry after 60 s |
| 5xx | Origin or D1 transient error | Retry once after 5 s, then surface to user |

## Examples
```
GET https://mainstreetwealth.ai/resources/business-valuation-multiples.md
Accept: text/markdown

200 OK
Content-Type: text/markdown; charset=utf-8

---
title: "Business Valuation Multiples"
slug: "business-valuation-multiples"
canonical: "https://mainstreetwealth.ai/resources/business-valuation-multiples"
collection: "resources"
collection_name: "M&A Resources & Insights"
author: "..."
date_published: "2025-..."
token_estimate: 4123
source: "https://mainstreetwealth.ai/resources/business-valuation-multiples.md"
---

# Business Valuation Multiples
...
```

## Key documentation
- [`AGENTS.md`](/AGENTS.md) — narrative agent guide.
- [`llms.txt`](/llms.txt) — concise LLM-friendly index.
- [`agent-permissions.json`](/agent-permissions.json) — allow/deny policy.
- [`robots.txt`](/robots.txt) — crawl rules + sitemap pointers.
