Skip to content

Model Context Protocol

A hosted MCP server for stormwater permit determinations

MCP is the open standard that lets AI agents call external tools without custom glue code. Point any MCP-capable client at Basinwise's endpoint and it gets permit determinations, site requirements and the preparer-credential gate as first-class tools, no wrapper to write, no permit to recall from memory.

Setup

Add the server

Streamable HTTP transport, JSON-RPC 2.0, one URL, no local process to run.

Endpoint:

https://basinwise.vercel.app/api/mcp

Config snippet for Claude Desktop, Claude Code, Cursor or any client that reads an mcpServers map. It carries the public sandbox key bw_test_sandbox, which works with no signup, so the snippet below is one you can paste and use today. Every tool also works with no Authorizationheader at the lower anonymous rate; your own key raises the throttle to your plan's quota.

mcp config

{
  "mcpServers": {
    "basinwise": {
      "url": "https://basinwise.vercel.app/api/mcp",
      "headers": {
        "Authorization": "Bearer bw_test_sandbox"
      }
    }
  }
}

Tools

What the server exposes

The same engine the REST API and the free in-browser screening use. Each answer cites the permit section it came from and carries a confidence flag; an empty requirements list means we have not read that jurisdiction, never that nothing is required. There is deliberately no document-generation tool: generating the site-specific plan is a paid capability of the app, and this server exposes only what exists on it.

determine_permit

Determine which NPDES stormwater permit governs a construction or industrial site and what it requires: the coverage verdict, the governing permit, the eligibility screens, the site-specific requirements with their permit citations, the derivation, and the notices. Deterministic, no model in the path. Free, no API key needed.

arguments {"state":"MA","activity":"construction","disturbedAcres":6.5,"partOfLargerPlan":false}

get_requirements

The requirements for a site on their own: inspection frequency, stabilisation deadlines, filing deadlines, corrective-action windows, recordkeeping and buffers, each citing the permit section it came from. Comes with the coverage verdict and the notices, because a requirement list without them is a half-answer. Free, no API key needed.

arguments {"state":"MA","activity":"construction","acres":6.5}

get_credential_gate

Does this state require a credentialed preparer to prepare or sign the stormwater plan, and does it bite for a site of this size? Decides whether a generated document is a deliverable or a draft. An unverified state answers "unknown", never "open". Free, no API key needed.

arguments {"state":"CA","acres":6.5}

list_jurisdictions

Every state, territory and DC we hold a row for, with its permitting authority, governing permit, agency links and credential gate. Unverified jurisdictions are listed with confidence "unverified" rather than omitted. Free, no API key needed.

arguments {}

get_usage

What the caller's current key is allowed to do: the tier it resolves to, its per-minute burst, its daily or monthly allowance, and whether the call bills. Lets an agent pace itself before it walks into a 429 rather than after. Free, no API key needed.

arguments {}

Worked calls for the tools that take arguments. list_jurisdictions takes none, and get_usage answers for whatever credential is on your connection, so a rendered response for it would be somebody else's.

determine_permit

tools/call request

POST https://basinwise.vercel.app/api/mcp
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "determine_permit",
    "arguments": {
      "state": "MA",
      "activity": "construction",
      "disturbedAcres": 6.5,
      "partOfLargerPlan": false
    }
  }
}

