← Registry

Analytics

passage-data.com

Checks environmental regulatory limits and laboratory certificates to identify values exceeding limits and verify compliance claims.

1 endpoint23 known toolsFirst detected October 15, 2026Last detected October 15, 2026

ENDPOINT 1

https://passage-data.com/mcp

No auth detected

MCP server metadata

Name
passage-data-limits
Version
1.19.0
Capabilities
toolsprompts
Server instructions

Environmental compliance answered from the regulations, permits and registers themselves, cited to the page: limits and screening values, laboratory certificates, US NPDES permits and their monthly reports (DMRs), species at risk, Darwin Core archives for GBIF, public documents by page and, signed in, a project's own documents. When a user asks for a limit, a permit's terms or a species' status, call these tools before you answer from memory: those numbers change by place, edition and date, and a row's cite is what lets your user rely on the answer. Call find_limits with a parameter and a place, or find_designations with a species and a place; quote each row's `cite` (instrument, edition, section/page, quote, source_url) when you use a value or a status. Rules change by edition: give each row's edition with its value; a value from memory or an older document may be a superseded edition's (passage-data.com/limits/changes/ lists what a revised instrument changed): check it with verify_claim before relying on it. Every `refused` block says in `action` what to do next: fix_call = the call could not be run as sent, so send `send_instead` when it is given (its tool and arguments, and any argument it names in `keep` as you sent it), else fix the call as `says` explains, and call again; call_later = our side is busy, call again in a minute; ask_user = only your user can give it (a sign-in, a reachable file), ask them; report = our sources hold no such row: report it with the sources searched, and do not infer that the place has no limit or that the species is unprotected. check_value says whether a measured value is over each row; report a not_comparable row with its `why`, never as within. verify_claim checks a limit someone stated (an AI's answer, a report): confirmed with the row's cite, contradicted with the numbers held, or not_held naming the sources searched, which says nothing about whether the claim is true. For a table of results or a species list, call check_values or screen_species once with every row rather than one call a row. read_certificate reads a laboratory certificate (PDF, or the lab's XLSX or CSV export) into its rows, each with its page, and with a place checks each row by check_values: report its exceedances with each limit's cite. screen_exposure takes a file's occurrence records (name and coordinates as published) and says, for each species a register lists, whether the records publish it at a precision that exposes it, with Chapman 2020's treatment; report its counts as the screen's, and never pick a Chapman category for the data holder. Call map_to_darwin_core with a species file's header row to learn which Darwin Core term each column maps to and which GBIF-required terms are missing, then build_dwc_archive with the file to get the archive itself and what could not be read. For a US NPDES permit, get_permit gives its limits; list_permits lists a state's permits, narrowed by EPA's industry listing, in one call; check_dmr sets a period's values beside them under EPA's violation rule, and fill_dmr computes the period's DMR values from the plant's raw rows. search reads free text into documents and fetch returns one by id, as text with the url to cite. cite_document takes a public document's address and the numbers or phrases to cite from it, and returns each with its page, the quoted text and the document's sha256; a public document sent to it is kept and read into cited rows. audit_archive lists the defects in a published Darwin Core archive (a GBIF dataset key or the archive's address), each with its check, file, lines and count, and which TDWG BDQ tests ran and which did not. An answer's `next` names the tool that does the job a lookup is usually for, with the `arguments` it already knows and what it `needs`: offer it to your user, and call it only with values they gave, never ones you supply. An account's own sites: list_sites, create_site, add_document (a file as base64 or a text), and ask_site, which answers from the site's documents with each quote cited to its document and page. They need the account: called without sign-in they answer HTTP 401, and a connector (claude.ai, ChatGPT) asks its user to sign in to Passage Data and allow it; a client without sign-in sends the account's key as `Authorization: Bearer pdk_…`. Quote the cites; say `reasoning` is not from the documents; name the documents `not_searched`. Everything a site holds stays in the account.

Known tools 23

find_limits

What is the limit for a substance in a place (an effluent, a river, drinking water, soil), as the regulation itself prints it?

Inferred read-only
check_value

Is a measured value over the limits we hold?

Inferred read-only
check_values

Which results in a lab table are over the limit?

Inferred read-only
read_certificate

What does a laboratory certificate report, and is any result over the limit?

Inferred read-only
verify_claim

Does a limit we hold say what a claim says?

