Prototype · Preview: every server in the official registry, synced every 30 minutes. Sign in with Google to write reviews.Prototype · updated every 30 min
PopNx MCPMCP servers for people who use AI · explained in plain words

Passage Data — cited environmental limits

by kedu21-beepversion 1.13.0i★ 0iRuns in the cloud
Registry nameio.github.kedu21-beep/passage-data

How to install

What it does

Cited US, Canadian, EU limits (discharge, drinking water, soil, air); species status; DwC archives

  • Connects Runs in the cloud
  • Account or key No key needed
  • Category Other

Install

Pick the AI app you use, then copy the settings.

Passed 4/5 checks · What you ask goes through the maker’s server (passage-data.com) · ✓ Commands checked Nov 13, 2026

First: which AI do you use?

Pick your app and the steps appear below.

Works with Claude · about 2 min

No key, nothing to install · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it

  1. Open Claude’s Connectors page

    CustomizeConnectors

    CustomizeConnectors1Add2https://…3Add4
  2. Click “Add” → “Custom” → “Web” and fill in these 2 fields

    Copy each value into the field with the same name in Claude, then click Continue

    Name · NamePassage Data — cited environmental limits
    Remote MCP server URL · Addresshttps://passage-data.com/mcp

    Click Continue past the sign-in settings Claude detected · under Authentication choose what the maker says (Sign in now, Sign in when needed or No sign in), then click Add

  3. Turn it on in a chat

    +ConnectorsPassage Data — cited environmental limits

  4. Try it

    Use Passage Data — cited environmental limits and tell me what you can do for me, then show me one thing

    ✓ If Claude says it is using Passage Data — cited environmental limits or shows a Passage Data — cited environmental limits tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with ChatGPT, depending on your plan

Full MCP: ChatGPT Business, Enterprise or Edu on the web · Pro: connects with read/fetch permissions, so tools that change data may not work · Plus: not confirmed in OpenAI’s docs; if you see an add-custom-MCP option on the Plugins page you can try these steps · web only

  1. Open ChatGPT’s add-MCP page on the web

    Plugins+Add custom MCP server

    ChatGPTPlugins1+2https://…3Create4
  2. Fill in the name and address

    Enter a name, paste the address under Connection, tick the risk warning and click Create as a plugin

    Name · NamePassage Data — cited environmental limits
    Connection · Addresshttps://passage-data.com/mcp
  3. Pick Passage Data — cited environmental limits in a chat

    Start a new chat and pick Passage Data — cited environmental limits from your plugins before typing

  4. Try it

    Use Passage Data — cited environmental limits and tell me what you can do for me, then show me one thing

    ✓ If ChatGPT says it is using Passage Data — cited environmental limits or shows a Passage Data — cited environmental limits tool in the answer, you are connected

Menu names checked against OpenAI’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Claude Code · about 2 min

No key, nothing to install

  1. Open Terminal

    Mac: press Command+Space and type Terminal · Windows: open PowerShell

  2. Paste this command and press Enter

    claude mcp add --transport http --scope user passage-data https://passage-data.com/mcp
  3. Type /mcp in Claude Code

    You should see Passage Data — cited environmental limits listed as connected

  4. Try it

    Use Passage Data — cited environmental limits and tell me what you can do for me, then show me one thing

    ✓ If Claude Code says it is using Passage Data — cited environmental limits or shows a Passage Data — cited environmental limits tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Cursor · about 2 min

No key, nothing to install

  1. Click this button to open Cursor

    Open in Cursor

    Cursor asks you to confirm; click Install

  2. Open the AI chat in Cursor in Agent mode

  3. Try it

    Use Passage Data — cited environmental limits and tell me what you can do for me, then show me one thing

    ✓ If Cursor says it is using Passage Data — cited environmental limits or shows a Passage Data — cited environmental limits tool in the answer, you are connected

Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with VS Code · about 2 min

No key, nothing to install

  1. Click this button to open VS Code

    Open in VS Code

    VS Code asks you to confirm; click Install

  2. Open the AI chat in VS Code in Agent mode

  3. Try it

    Use Passage Data — cited environmental limits and tell me what you can do for me, then show me one thing

    ✓ If VS Code says it is using Passage Data — cited environmental limits or shows a Passage Data — cited environmental limits tool in the answer, you are connected

Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.

See every app that uses MCP →

Address for apps that connect over the web

Addresshttps://passage-data.com/mcp

JSON settings are under “For developers” below