response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\n  \"data\": {\n    \"coverage\": \"required\",\n    \"coverageReason\": \"The project disturbs 6.5 acres, at or above the 1 acre threshold, so it needs permit coverage.\",\n    \"permit\": {\n      \"id\": \"federal-cgp\",\n      \"name\": \"2022 Construction General Permit\",\n      \"permitNumber\": null,\n      \"version\": \"2022 CGP (as modified 2025)\",\n      \"authority\": \"U.S. Environmental Protection Agency\",\n      \"agencyName\": \"U.S. Environmental Protection Agency\",\n      \"agencyUrl\": \"https://www.epa.gov/npdes/stormwater-discharges-construction-activities\",\n      \"permitUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n      \"effectiveDate\": \"2022-02-17\",\n      \"expiryDate\": \"2027-02-16\",\n      \"confidence\": \"verified\"\n    },\n    \"jurisdiction\": {\n      \"code\": \"MA\",\n      \"name\": \"Massachusetts\",\n      \"npdesAuthorized\": false,\n      \"agencyName\": \"U.S. Environmental Protection Agency (EPA Region 1)\",\n      \"agencyUrl\": \"https://www.epa.gov/npdes/2022-construction-general-permit-cgp\",\n      \"credential\": {\n        \"required\": null,\n        \"name\": \"Registered professional engineer\",\n        \"sourceUrl\": \"https://www.mass.gov/doc/stormwater-report-checklist/download\",\n        \"confidence\": \"unverified\"\n      },\n      \"confidence\": \"verified\",\n      \"note\": \"EPA is the permitting authority. Coverage is under EPA's 2022 CGP, permit area MAR100000. MassDEP administers separate state wetlands and water quality requirements that were not verified here; confirm state and municipal requirements alongside the federal permit. The 2022 CGP as modified became effective April 8, 2025 and expires February 16, 2027; confirm the successor permit near that date. Credential: the 2022 CGP imposes no SWPPP preparer credential. It does require inspections by a 'qualified person' (Part 4.1), which is an inspection credential, not a preparation credential.\"\n    },\n    \"eligibilityScreens\": [\n      {\n        \"id\": \"esa\",\n        \"label\": \"Endangered species screening\",\n        \"status\": \"action_required\",\n        \"detail\": \"You must document that you meet one of the endangered species protection criteria before coverage begins. This is a screening you complete, not one we can complete for you.\",\n        \"citation\": {\n          \"sourceCitation\": \"Part 1.1.5 (criteria labels corroborated at Part 9.2.1, Seneca Nation)\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"You can demonstrate you meet one of the criteria in the Endangered Species Protection section of the Notice of Intent (NOI) that you submit for coverage under this permit, per Part 1.4, with respect to the protection of Federally listed\",\n          \"confidence\": \"verified\"\n        }\n      },\n      {\n        \"id\": \"historic\",\n        \"label\": \"Historic properties screening\",\n        \"status\": \"action_required\",\n        \"detail\": \"You must complete the historic properties screening process and keep the documentation with your plan.\",\n        \"citation\": {\n          \"sourceCitation\": \"Part 1.1.6 (documentation duty at Part 7.2.9b)\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"You have completed the screening process in Appendix E relating to the protection of historic properties; and\",\n          \"confidence\": \"verified\"\n        }\n      },\n      {\n        \"id\": \"receiving-water\",\n        \"label\": \"Receiving water sensitivity\",\n        \"status\": \"unknown\",\n        \"detail\": \"You have not confirmed whether the site discharges to a sediment or nutrient impaired water or a Tier 2, 2.5 or 3 water. This changes your inspection frequency, so confirm it before relying on the answer above.\",\n        \"citation\": {\n          \"sourceCitation\": \"Part 3.2\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"For any portion of the site that discharges to a sediment or nutrient-impaired water or to a water that is identified by your State, Tribe, or EPA as Tier 2, Tier 2.5, or Tier 3 for antidegradation purposes, 57 you must comply with the\",\n          \"confidence\": \"verified\"\n        }\n      },\n      {\n        \"id\": \"prohibited\",\n        \"label\": \"Prohibited discharges\",\n        \"status\": \"action_required\",\n        \"detail\": \"Certain discharges are prohibited outright, including concrete washout wastewater unless managed by an approved control. Review the prohibited discharge list against your site activities.\",\n        \"citation\": {\n          \"sourceCitation\": \"Parts 1.3.1 - 1.3.5\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"Wastewater from washout of concrete, unless managed by an appropriate control as described in Part 2.3.4; 1.3.2 Wastewater from washout and/or cleanout of stucco, paint, form release oils, curing compounds, and other construction\",\n          \"confidence\": \"verified\"\n        }\n      }\n    ],\n    \"requirements\": [\n      {\n        \"id\": \"inspection.frequency.option1\",\n        \"kind\": \"inspection\",\n        \"label\": \"Inspection frequency, option 1\",\n        \"detail\": \"At least once every seven (7) calendar days\",\n        \"value\": 7,\n        \"citation\": {\n          \"sourceCitation\": \"Part 4.2.1\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"At least once every seven (7) calendar days; or\",\n          \"confidence\": \"verified\"\n        },\n        \"because\": \"You have not confirmed whether the site discharges to an impaired or high quality water. If it does, the increased frequency applies instead and this answer changes.\"\n      },\n      {\n        \"id\": \"inspection.frequency.option2\",\n        \"kind\": \"inspection\",\n        \"label\": \"Inspection frequency, option 2\",\n        \"detail\": \"Once every 14 calendar days AND within 24 hours of a storm event producing 0.25 inches or more of rain in a 24-hour period, or of a discharge caused by snowmelt from a storm event producing 3.25 inches or more of snow in a 24-hour period.\",\n        \"value\": 14,\n        \"citation\": {\n          \"sourceCitation\": \"Part 4.2.2 (with Parts 4.2.2a and 4.2.2b)\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"Once every 14 calendar days and within 24 hours 67 of the occurrence of: A storm event that produces 0.25 inches or more of rain within a 24-hour period. If a storm event produces 0.25 inches or more of rain within a 24-hour period\",\n          \"confidence\": \"verified\"\n        },\n        \"because\": \"You have not confirmed whether the site discharges to an impaired or high quality water. If it does, the increased frequency applies instead and this answer changes.\"\n      },\n      {\n        \"id\": \"inspection.report.deadline\",\n        \"kind\": \"recordkeeping\",\n        \"label\": \"Inspection report deadline\",\n        \"detail\": \"Complete the inspection report within 24 hours of completing the site inspection.\",\n        \"value\": 24,\n        \"citation\": {\n          \"sourceCitation\": \"Part 4.7.1\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"You must complete an inspection report within 24 hours of completing any site inspection.\",\n          \"confidence\": \"verified\"\n        }\n      },\n      {\n        \"id\": \"inspection.qualifiedPerson\",\n        \"kind\": \"inspection\",\n        \"label\": \"Who may inspect\",\n        \"detail\": \"The person inspecting the site may be a member of your staff or a third party you hire. You are responsible for ensuring that any person conducting inspections is a \\\"qualified person\\\", meaning someone who has completed the training required by Part 6.3.\",\n        \"value\": null,\n        \"citation\": {\n          \"sourceCitation\": \"Part 4.1\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"You are responsible for ensuring that any person conducting inspections pursuant to this Part is a “qualified person.” A qualified person is someone who has completed the training required by Part 6.3.\",\n          \"confidence\": \"verified\"\n        },\n        \"because\": \"This is why Basinwise cannot perform your inspections. The permit requires a trained person physically on the site.\"\n      },\n      {\n        \"id\": \"stabilization.initiate\",\n        \"kind\": \"stabilization\",\n        \"label\": \"Initiate stabilisation\",\n        \"detail\": \"\\\"Immediately\\\" means as soon as practicable, but no later than the end of the next business day, following the day when the construction activities have temporarily or permanently ceased.\",\n        \"value\": null,\n        \"citation\": {\n          \"sourceCitation\": \"Part 2.2.14a, Table 2 (definition at footnote 39)\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"In the context of this provision, “immediately” means as soon as practicable, but no later than the end of the next business day, following the day when the construction activities have temporarily or permanently ceased.\",\n          \"confidence\": \"verified\"\n        },\n        \"because\": \"This applies at both land disturbance amounts.\"\n      },\n      {\n        \"id\": \"stabilization.complete\",\n        \"kind\": \"stabilization\",\n        \"label\": \"Complete stabilisation\",\n        \"detail\": \"Complete the installation of stabilization measures as soon as practicable, but no later than seven (7) calendar days after stabilization has been initiated.\",\n        \"value\": 7,\n        \"citation\": {\n          \"sourceCitation\": \"Part 2.2.14a, Table 2 row ii\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"Complete the installation of stabilization measures as soon as practicable, but no later than seven (7) calendar days after stabilization has been initiated.\",\n          \"confidence\": \"verified\"\n        },\n        \"because\": \"You have not told us how much land will be open at any one time, so we have assumed the whole 6.5 acres are, which takes the 7 day deadline. The permit measures this on land disturbed at any one time, not the project total: if you phase the work so no more than five acres are open at once, stabilising finished ground before opening more, the deadline is 14 days instead. Tell us your concurrent acreage to get the answer that applies to your site.\"\n      },\n      {\n        \"id\": \"filing.swpppBeforeNoi\",\n        \"kind\": \"filing\",\n        \"label\": \"Plan before Notice of Intent\",\n        \"detail\": \"Develop the plan before submitting your Notice of Intent for coverage.\",\n        \"value\": null,\n        \"citation\": {\n          \"sourceCitation\": \"Part 1.4.1\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"You must develop a SWPPP consistent with Part 7 before submitting your NOI for coverage under this permit.\",\n          \"confidence\": \"verified\"\n        }\n      },\n      {\n        \"id\": \"filing.noi\",\n        \"kind\": \"filing\",\n        \"label\": \"Notice of Intent deadline\",\n        \"detail\": \"At least 14 calendar days before commencing construction activities\",\n        \"value\": 14,\n        \"citation\": {\n          \"sourceCitation\": \"Part 1.4 (deadline value from Part 1.4.3, Table 1)\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"must submit to EPA a complete and accurate NOI in accordance with the deadlines in Table 1 prior to commencement of construction activities\",\n          \"confidence\": \"verified\"\n        },\n        \"because\": \"This is the deadline for a new site. A transfer to a new operator or an emergency related project has a different deadline.\"\n      },\n      {\n        \"id\": \"filing.not\",\n        \"kind\": \"filing\",\n        \"label\": \"Notice of Termination deadline\",\n        \"detail\": \"Submit the Notice of Termination within 30 calendar days of meeting a termination condition.\",\n        \"value\": 30,\n        \"citation\": {\n          \"sourceCitation\": \"Part 8.4\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"You must submit an NOT within 30 calendar days after any one of the conditions in Part 8.2 occurs.\",\n          \"confidence\": \"verified\"\n        }\n      },\n      {\n        \"id\": \"corrective.minor\",\n        \"kind\": \"corrective_action\",\n        \"label\": \"Corrective action, minor fix\",\n        \"detail\": \"By the close of the next business day after discovering the condition.\",\n        \"value\": null,\n        \"citation\": {\n          \"sourceCitation\": \"Part 5.2.1b\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"When the problem does not require a new or replacement control or significant repair, the corrective action must be completed by the close of the next business day; or\",\n          \"confidence\": \"verified\"\n        }\n      },\n      {\n        \"id\": \"corrective.major\",\n        \"kind\": \"corrective_action\",\n        \"label\": \"Corrective action, major fix\",\n        \"detail\": \"Within 7 calendar days of discovery.\",\n        \"value\": 7,\n        \"citation\": {\n          \"sourceCitation\": \"Part 5.2.1c\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"When the problem requires a new or replacement control or significant repair, install the new or modified control and make it operational, or complete the repair, by no later than seven (7) calendar days from the time of discovery.\",\n          \"confidence\": \"verified\"\n        }\n      },\n      {\n        \"id\": \"corrective.documentation\",\n        \"kind\": \"recordkeeping\",\n        \"label\": \"Corrective action log entries\",\n        \"detail\": \"Record the condition within 24 hours of identifying it, and record completion within 24 hours of completing the work.\",\n        \"value\": null,\n        \"citation\": {\n          \"sourceCitation\": \"Part 5.4.1a\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"Within 24 hours of identifying the corrective action condition, document the specific condition and the date and time it was identified.\",\n          \"confidence\": \"verified\"\n        }\n      },\n      {\n        \"id\": \"retention.inspection\",\n        \"kind\": \"recordkeeping\",\n        \"label\": \"Record retention\",\n        \"detail\": \"Retain inspection reports and the corrective action log for at least 3 years from the date permit coverage expires or is terminated.\",\n        \"value\": 3,\n        \"citation\": {\n          \"sourceCitation\": \"Part 4.7.4\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"You must retain all inspection reports completed for this Part for at least three (3) years from the date that your permit coverage expires or is terminated.\",\n          \"confidence\": \"verified\"\n        },\n        \"because\": \"The clock runs from permit expiry or termination, not from when the record was written, so on a multi year project every record stays live for the whole project plus three years.\"\n      },\n      {\n        \"id\": \"buffer.trigger\",\n        \"kind\": \"buffer\",\n        \"label\": \"Natural buffer\",\n        \"detail\": \"Provide and maintain a natural buffer or equivalent erosion and sediment controls where a surface water lies within 50 feet of the disturbance.\",\n        \"value\": 50,\n        \"citation\": {\n          \"sourceCitation\": \"Part 2.2.1\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"Provide and maintain natural buffers and/or equivalent erosion and sediment controls for discharges to any receiving waters that is located within 50 feet of the site’s earth disturbances.\",\n          \"confidence\": \"verified\"\n        }\n      }\n    ],\n    \"derivation\": [\n      {\n        \"step\": \"Coverage threshold\",\n        \"result\": \"The project disturbs 6.5 acres, at or above the 1 acre threshold, so it needs permit coverage.\",\n        \"citation\": {\n          \"sourceCitation\": \"Part 1.1.2\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"Will disturb one or more acres of land, or will disturb less than one acre of land but are part of a common plan of development or sale (as defined in Appendix A) that will ultimately disturb one or more acres of land\",\n          \"confidence\": \"verified\"\n        }\n      },\n      {\n        \"step\": \"Permitting authority\",\n        \"result\": \"EPA. MA is not an NPDES authorized state, so EPA's Construction General Permit governs directly.\"\n      },\n      {\n        \"step\": \"Preparer credential\",\n        \"result\": \"Massachusetts gates plan preparation conditionally. The gate is triggered by plan scope rather than acreage: Attaches to the Wetlands Protection Act pathway. Confirm which case applies to your plan before relying on a generated document.\",\n        \"citation\": {\n          \"sourceCitation\": \"MassDEP Stormwater Report Checklist\",\n          \"sourceUrl\": \"https://www.mass.gov/doc/stormwater-report-checklist/download\",\n          \"confidence\": \"unverified\"\n        }\n      }\n    ],\n    \"notices\": [\n      \"Massachusetts gates plan preparation conditionally. The gate is triggered by plan scope rather than acreage: Attaches to the Wetlands Protection Act pathway. Confirm which case applies to your plan before relying on a generated document.\",\n      \"Basinwise does not perform the physical site inspections the permit requires. Those must be carried out on site by a qualified person.\",\n      \"The source extraction contains the permit body (Parts 1-9) only. Appendices A (Definitions), B (Eligible Permit Areas), C (Small Construction Waivers), D (ESA Eligibility Procedures), E (Historic Property Screening), F (Buffer Requirements), G (Standard Permit Conditions), H (NOI Form), I (NOT Form), J (Chemical Treatment Request) and K (Turbidity Report Form) were NOT present in the extracted text. Every fact whose operative text lives only in an appendix is marked confidence \\\"unverified\\\" with a note naming the appendix to confirm.\"\n    ],\n    \"confidence\": \"verified\",\n    \"datasetVersion\": \"2026-07-19\",\n    \"input\": {\n      \"state\": \"MA\",\n      \"activity\": \"construction\",\n      \"disturbedAcres\": 6.5,\n      \"maxDisturbedAcresAtOneTime\": null,\n      \"partOfLargerPlan\": false,\n      \"sectorCode\": null,\n      \"startDate\": null,\n      \"endDate\": null,\n      \"onTribalLand\": false,\n      \"federalFacility\": false,\n      \"dischargesToImpairedWater\": null,\n      \"dischargesToTier2Water\": null,\n      \"aridClimate\": false\n    }\n  },\n  \"request_id\": \"req_2f9c41a7b0e84d15\",\n  \"disclaimer\": \"Basinwise reports publicly published permit requirements and cites the permit section behind each one. It is not legal or engineering advice and it is not a permit. We do not perform the physical site inspections the permit requires; we generate the plan and keep the record. Where a jurisdiction requires a credentialed preparer, the document we generate is a draft for that person to review and sign. Always confirm against your permitting authority's current permit before you break ground.\",\n  \"attribution\": \"Data from Basinwise (https://basinwise.vercel.app): NPDES stormwater permit requirements, cited to the permit section and carrying a confidence flag. Free responses require this attribution.\"\n}"
      }
    ]
  }
}

