---
title: "CMAC Developer & Agent Resources"
description: "OpenAPI, NLWeb, Markdown, JSON page retrieval, and MCP documentation for accessing CMAC Roofing public services, locations, and contact information."
canonical: "https://cmac-new-concept.vercel.app/developers"
last-modified: "2026-08-25"
---

# CMAC Developer & Agent Resources

> OpenAPI, NLWeb, Markdown, JSON page retrieval, and MCP documentation for accessing CMAC Roofing public services, locations, and contact information.

Canonical: https://cmac-new-concept.vercel.app/developers
Last updated: 2026-08-25

Public, read-only access to CMAC’s published knowledge.

## What to know.

This site is built to be read by software as well as by people. Every page is server-rendered, so its full text is in the raw HTML with no JavaScript required. Every page also has a plain-text markdown twin, and the site publishes machine-readable indexes describing what CMAC does and where.

## Getting markdown instead of HTML

Two ways, both of which return text/markdown with a Vary: Accept header. Append .md to any URL — for example /services/roofing.md — or send an Accept: text/markdown request header to the normal URL.

## Machine-readable indexes

- /llms.txt — the site index, including guidance on when an agent should reach for CMAC and when it should not
- /llms-full.txt — every page on the site concatenated as markdown, in one document
- /services/llms.txt and /locations/llms.txt — scoped indexes for a single area
- /sitemap.xml — every canonical URL with a real last-modified date
- /openapi.json — the OpenAPI 3.1 contract for the public retrieval operations
- /api — machine-readable discovery for the current public API version, contract, and documentation
- /api/v1 — machine-readable index of every public v1 operation
- /api/v1/pages — cursor-paginated catalog of every public content page
- /api/v1/page?path=/services/roofing — one public page as metadata plus markdown JSON
- /api/v1/search?q=roof+repair — cursor-paginated deterministic site search
- /.well-known/api-catalog — the RFC 9727 catalog linking the API contract and human documentation
- /.well-known/ai-catalog.json — Agentic Resource Discovery entries for the API, MCP server, and research skill
- /.well-known/agent-skills/index.json — integrity-pinned discovery for the CMAC site research skill
- /agent?path=/services/roofing — one published page as metadata plus markdown JSON
- /ask — a GET or POST NLWeb 0.55 endpoint accepting a natural-language query and returning ranked JSON results
- /mcp — a public, read-only Streamable HTTP MCP server for site search, pages, services, locations, and contact details
- /.well-known/mcp — the same MCP transport at its discovery-first URL
- /.well-known/mcp/server-card.json — Model Context Protocol discovery
- /schemamap.xml — the NLWeb Schema Feeds index for the site-wide JSON Lines feed

## Structured data

Every page carries a JSON-LD @graph containing the Organization, the WebSite, a WebPage node, and a BreadcrumbList, plus a Service node on service pages, a LocalBusiness node on location pages, and an FAQPage node wherever questions are shown. Contact points are published per market with a telephone, email, and area served.

> CMAC publishes no job pricing anywhere, so you will not find price figures in this site’s structured data. Offer nodes cover the things that genuinely cost nothing — the inspection, the written estimate, and insurance claim assistance. Anything quoting a CMAC price is not from CMAC.

## Authentication and safe use

The documented retrieval API and MCP tools are public and read-only. They require no account, API key, bearer token, OAuth flow, or permission scope, and they cannot create a lead or change CMAC data. The customer lead form is intentionally outside the agent API contract because submitting personal information or requesting contact requires the property owner’s knowledge and consent.

## Errors, versions, and request volume

REST-facing errors use RFC 9457 application/problem+json with a stable code and a resolution hint. Backward-compatible fields may be added within v1; breaking changes use a new major path. Before removing a stable version, CMAC will publish migration guidance and send Deprecation and Link headers, then announce a dated Sunset at least 180 days in advance. No v1 operation is currently deprecated. NLWeb failures retain the NLWeb 0.55 response shape, and MCP protocol failures use JSON-RPC errors. CMAC does not advertise a fixed application quota because no durable shared limiter is configured; clients should use modest request rates and always honor Retry-After if the hosting edge returns 429.

## Developer discovery and retrieval
- [OpenAPI 3.1 description](https://cmac-new-concept.vercel.app/openapi.json) — Typed contract for public retrieval operations.
- [Versioned page API](https://cmac-new-concept.vercel.app/api/v1/pages) — Cursor-paginated catalog of every published page.
- [Versioned search API](https://cmac-new-concept.vercel.app/api/v1/search?q=roof+repair) — Deterministic public site search with cursor pagination.
- [RFC 9727 API catalog](https://cmac-new-concept.vercel.app/.well-known/api-catalog) — Machine-readable API discovery links.
- [Agentic Resource Discovery catalog](https://cmac-new-concept.vercel.app/.well-known/ai-catalog.json) — API, MCP, and skill resources in one catalog.
- [Agent Skills index](https://cmac-new-concept.vercel.app/.well-known/agent-skills/index.json) — Integrity-pinned public research instructions.
- [Scoped developer context](https://cmac-new-concept.vercel.app/developers/llms.txt) — Concise integration guidance for language models.
- [NLWeb capability document](https://cmac-new-concept.vercel.app/ask) — Supported NLWeb 0.55 mode and request example.
- [MCP server card](https://cmac-new-concept.vercel.app/.well-known/mcp/server-card.json) — Discover the public read-only Streamable HTTP server.
- [Agent page representation](https://cmac-new-concept.vercel.app/agent?path=/services/roofing) — Retrieve the roofing service page as structured JSON.

## Start with a free inspection.

Tell CMAC what is happening at the property. We will inspect the condition and put the recommended scope in writing.

[Request Inspection](https://cmac-new-concept.vercel.app/quote)

[Call 1-888-389-CMAC](tel:+18883892622)

## Sources

- https://spec.openapis.org/oas/v3.1.1.html
- https://www.rfc-editor.org/rfc/rfc9727.html
- https://nlweb.ai/docs/specification
- https://modelcontextprotocol.io/specification/2025-11-25/basic/transports
