mcpbeat

Basinwise MCP Server

io.github.maxbeech/basinwise
answering

Basinwise is answering right now. Last checked 8 min ago. It exposes 5 tools.

Determines which NPDES stormwater permit governs a US site and its requirements, cited to source.

Uptime history 40 hours of history · worst hour 0%
40 hours agonow
97.8%
Uptime 24h
89 of 91 checks
5
Tools
read from the server
239 ms
Response time
average over 24h
open, no key
Access
streamable-http

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 8 min ago.

run in your terminal
claude mcp add basinwise --transport http https://basinwise.vercel.app/api/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "basinwise": {
      "url": "https://basinwise.vercel.app/api/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.basinwise]
url = "https://basinwise.vercel.app/api/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "basinwise": {
      "url": "https://basinwise.vercel.app/api/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "basinwise": {
      "url": "https://basinwise.vercel.app/api/mcp"
    }
  }
}

Available tools 5

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

credential
get_credential_gate
Whether a state requires a credentialed preparer (California's Qualified SWPPP Developer, and the analogous credential elsewhere) to prepare or sign a stormwater pollution prevention plan, and whether that requirement bites for a site of this size. This is the answer that decides whether a generated document is the operator's deliverable or a DRAFT for a credentialed person to review and sign, so `documentStatus` states that consequence in plain language on every response. `gate` is "open", "gated", "conditional" or "unknown"; a state we have not verified returns "unknown" and must never be treated as open. `appliesToThisSite` is null when the trigger is an acreage threshold you did not give acres for, or a plan-scope test we cannot resolve from site facts. Free, no API key needed.
determine
determine_permit
Determine which NPDES stormwater permit governs a construction or industrial site, and what that permit requires of it. Returns coverage ("required", "not_required" or "verify") with the reason, the governing permit and the version the answer was computed against, the jurisdiction and its permitting authority, the permit's eligibility screens, the requirements that attach to THIS site (each with the permit section it came from and a `because` explaining why it applies here rather than in general), the step-by-step derivation, and `notices`. ALWAYS surface `notices` verbatim to the user: it carries the preparer-credential warning, any coverage gap, and the fact that we do not perform the physical site inspections the permit requires. Deterministic, no model in the path. Requirements come back ONLY where we hold the governing permit's rules; where a state permit is identified but unread, `requirements` is empty and a notice says so rather than substituting the federal permit's numbers, so never treat an empty list as "nothing required". Free, no API key needed.
jurisdictions
list_jurisdictions
Every state, territory and DC we hold a row for: NPDES authorisation status, the governing permit and its number, the agency name and URL, and the preparer-credential gate. Jurisdictions we have NOT verified are listed with confidence "unverified" and a note naming the agency to confirm with, rather than being omitted, because a jurisdiction missing from a coverage list reads as "no permit applies" and that is never what it means. Takes no arguments. Free, no API key needed.
requirements
get_requirements
The requirements for a site: inspection frequency, stabilisation deadlines, Notice of Intent and Notice of Termination deadlines, corrective-action windows, record retention and buffer rules, each citing the permit section it came from. Same engine and same parser as determine_permit, projected down. The coverage verdict, the eligibility screens and the notices come with it, because a requirement list detached from whether coverage is triggered at all is a half-answer. An empty `requirements` array with a notice means we have not read that jurisdiction's permit, NOT that nothing is required. Free, no API key needed.
usage
get_usage
What the credential on this connection is allowed to do: the tier it resolves to (anonymous, sandbox, test key, or a live key on a plan), the per-minute burst, the daily or monthly allowance, and whether calls bill. Call it once at the start of a long task to pace yourself, rather than discovering the ceiling as a rate_limited error halfway through. Takes no arguments. Free, no API key needed.

Endpoints

URLTransportStateLatencyChecked
https://basinwise.vercel.app/api/mcp streamable-http answering 207 ms 8 min ago

Basinwise — questions

Answers built from our own checks of this server.

What can Basinwise do?
It exposes 5 tools, read directly from the server on our last check. Among them: determine_permit, get_credential_gate, get_requirements, get_usage, list_jurisdictions. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Basinwise working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 89 of 91 checks got a reply (97.8%), average response time 239 ms. The bar chart above shows every period we have measured.
How do I connect Basinwise?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Basinwise need an API key?
No. Basinwise completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 5 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Basinwise?
It answers our handshake in 239 ms on average, which is faster than 55% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.