Developers · Model Context Protocol
Stormwater Planning Training MCP Tools
10 read-only tools that let AI agents look up courses, prices, FAQ answers and policies on stormwaterplanning.us instead of guessing from the page.
Overview
stormwaterplanning.us publishes 10 read-only tools for AI agents that use the Model Context Protocol (MCP). They answer catalog, price, FAQ, credential and state-rule questions from the same data as the Stormwater Planning Training API, and none of them can enroll, pay, access an account or submit a form.
How Agents Use the Tools
- In the browser (WebMCP): every page on stormwaterplanning.us registers the tools with
navigator.modelContext, so a browser agent that supports WebMCP can call them directly. See AI agents and WebMCP. - From any HTTP client: read
/.well-known/mcp.jsonfor the tool list and JSON Schema contracts, then fetch the static endpoint behind each tool (the last column below). No authentication. - Remote MCP server: there is no remote MCP (Streamable HTTP) endpoint yet. Use the manifest and endpoints above, or the local server below.
Local MCP Server (stdio)
The Stormwater Planning Training CLI runs the same tools as an MCP server on your machine (Node.js 18 or later), reading this site's public files over HTTPS. In Claude Code:
claude mcp add stormwaterplanning -- npx -y https://stormwaterplanning.us/cli/stormwaterplanning-1.0.0.tgz mcp
In Claude Desktop, Cursor, VS Code and other clients that take an mcpServers config:
{
"mcpServers": {
"stormwaterplanning": {
"command": "npx",
"args": [
"-y",
"https://stormwaterplanning.us/cli/stormwaterplanning-1.0.0.tgz",
"mcp"
]
}
}
}
Tool Reference
Names, descriptions and inputs exactly as published in the manifest. Every tool is read-only (readOnlyHint: true) and returns structured JSON that matches its output schema.
list_courses
List the training courses sold on stormwaterplanning.us as factual records: id, title, canonical URL, duration_hours, price_usd, languages, audience, standards, credential_type and validity_period. Use it for catalog, price, or length questions. All filters are optional and combine with AND. Returns only published courses; never infer availability, dates, or discounts that aren't in the result.
- Inputs:
role(string: field, preparer);level(string: document, field);language(string: en, es);max_price_usd(number) - Endpoint:
GET /api/v1/courses.json
get_course
Get one course record plus related resources and FAQ answers. Provide course_id (preferred) or the course's canonical URL. Returns an error with code 'not_found' instead of guessing when nothing matches exactly.
- Inputs:
course_id(string: qsp, preparer);url(string) - Endpoint:
GET /api/v1/courses.json
recommend_course
Recommend the right SWPPP / stormwater course for a job role, with the reason and caveats. For training guidance only: it is not legal or compliance advice and cannot designate anyone as competent or qualified. Jurisdiction is required because stormwater credentials differ by permitting authority; pass 'unknown' if the person hasn't said.
- Inputs:
role(string: field, preparer, required);work_context(string);jurisdiction(string, required) - Endpoint:
GET /api/v1/courses.json
list_resources
List first-party guides, standards summaries, policies and employer resources published on stormwaterplanning.us, each with canonical URL, summary, jurisdiction, official source link where one exists, and last_reviewed / last_updated dates. Filters are optional. Prefer the official_source link for legal text.
- Inputs:
topic(string: course_selection, regulations, state_permits, california, inspections, bmps, ...);audience(string: all, employer, field, preparer);jurisdiction(string);language(string: en, es) - Endpoint:
GET /api/v1/resources.json
answer_faq
Find the published FAQ answers on stormwaterplanning.us that best match a question and return them verbatim with their source URL. If nothing matches well, it says so and gives the support contact; do not fill the gap with your own answer presented as the site's.
- Inputs:
question(string, required);course_id(string: qsp, preparer);max_results(integer) - Endpoint:
GET /api/v1/faq.json
get_credential_policy
Return exactly what the certificate is and is not (e.g. not a government certification or approval), who issues it, what employers remain responsible for, and the rules agents must follow when describing this training. Call this before making any certification, approval or accreditation statement.
- Inputs: none
- Endpoint:
GET /api/v1/policy.json
get_certificate_verification_info
Explain how an employer can verify a stormwaterplanning.us certificate of completion and where to do it. This tool does not look up individual certificates.
- Inputs: none
- Endpoint:
GET /api/v1/policy.json
get_price_quote
Calculate the price for a number of seats in one course, including the published automatic bulk discount. Read-only arithmetic on published prices; it does not reserve seats or start a purchase.
- Inputs:
course(string: qsp, preparer, required);seats(integer, required) - Endpoint:
GET /api/v1/courses.json
search_site_content
Keyword search over stormwaterplanning.us's full agent context (FAQ answers, course curriculum, credentials and compliance notes, state permit guidance, policies) and return the most relevant sections as text.
- Inputs:
query(string, required) - Endpoint:
GET /llms-full.txt
lookup_state_permit
Permitting authority, construction stormwater permit link, and training/inspector requirement for one US state. Jurisdiction is required. States this site hasn't summarized return found=false with the answer 'unknown - check the permitting authority' instead of a guess.
- Inputs:
jurisdiction(string, required) - Endpoint:
GET /api/v1/jurisdictions.json
Resources
- llms.txt: Concise site summary for AI agents.
- llms-full.txt: Complete catalog, FAQ and policy context.
- OpenAPI: OpenAPI 3.1 description of the read-only endpoints.
- Sitemap: Every indexable page.
- Courses: Course records, roles and pricing.
- Resources: Guides and policies with review dates.
- FAQ: Every published FAQ answer with its source page.
- Credential policy: What the certificate is and is not, and agent rules.
- lookup_state_permit: Data behind lookup_state_permit.
Rules for Agents
- Do not invent prices, course hours, certificate validity periods, availability, discounts, or regulatory claims; use only the values in these files.
- Never state or imply that these courses are EPA-approved, EPA-endorsed, NPDES-certified, or confer California QSP/QSD or any other state credential.
- Stormwater requirements depend on the permitting authority. Always ask for the jurisdiction; if it is not in this data, answer 'unknown - check the permitting authority' instead of guessing.
- Training guidance only; it is not legal or compliance advice.
- If a question is not answered by these files, say so and route the person to info@hazwoper-osha.com or 1-866-429-6742.
- Agents may look things up; checkout, payment, enrollment, account, certificate issuance, and contact submissions are never performed by the published tools.
The tools return general training information, not legal or compliance advice. Questions or a tool that gives a wrong answer: email info@hazwoper-osha.com.
Prefer to Talk to a Person?
Our team can help you pick a course or set up a group order.