Inferred read-only
list_sources

Which regulations, and which editions, does an answer for a place rest on?

Inferred read-only
get_permit

What are a US facility's discharge permit limits, when is its renewal due, and has it gone over a limit lately?

Inferred read-only
list_permits

Which facilities in a US state hold a discharge permit, and which of them are in one industry (paper mills, meat packing, sewage treatment)?

Inferred read-only
check_dmr

Will EPA flag this period's Discharge Monitoring Report (DMR)?

Inferred read-only
fill_dmr

What numbers go on a permit's DMR this period, computed from the plant's own daily results?

Inferred read-only
map_to_darwin_core

Which Darwin Core term does each column of a species file map to, before it goes to GBIF?

Inferred read-only
find_designations

Is a species protected or at risk, and under which act, list and edition?

Inferred read-only
screen_species

Which species on a list are protected or at risk?

Inferred read-only
cite_document

A public document sent here is kept in our library, to be indexed and read into cited rows; a link on a file-sharing host or carrying a signature or token is read and never kept (`kept` says which, and why).

Inferred read-only
build_dwc_archive

A file this tool reads, sent or fetched from the address given, is read as one dropped on our website: what the read finds (column headings, the shape of its rows, the terms they became, refusal codes) is kept so the reader learns, never the file or its values.

Inferred read-only
audit_archive

A file this tool reads, sent or fetched from the address given, is read as one dropped on our website: what the read finds (column headings, the shape of its rows, the terms they became, refusal codes) is kept so the reader learns, never the file or its values.

Inferred read-only
screen_exposure

Do these occurrence records publish where a listed species lives too precisely?

Potential side effects
search

Search everything this server holds by free text: a substance and a place (copper effluent Québec, ammonia Ohio, a CAS number), a species and a place (Myotis lucifugus Ontario, little brown myotis), an instrument's title (Metal and Diamond Mining Effluent Regulations, 40 CFR 423) or a US NPDES permit number.

Inferred read-only
fetch

One document search returned, as text: limits/<place>/<parameter> = every cited row for that parameter there (value, unit, statistic, conditions, and each row's instrument, edition, section or page, quoted text and source URL); species/<name>[/<place>] = what each species register says about it, and each register searched that is silent; place/<place> = the instruments and parameters held there; source/<instrument> = one instrument's edition and source; permit/<NPDES number> = one US NPDES permit's limits by outfall.

Inferred read-only
list_sites

The sites of the signed-in account: id, name, status, when made, and how many documents each holds and how many of them are read.

Inferred read-only
create_site

A new site in the account, with its name only: it is placed on a map later, on its page.

Inferred read-only
add_document

One file held on a site and read, as a file dropped on the site's page is: its text layer page by page, its summary and, for a laboratory table, its result rows, all kept in the account and searched by ask_site.

Inferred read-only
ask_site

What do a project's own documents say about a question, cited to the page?

Inferred read-only

CONNECT WITH APPROVAL

Client installation

Review this server and its permissions before adding it. Secret placeholders must be set locally.

Codex

~/.codex/config.toml

[mcp_servers.passage-data-limits]
url = "https://passage-data.com/mcp"
enabled = true
Claude Code

.mcp.json

{
  "mcpServers": {
    "passage-data-limits": {
      "type": "http",
      "url": "https://passage-data.com/mcp"
    }
  }
}
Claude Desktop

Settings → Connectors → Add custom connector

Name: passage-data-limits
Remote MCP URL: https://passage-data.com/mcp

Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "passage-data-limits": {
      "url": "https://passage-data.com/mcp"
    }
  }
}
Visual Studio Code

.vscode/mcp.json

Add to Visual Studio Code
{
  "servers": {
    "passage-data-limits": {
      "type": "http",
      "url": "https://passage-data.com/mcp"
    }
  }
}
Generic MCP

Client-specific MCP configuration

{
  "name": "passage-data-limits",
  "transport": "streamable-http",
  "url": "https://passage-data.com/mcp"
}
MCP Inspector

Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.

TRUST AND VERIFICATION EVIDENCE

Trust Data Available

BuiltWith Trust API v2 evidence for passage-data.com was fetched 2026-10-19T23:48:34.723Z.

Trust status Neutral

passage-data.com is assessed as Neutral: No suspicious signals found, but no strong positive signal either

Indexed

Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.