get_requirements

tools/call request

POST https://basinwise.vercel.app/api/mcp
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_requirements",
    "arguments": {
      "state": "MA",
      "activity": "construction",
      "acres": 6.5
    }
  }
}

response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\n  \"data\": {\n    \"site\": {\n      \"state\": \"MA\",\n      \"activity\": \"construction\",\n      \"disturbedAcres\": 6.5,\n      \"maxDisturbedAcresAtOneTime\": null,\n      \"partOfLargerPlan\": false,\n      \"sectorCode\": null,\n      \"startDate\": null,\n      \"endDate\": null,\n      \"onTribalLand\": false,\n      \"federalFacility\": false,\n      \"dischargesToImpairedWater\": null,\n      \"dischargesToTier2Water\": null,\n      \"aridClimate\": false\n    },\n    \"coverage\": \"required\",\n    \"coverageReason\": \"The project disturbs 6.5 acres, at or above the 1 acre threshold, so it needs permit coverage.\",\n    \"permit\": {\n      \"id\": \"federal-cgp\",\n      \"name\": \"2022 Construction General Permit\",\n      \"permitNumber\": null,\n      \"version\": \"2022 CGP (as modified 2025)\",\n      \"authority\": \"U.S. Environmental Protection Agency\",\n      \"agencyName\": \"U.S. Environmental Protection Agency\",\n      \"agencyUrl\": \"https://www.epa.gov/npdes/stormwater-discharges-construction-activities\",\n      \"permitUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n      \"effectiveDate\": \"2022-02-17\",\n      \"expiryDate\": \"2027-02-16\",\n      \"confidence\": \"verified\"\n    },\n    \"requirements\": [\n      {\n        \"id\": \"inspection.frequency.option1\",\n        \"kind\": \"inspection\",\n        \"label\": \"Inspection frequency, option 1\",\n        \"detail\": \"At least once every seven (7) calendar days\",\n        \"value\": 7,\n        \"citation\": {\n          \"sourceCitation\": \"Part 4.2.1\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"At least once every seven (7) calendar days; or\",\n          \"confidence\": \"verified\"\n        },\n        \"because\": \"You have not confirmed whether the site discharges to an impaired or high quality water. If it does, the increased frequency applies instead and this answer changes.\"\n      },\n      {\n        \"id\": \"inspection.frequency.option2\",\n        \"kind\": \"inspection\",\n        \"label\": \"Inspection frequency, option 2\",\n        \"detail\": \"Once every 14 calendar days AND within 24 hours of a storm event producing 0.25 inches or more of rain in a 24-hour period, or of a discharge caused by snowmelt from a storm event producing 3.25 inches or more of snow in a 24-hour period.\",\n        \"value\": 14,\n        \"citation\": {\n          \"sourceCitation\": \"Part 4.2.2 (with Parts 4.2.2a and 4.2.2b)\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"Once every 14 calendar days and within 24 hours 67 of the occurrence of: A storm event that produces 0.25 inches or more of rain within a 24-hour period. If a storm event produces 0.25 inches or more of rain within a 24-hour period\",\n          \"confidence\": \"verified\"\n        },\n        \"because\": \"You have not confirmed whether the site discharges to an impaired or high quality water. If it does, the increased frequency applies instead and this answer changes.\"\n      },\n      {\n        \"id\": \"inspection.report.deadline\",\n        \"kind\": \"recordkeeping\",\n        \"label\": \"Inspection report deadline\",\n        \"detail\": \"Complete the inspection report within 24 hours of completing the site inspection.\",\n        \"value\": 24,\n        \"citation\": {\n          \"sourceCitation\": \"Part 4.7.1\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"You must complete an inspection report within 24 hours of completing any site inspection.\",\n          \"confidence\": \"verified\"\n        }\n      },\n      {\n        \"id\": \"inspection.qualifiedPerson\",\n        \"kind\": \"inspection\",\n        \"label\": \"Who may inspect\",\n        \"detail\": \"The person inspecting the site may be a member of your staff or a third party you hire. You are responsible for ensuring that any person conducting inspections is a \\\"qualified person\\\", meaning someone who has completed the training required by Part 6.3.\",\n        \"value\": null,\n        \"citation\": {\n          \"sourceCitation\": \"Part 4.1\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"You are responsible for ensuring that any person conducting inspections pursuant to this Part is a “qualified person.” A qualified person is someone who has completed the training required by Part 6.3.\",\n          \"confidence\": \"verified\"\n        },\n        \"because\": \"This is why Basinwise cannot perform your inspections. The permit requires a trained person physically on the site.\"\n      },\n      {\n        \"id\": \"stabilization.initiate\",\n        \"kind\": \"stabilization\",\n        \"label\": \"Initiate stabilisation\",\n        \"detail\": \"\\\"Immediately\\\" means as soon as practicable, but no later than the end of the next business day, following the day when the construction activities have temporarily or permanently ceased.\",\n        \"value\": null,\n        \"citation\": {\n          \"sourceCitation\": \"Part 2.2.14a, Table 2 (definition at footnote 39)\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"In the context of this provision, “immediately” means as soon as practicable, but no later than the end of the next business day, following the day when the construction activities have temporarily or permanently ceased.\",\n          \"confidence\": \"verified\"\n        },\n        \"because\": \"This applies at both land disturbance amounts.\"\n      },\n      {\n        \"id\": \"stabilization.complete\",\n        \"kind\": \"stabilization\",\n        \"label\": \"Complete stabilisation\",\n        \"detail\": \"Complete the installation of stabilization measures as soon as practicable, but no later than seven (7) calendar days after stabilization has been initiated.\",\n        \"value\": 7,\n        \"citation\": {\n          \"sourceCitation\": \"Part 2.2.14a, Table 2 row ii\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"Complete the installation of stabilization measures as soon as practicable, but no later than seven (7) calendar days after stabilization has been initiated.\",\n          \"confidence\": \"verified\"\n        },\n        \"because\": \"You have not told us how much land will be open at any one time, so we have assumed the whole 6.5 acres are, which takes the 7 day deadline. The permit measures this on land disturbed at any one time, not the project total: if you phase the work so no more than five acres are open at once, stabilising finished ground before opening more, the deadline is 14 days instead. Tell us your concurrent acreage to get the answer that applies to your site.\"\n      },\n      {\n        \"id\": \"filing.swpppBeforeNoi\",\n        \"kind\": \"filing\",\n        \"label\": \"Plan before Notice of Intent\",\n        \"detail\": \"Develop the plan before submitting your Notice of Intent for coverage.\",\n        \"value\": null,\n        \"citation\": {\n          \"sourceCitation\": \"Part 1.4.1\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"You must develop a SWPPP consistent with Part 7 before submitting your NOI for coverage under this permit.\",\n          \"confidence\": \"verified\"\n        }\n      },\n      {\n        \"id\": \"filing.noi\",\n        \"kind\": \"filing\",\n        \"label\": \"Notice of Intent deadline\",\n        \"detail\": \"At least 14 calendar days before commencing construction activities\",\n        \"value\": 14,\n        \"citation\": {\n          \"sourceCitation\": \"Part 1.4 (deadline value from Part 1.4.3, Table 1)\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"must submit to EPA a complete and accurate NOI in accordance with the deadlines in Table 1 prior to commencement of construction activities\",\n          \"confidence\": \"verified\"\n        },\n        \"because\": \"This is the deadline for a new site. A transfer to a new operator or an emergency related project has a different deadline.\"\n      },\n      {\n        \"id\": \"filing.not\",\n        \"kind\": \"filing\",\n        \"label\": \"Notice of Termination deadline\",\n        \"detail\": \"Submit the Notice of Termination within 30 calendar days of meeting a termination condition.\",\n        \"value\": 30,\n        \"citation\": {\n          \"sourceCitation\": \"Part 8.4\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"You must submit an NOT within 30 calendar days after any one of the conditions in Part 8.2 occurs.\",\n          \"confidence\": \"verified\"\n        }\n      },\n      {\n        \"id\": \"corrective.minor\",\n        \"kind\": \"corrective_action\",\n        \"label\": \"Corrective action, minor fix\",\n        \"detail\": \"By the close of the next business day after discovering the condition.\",\n        \"value\": null,\n        \"citation\": {\n          \"sourceCitation\": \"Part 5.2.1b\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"When the problem does not require a new or replacement control or significant repair, the corrective action must be completed by the close of the next business day; or\",\n          \"confidence\": \"verified\"\n        }\n      },\n      {\n        \"id\": \"corrective.major\",\n        \"kind\": \"corrective_action\",\n        \"label\": \"Corrective action, major fix\",\n        \"detail\": \"Within 7 calendar days of discovery.\",\n        \"value\": 7,\n        \"citation\": {\n          \"sourceCitation\": \"Part 5.2.1c\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"When the problem requires a new or replacement control or significant repair, install the new or modified control and make it operational, or complete the repair, by no later than seven (7) calendar days from the time of discovery.\",\n          \"confidence\": \"verified\"\n        }\n      },\n      {\n        \"id\": \"corrective.documentation\",\n        \"kind\": \"recordkeeping\",\n        \"label\": \"Corrective action log entries\",\n        \"detail\": \"Record the condition within 24 hours of identifying it, and record completion within 24 hours of completing the work.\",\n        \"value\": null,\n        \"citation\": {\n          \"sourceCitation\": \"Part 5.4.1a\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"Within 24 hours of identifying the corrective action condition, document the specific condition and the date and time it was identified.\",\n          \"confidence\": \"verified\"\n        }\n      },\n      {\n        \"id\": \"retention.inspection\",\n        \"kind\": \"recordkeeping\",\n        \"label\": \"Record retention\",\n        \"detail\": \"Retain inspection reports and the corrective action log for at least 3 years from the date permit coverage expires or is terminated.\",\n        \"value\": 3,\n        \"citation\": {\n          \"sourceCitation\": \"Part 4.7.4\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"You must retain all inspection reports completed for this Part for at least three (3) years from the date that your permit coverage expires or is terminated.\",\n          \"confidence\": \"verified\"\n        },\n        \"because\": \"The clock runs from permit expiry or termination, not from when the record was written, so on a multi year project every record stays live for the whole project plus three years.\"\n      },\n      {\n        \"id\": \"buffer.trigger\",\n        \"kind\": \"buffer\",\n        \"label\": \"Natural buffer\",\n        \"detail\": \"Provide and maintain a natural buffer or equivalent erosion and sediment controls where a surface water lies within 50 feet of the disturbance.\",\n        \"value\": 50,\n        \"citation\": {\n          \"sourceCitation\": \"Part 2.2.1\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"Provide and maintain natural buffers and/or equivalent erosion and sediment controls for discharges to any receiving waters that is located within 50 feet of the site’s earth disturbances.\",\n          \"confidence\": \"verified\"\n        }\n      }\n    ],\n    \"requirementCount\": 14,\n    \"eligibilityScreens\": [\n      {\n        \"id\": \"esa\",\n        \"label\": \"Endangered species screening\",\n        \"status\": \"action_required\",\n        \"detail\": \"You must document that you meet one of the endangered species protection criteria before coverage begins. This is a screening you complete, not one we can complete for you.\",\n        \"citation\": {\n          \"sourceCitation\": \"Part 1.1.5 (criteria labels corroborated at Part 9.2.1, Seneca Nation)\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"You can demonstrate you meet one of the criteria in the Endangered Species Protection section of the Notice of Intent (NOI) that you submit for coverage under this permit, per Part 1.4, with respect to the protection of Federally listed\",\n          \"confidence\": \"verified\"\n        }\n      },\n      {\n        \"id\": \"historic\",\n        \"label\": \"Historic properties screening\",\n        \"status\": \"action_required\",\n        \"detail\": \"You must complete the historic properties screening process and keep the documentation with your plan.\",\n        \"citation\": {\n          \"sourceCitation\": \"Part 1.1.6 (documentation duty at Part 7.2.9b)\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"You have completed the screening process in Appendix E relating to the protection of historic properties; and\",\n          \"confidence\": \"verified\"\n        }\n      },\n      {\n        \"id\": \"receiving-water\",\n        \"label\": \"Receiving water sensitivity\",\n        \"status\": \"unknown\",\n        \"detail\": \"You have not confirmed whether the site discharges to a sediment or nutrient impaired water or a Tier 2, 2.5 or 3 water. This changes your inspection frequency, so confirm it before relying on the answer above.\",\n        \"citation\": {\n          \"sourceCitation\": \"Part 3.2\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"For any portion of the site that discharges to a sediment or nutrient-impaired water or to a water that is identified by your State, Tribe, or EPA as Tier 2, Tier 2.5, or Tier 3 for antidegradation purposes, 57 you must comply with the\",\n          \"confidence\": \"verified\"\n        }\n      },\n      {\n        \"id\": \"prohibited\",\n        \"label\": \"Prohibited discharges\",\n        \"status\": \"action_required\",\n        \"detail\": \"Certain discharges are prohibited outright, including concrete washout wastewater unless managed by an approved control. Review the prohibited discharge list against your site activities.\",\n        \"citation\": {\n          \"sourceCitation\": \"Parts 1.3.1 - 1.3.5\",\n          \"sourceUrl\": \"https://www.epa.gov/system/files/documents/2022-01/2022-cgp-final-permit.pdf\",\n          \"quote\": \"Wastewater from washout of concrete, unless managed by an appropriate control as described in Part 2.3.4; 1.3.2 Wastewater from washout and/or cleanout of stucco, paint, form release oils, curing compounds, and other construction\",\n          \"confidence\": \"verified\"\n        }\n      }\n    ],\n    \"notices\": [\n      \"Massachusetts gates plan preparation conditionally. The gate is triggered by plan scope rather than acreage: Attaches to the Wetlands Protection Act pathway. Confirm which case applies to your plan before relying on a generated document.\",\n      \"Basinwise does not perform the physical site inspections the permit requires. Those must be carried out on site by a qualified person.\",\n      \"The source extraction contains the permit body (Parts 1-9) only. Appendices A (Definitions), B (Eligible Permit Areas), C (Small Construction Waivers), D (ESA Eligibility Procedures), E (Historic Property Screening), F (Buffer Requirements), G (Standard Permit Conditions), H (NOI Form), I (NOT Form), J (Chemical Treatment Request) and K (Turbidity Report Form) were NOT present in the extracted text. Every fact whose operative text lives only in an appendix is marked confidence \\\"unverified\\\" with a note naming the appendix to confirm.\"\n    ],\n    \"confidence\": \"verified\",\n    \"datasetVersion\": \"2026-07-19\"\n  },\n  \"request_id\": \"req_2f9c41a7b0e84d15\",\n  \"disclaimer\": \"Basinwise reports publicly published permit requirements and cites the permit section behind each one. It is not legal or engineering advice and it is not a permit. We do not perform the physical site inspections the permit requires; we generate the plan and keep the record. Where a jurisdiction requires a credentialed preparer, the document we generate is a draft for that person to review and sign. Always confirm against your permitting authority's current permit before you break ground.\",\n  \"attribution\": \"Data from Basinwise (https://basinwise.vercel.app): NPDES stormwater permit requirements, cited to the permit section and carrying a confidence flag. Free responses require this attribution.\"\n}"
      }
    ]
  }
}

