The Septic Guide
Perizinan sistem septik di AS berdasarkan negara bagian, perusahaan sistem septik yang sesuai dengan lisensi, dan panduan biaya sistem septik yang disertai sumber.
Server MCP Terhosting
npx add-mcp 'https://mcp.thesepticguide.com/mcp'Terpasang ke Claude Code, Codex, Cursor, dan lainnya
Dokumentasi
The Septic Guide MCP server
Read-only Model Context Protocol server for thesepticguide.com, a U.S. septic contractor directory built from published state license and certification records.
No API key. No writes. Every result carries a source_url on thesepticguide.com.
Tools
| Tool | What it returns |
|---|---|
list_states | States with a licensing page and/or company directory, with links |
get_state_licensing | state (name or code): the agency that licenses septic work, its official lookup URL, page date, and the page's licensing Q&A |
search_septic_companies | state plus optional city, county, zip, service, licensed_only, limit: listings with license number(s), agency verify link, phone, website, profile link |
get_cost_guide | optional topic (e.g. pumping, drain field): short answer, cost tables, and the third-party sources the page cites. No topic = list topics |
Data
By default the server answers from a bundled snapshot in data/ (data/snapshot.json for the index, licensing and cost pages, plus one gzipped file per state in data/companies/). Every response includes data_mode and data_as_of (the snapshot date). Rebuild it with:
npm run snapshot # crawls thesepticguide.com (sitemap, state + county pages) and rewrites data/
Set TSG_LIVE=1 to skip the snapshot and read thesepticguide.com live instead (6-hour in-memory cache). Live mode is also used automatically if data/ is missing.
Company counts
Each state page's meta description gives a headline number (e.g. Texas: "363 septic companies"). In some states the listings actually rendered on the state page plus its county pages come to fewer (Texas: 360). The server never pads results: search_septic_companies reports listed_on_pages (rendered listings it searched) and state_page_headline_count (the page's own number), with a count_note when they differ. Same-name listings with different services or license records are distinct state-list records and are kept.
Data & limits
- Read-only. No writes, no API key, no user data collected.
- Public data from thesepticguide.com. Every result carries a
source_urlon thesepticguide.com. - License data comes from published state agency license and certification lists, as matched by thesepticguide.com. Confirm any license with the agency
verify_urlbefore hiring. - Not affiliated with any state agency.
- Snapshot data can lag the live site; check
data_as_of.
Use
Remote (Streamable HTTP): https://mcp.thesepticguide.com/mcp
Local (stdio):
git clone https://github.com/archer-clawbot/thesepticguide-mcp && cd thesepticguide-mcp && npm install && npm run build
{ "mcpServers": { "thesepticguide": { "command": "node", "args": ["/path/to/thesepticguide-mcp/dist/stdio.js"] } } }
Docker: docker build -t thesepticguide-mcp . && docker run -i --rm thesepticguide-mcp
Develop:
npm install && npm run build
npm test # stdio smoke test with the MCP SDK client
npm test -- http # same against MCP_URL (default http://localhost:3000/mcp)
npm run start:http # http://localhost:3000/mcp
Deploy on Vercel: api/mcp.ts + vercel.json (rewrites /mcp to the function).
License
MIT. Copyright (c) 2026 Catalyst Digital Services LLC.