Stuck? Ask people who use Passage Data — cited environmental limits💬 Discussion →
For developers: Terminal commands and JSON settings

Over the web

Claude Code

claude mcp add --transport http --scope user passage-data https://passage-data.com/mcp

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "passage-data": {
      "url": "https://passage-data.com/mcp"
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "passage-data": {
      "type": "http",
      "url": "https://passage-data.com/mcp"
    }
  }
}

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

At a glance

Downloads per weeki
Not on npm/PyPI
Licencei
No licence stated
Connection
Runs in the cloud
Transport
streamable-http
Latest versioni
1.13.0
Categoryi
Other
Published to registryi
Oct 15, 2026
Code last changedi
Oct 15, 2026
Maker
kedu21-beep
Registry status
Active

Which apps can use it

Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.

Connect over the internet in

ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast

All apps, with pros and cons →

Related guides

What it can do

Tool names and descriptions exactly as the server reported them on Nov 13, 2026. The maker wrote them, not us; we show them as plain text.

  • 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? Numeric limits and guidelines for one substance or measure, read from the regulations themselves (US federal effluent guidelines, the rules of 31 states

  • check_value

    Is a measured value over the limits we hold? Give a parameter, a number and its unit (and a place, medium or statistic to narrow). Every row find_limits would return comes back with a verdict: over, within, under (below a floor or a band's bottom), or not_comparable with a `why`

  • check_values

    Which results in a lab table are over the limit? A lab table in one call: up to 200 rows of parameter, value and unit, checked against the limits held for one place (and a medium or statistic). Each row is answered by check_value itself: its verdicts (over, within, under, not_com

  • read_certificate

    What does a laboratory certificate report, and is any result over the limit? The rows a laboratory certificate prints, read by rules (no AI writes a row): a PDF certificate, or the laboratory's own export as XLSX, XLS or CSV. Each row gives the sample, the parameter, the value as

  • verify_claim

    Does a limit we hold say what a claim says? Give the claim as read from a sentence (an AI's answer, a report): parameter, value and unit, and the place, medium and statistic when the sentence gives them. The verdict: confirmed (a held row prints the same number, in that unit or o

  • list_sources

    Which regulations, and which editions, does an answer for a place rest on? Every regulation, guideline or permit table we hold for a place: title, issuer, edition, what it governs, how many rows were read from it, and the source URL and sha256. Use it to say what an answer was se

  • get_permit

    What are a US facility's discharge permit limits, when is its renewal due, and has it gone over a limit lately? One US NPDES discharge permit as EPA's national file (ECHO / ICIS-NPDES) holds it: facility, place, every limit by outfall, parameter, statistic and months, the renewal

  • list_permits

    Which facilities in a US state hold a discharge permit, which of them are in one industry (paper mills, meat packing, sewage treatment), which went over a limit lately or face a renewal, and which must meet a new or tighter limit already written into their permit? The state's ind

  • check_dmr

    Will EPA flag this period's Discharge Monitoring Report (DMR)? A US NPDES permit's Discharge Monitoring Report for one period, checked before it is filed: each value you send (outfall, parameter, statistic, value, unit) is set beside the permit's own limit for that period, from E

  • fill_dmr

    What numbers go on a permit's DMR this period, computed from the plant's own daily results? The numbers a US NPDES permit's Discharge Monitoring Report asks for in one period, computed from the plant's own raw results (daily samples, flows): for each value due on the period's for

  • map_to_darwin_core

    Which Darwin Core term does each column of a species file map to, before it goes to GBIF? Which Darwin Core term each column of a species occurrence or checklist file maps to, by the header rules our file-to-archive converter runs before it checks values: for each column the term

  • find_designations

    Is a species protected or at risk, and under which act, list and edition? What the species registers we hold say about one species: its status under each list that names it (the US Endangered Species Act lists, Canada's Species at Risk Act and COSEWIC, provincial acts, the IUCN R

  • screen_species

    Which species on a list are protected or at risk? A species list in one call: up to 500 names, each answered by find_designations itself, for one place or everywhere: its designations with their cites and the registers searched that are `silent` on it with what each one's silence

  • 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). Cite numbers or phrases from a public document by page: give its address

  • 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. Names and contacts

  • 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. Names and contacts

  • screen_exposure

    Do these occurrence records publish where a listed species lives too precisely? Occurrence records in one call, up to 5000: each record's species name and coordinates as published, optionally coordinateUncertaintyInMeters, a place, and what the file declares about the point (data

  • export_limits

    Every limit and guideline held for one place and the places above it (CA-QC brings Canada's too, US-OH the US's), as one table: each row with its value, unit, statistic and conditions, and its instrument, edition, section or page, quote, source address and sha256, and what the da

  • 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)

  • fetch

    One document search returned, as text: limits/ / = 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), and limits/ / / the rows of that medium alone; species/ [/ ] = what e

  • 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. A site holds a project's documents (permits, studies, lab reports, tables); ask_site answers a question from them, cited to the page.

  • create_site

    A new site in the account, with its name only: it is placed on a map later, on its page. Each call makes one more site, so look for the site with list_sites first.

  • 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. Give the file as `content_base64`, or a text as `text`. The same byt

  • ask_site

    What do a project's own documents say about a question, cited to the page? A question answered from one site's own read documents, by Claude, and checked before it is shown: every statement carries quotes, each quote is found again on the page it names, and a statement whose quot

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 16, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account kedu21-beep, which owns the repo

  • ✓ Pass

    Still maintained

    Code last changed 32 days ago

  • ✕ Fail

    Has a licence

    No licence file found in the repo

  • ✓ Pass

    Endpoint responds

    Responded in 170 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • ✓ Pass

    No hidden instructions in tool descriptions

    Read 24 tool descriptions and found no hidden instructions to the AI

What we check → · JSON

Makers: ask for a re-check or report wrong info

Discussion

Ask, share a tip or report that it does not work. Sorted by what people marked helpful.

No posts yet. Be the first to ask or share.

Posts here are written by users, not the PopNx team.

Sign in to post

User reviews

No reviews yet

Sign in to write a review

Compared with others in Otheri

  • More stars than 0% of the other 19954 servers in this category
  • Published to the registry more recently than 58% of the other 19954 servers in this category
  • Basic checks equal to or better than 59% of the other 19954 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Passage Data — cited environmental limits safe?

It passed 4 of 5 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.

Is it still maintained?

The GitHub repo last changed 32 days ago, and the latest version (1.13.0) reached the registry 32 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT on the web (full MCP on Business and above; Pro read-only).

What can I use instead?

In the same category: World Monitor, openstatus, Oh My Posh Validator, Strata, Jitsu

Similar alternatives

Same category, other makers, commands already checked. Official ones first, then by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

World Monitor

Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 97 tools.

by koala73Widely used★ 90.7KUpdated 2 days ago

Runs in the cloud✓ service owner · worldmonitor.app

openstatus

Manage monitors, status pages, incidents and maintenances in your openstatus workspace.

by openstatusHQWidely used★ 9.3KUpdated 2 months ago

Runs in the cloud✓ service owner · openstatus.dev

Oh My Posh Validator

Validate oh-my-posh configurations and segment snippets against the official schema.

by JanDeDobbeleerWidely used★ 23.8K Stars for the whole repoUpdated 27 days ago

Runs in the cloud✓ service owner · ohmyposh.dev

Strata

MCP server for progressive tool usage at any scale (see https://klavis.ai)

by Klavis-AIGrowing★ 5.8KUpdated 14 months ago

Runs in the cloudRepo archived✓ klavis.ai

Jitsu

Manage Jitsu data pipelines: destinations, streams, connections, functions, live events.

by jitsucomWidely used★ 5.1KUpdated 4 months ago

Runs in the cloud✓ service owner · jitsu.com
  • World Monitor — Runs in the cloud, nothing to install · No key needed
  • openstatus — Runs in the cloud, nothing to install · No key needed
  • Oh My Posh Validator — Runs in the cloud, nothing to install · No key needed
  • Strata — Runs in the cloud, nothing to install · No key needed
  • Jitsu — Runs in the cloud, nothing to install · No key needed

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Passage Data — cited environmental limits (MCP server)

A remote MCP server and HTTP API for numeric environmental limits read from the regulations themselves: effluent and discharge limits, surface-water and groundwater quality criteria, drinking-water standards, soil and groundwater screening values, ambient-air guidelines and emission limits, for the US (federal rules and the states), Canada (federal, every province and territory), Germany, France, Italy and the EU. It also reports the status a species holds under the species-at-risk registers it holds.

Every row is cited: instrument, edition, section or page, the quoted text, and the source file's URL and sha256. When nothing is held, the answer is a coded refusal naming every instrument searched, never an empty list.

  • MCP endpoint: https://passage-data.com/mcp (Streamable HTTP, no key)
  • HTTP API: https://passage-data.com/api/v1/ (JSON, no key; GET, and POST for a table or a list)
  • Full reference for agents: passage-data.com/llms.txt · OpenAPI 3.1
  • Registry name: io.github.kedu21-beep/passage-data

Connect

Claude Code

claude mcp add --transport http passage-data https://passage-data.com/mcp

Claude (web or desktop), ChatGPT (developer mode), and other clients: add a custom connector or remote MCP server with the URL https://passage-data.com/mcp. No key or sign-in.

Cursor (mcp.json):

{ "mcpServers": { "passage-data": { "url": "https://passage-data.com/mcp" } } }

Tools

ToolWhat it answers
find_limitsNumeric limits and guidelines for one substance or measure (a name or CAS number), optionally by place (ISO 3166: US-OH, CA-QC, DE, EU), medium, statistic and kind. A place also searches the places above it.
check_valueWhether one measured value (with its unit) is over, under or within each row find_limits would return. Units convert exactly within a family; a row that cannot be compared says why (a hardness- or pH-dependent criterion, a narrative limit, a unit of another family).
check_valuesA lab table in one call: up to 200 rows of parameter, value and unit for one place, each answered by check_value, with each held limit sent once and a count of the rows over. A row that cannot be read (an unknown parameter, a value below detection such as <0.005) gets its own coded refusal.
verify_claimWhether a limit held says what a sentence says (an AI's answer, a report): confirmed with the row's cite, contradicted with the numbers held, or a refusal when nothing is held to judge it by.
list_sourcesEvery instrument held for a place: title, issuer, edition, what it governs, rows read, source URL and sha256.
get_permitOne US NPDES discharge permit from EPA's national file: limits by outfall, renewal due date, the last 12 months' values over a limit.
find_designationsThe status a species holds under each register held: US ESA, SARA and COSEWIC, provincial and territorial acts, IUCN Red List, CITES, CMS, EU Habitats and Birds Directives, UK schedules. Each cited to the line the register prints.
screen_speciesA species list in one call: up to 500 names for one place or everywhere, each answered by find_designations, with each register sent once and the registers that are silent on a name.
map_to_darwin_coreThe Darwin Core term each column of a species occurrence or checklist file maps to, the rule that decided it, and the GBIF-required terms no column carries.
searchFree-text search over everything held (a substance and a place, a species, an instrument's title, an NPDES permit number), returning ids for fetch.
fetchOne document search returned, as text: every cited row for a parameter in a place, what each register says about a species, or what is held for a place.

All tools are read-only and idempotent.

Example

curl -s -X POST https://passage-data.com/mcp \

-H "content-type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"find_limits","arguments":{"parameter":"ammonia","place":"US-OH","medium":"surface_water"}}}'

or over plain HTTP:

curl -s "https://passage-data.com/api/v1/limits?parameter=ammonia&place=US-OH&medium=surface_water"

A lab table or a species list goes in one POST:

curl -s -X POST https://passage-data.com/api/v1/check -H "content-type: application/json"   -d '{"place":"CA-QC","medium":"water_discharge","rows":[{"parameter":"copper","value":0.15,"unit":"mg/L"},{"parameter":"zinc","value":0.4,"unit":"mg/L"}]}'

curl -s -X POST https://passage-data.com/api/v1/designations -H "content-type: application/json" -d '{"place":"CA-ON","species":["Myotis lucifugus","Emydoidea blandingii"]}'

Each row carries value, unit, statistic, direction, kind, medium, place, conditions as printed, and a cite block (instrument, title, issuer, edition, section, page, quote, source_url, source_sha256). More in examples/.

What is held

The live counts are on the service card: passage-data.com/api/v1/ (held). On 2026-10-14 the card said 247 instruments, 98,587 rows, 5,910 parameters and 74 places, plus 34 species registers holding 213,742 entries.

Terms

  • The data is read from public law and public agency files. Check the cited source before relying on a value. A refusal is a statement about our sources, not about the law of a place or the protection of a species.
  • Free while in preview. Calls are rate-limited (30 requests per 10 seconds per caller; a blocked call gets HTTP 429 with Retry-After).
  • We keep what is asked (tool, place, parameter or species name, outcome), the name and version the calling program gives, the network it calls from (operator and country, as Cloudflare reports them) and how many distinct callers a day; never an IP address, an account or a person.

This repository holds the server's listing and examples. The server itself is hosted at passage-data.com; its code is not public.