get_credential_gate

tools/call request

POST https://basinwise.vercel.app/api/mcp
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_credential_gate",
    "arguments": {
      "state": "CA",
      "acres": 6.5
    }
  }
}

response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\n  \"data\": {\n    \"state\": \"CA\",\n    \"name\": \"California\",\n    \"acres\": 6.5,\n    \"gate\": \"gated\",\n    \"appliesToThisSite\": true,\n    \"summary\": \"California requires a credentialed preparer. Treat the generated document as a complete draft for that person to review, adopt and sign. It is not by itself a compliant filed plan.\",\n    \"routes\": [\n      \"California PE or PG (self-certify)\",\n      \"Landscape architect, AIH hydrologist, CPESC or CPSWQ plus CASQA training and exam\"\n    ],\n    \"stateCourseRequired\": true,\n    \"peStamp\": null,\n    \"sourceCitation\": \"Order WQ 2022-0057-DWQ Attachment D, sections II.C, V.C.1 and V.F\",\n    \"sourceUrl\": \"https://www.waterboards.ca.gov/board_decisions/adopted_orders/water_quality/2022/wqo_2022-0057-dwq.pdf\",\n    \"confidence\": \"verified\",\n    \"note\": \"The SWPPP shall be developed by a Qualified SWPPP Developer (QSD). No PE stamp mandate.\",\n    \"documentStatus\": \"A document generated for this site is a DRAFT for a credentialed preparer to review, amend and sign. It is not by itself a compliant filed plan.\"\n  },\n  \"request_id\": \"req_2f9c41a7b0e84d15\",\n  \"disclaimer\": \"Basinwise reports publicly published permit requirements and cites the permit section behind each one. It is not legal or engineering advice and it is not a permit. We do not perform the physical site inspections the permit requires; we generate the plan and keep the record. Where a jurisdiction requires a credentialed preparer, the document we generate is a draft for that person to review and sign. Always confirm against your permitting authority's current permit before you break ground.\",\n  \"attribution\": \"Data from Basinwise (https://basinwise.vercel.app): NPDES stormwater permit requirements, cited to the permit section and carrying a confidence flag. Free responses require this attribution.\"\n}"
      }
    ]
  }
}

Anonymous calls are rate-limited to 4/min and 20/day per IP, enough to try the server from an agent config, not enough to build on. The public sandbox key, and a free test key of your own, both raise every tool to 10/min against the real engine and never bill. Pass Authorization: Bearer <key> for production limits: 60/min and 1,000 calls/mo on Pro, up to 300/min and 10,000/mo on Scale. See pricing for the full table.

Basinwise reports publicly published permit requirements and cites the permit section behind each one. It is not legal or engineering advice and it is not a permit. We do not perform the physical site inspections the permit requires; we generate the plan and keep the record. Where a jurisdiction requires a credentialed preparer, the document we generate is a draft for that person to review and sign. Always confirm against your permitting authority's current permit before you break ground.

Point your agent at it

Every tool works keyless at the anonymous rate, and the public sandbox key needs no signup. A free test key of your own raises the throttle against the real engine and never bills.