FacilityProof
Server Details
Source-reconciled U.S. environmental facility compliance evidence for AI agents.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one resolves facility identity and returns permit/program identifiers, while the other returns comprehensive compliance evidence. Descriptions explicitly delineate scope and usage, with the identity tool positioned as a precursor to deeper research and the evidence tool covering violations, enforcement, and penalties. No meaningful overlap that would cause misselection.
Both tool names follow the same predictable pattern: 'facilityproof.check_' followed by a snake_case noun phrase. The verb 'check' is used consistently, and the object names are descriptive and parallel (facility_compliance_evidence vs permit_identity). No deviations in convention.
With only 2 tools, the server feels thin for a domain that involves facility resolution, identity verification, and multiple compliance dimensions. While the tools are well-scoped, the count is below the typical 3–15 range and may limit flexibility for agents needing intermediate operations.
The surface covers the core workflow: resolving a facility's identity and retrieving a broad compliance evidence report including air, water, hazardous waste, drinking water, inspections, violations, and enforcement. Minor gaps exist, such as no dedicated permit status check or facility search/list operation, but the stated scope excludes company-wide research and raw record retrieval.
Available Tools
2 toolsfacilityproof.check_facility_compliance_evidenceCheck facility compliance evidenceAInspect
Resolve one physical U.S. facility and return a bounded, source-reconciled environmental regulatory evidence report covering core air, water, hazardous-waste, and drinking-water programs plus inspections, reported violations, formal enforcement, penalties, freshness, source gaps, and conflicts. Use when an agent needs evidence about one specific facility and wrong-site matching or missing-source inference would be costly; do not use for company-wide research, raw EPA record retrieval, legal advice, or a clean/compliant verdict. Provide frsId or programId when known; otherwise provide name with enough location context to resolve exactly one site. This is a $1.00 USD MPP operation when commerce is active in a released state. California, Texas, and Florida are currently released for paid full-compliance evidence. Identity and state eligibility are resolved before payment, ambiguous/unresolved/unreleased requests are not charged, and the call does not alter regulatory records. A fresh authorized invocation can charge again, while a settled delivery retry should reuse the identical request with the same payment credential to recover without a second settlement.
| Name | Required | Description | Default |
|---|---|---|---|
| zip | No | U.S. ZIP or ZIP+4 for the physical facility. Use as an identity hint, not as a substitute for a site name or authoritative identifier. | |
| city | No | City for the physical facility. Used with name/address hints to distinguish facilities with similar names. | |
| name | No | Facility or site name, including a distinguishing plant/site descriptor when available. For name-based resolution, also provide city/state, address, or ZIP whenever possible. | |
| frsId | No | Exact 12-digit EPA Facility Registry Service identifier when known. Prefer this over name matching because it anchors federal facility identity directly. | |
| state | No | Two-letter U.S. postal abbreviation for the physical facility. For full compliance evidence, California, Texas, and Florida are currently released. Permit identity uses a separate readiness gate. | |
| address | No | Street address for the physical facility when known. Used only for physical-site identity resolution; do not provide corporate headquarters unless that is the facility being checked. | |
| programId | No | Exact authoritative environmental program identifier when known, such as an NPDES permit ID or RCRA handler ID. FacilityProof uses it to resolve the physical facility before paid work. |
Output Schema
| Name | Required | Description |
|---|---|---|
| asOf | Yes | Evidence cutoff or as-of time represented by the report. |
| quality | Yes | Quality and coverage signals for the report. |
| evidence | Yes | Source-linked evidence observations supporting the report. |
| facility | Yes | Resolved physical-facility identity, including authoritative identifiers and normalized location context. |
| programs | Yes | Bounded environmental program/permit coverage found for the resolved facility. |
| reportId | Yes | Stable report identifier for this generated evidence package. |
| conflicts | Yes | Unresolved disagreements across authoritative records that FacilityProof preserves rather than guessing through. |
| freshness | Yes | Per-source freshness and observation metadata so agents can judge staleness. |
| operation | Yes | Canonical FacilityProof operation that produced this report. |
| penalties | Yes | Penalty/monetary enforcement evidence linked to the resolved facility when supported. |
| sourceGaps | Yes | Expected or relevant source coverage that could not be established or retrieved. |
| violations | Yes | Reported violation/noncompliance evidence returned by authoritative sources; absence is not a clean-compliance conclusion. |
| generatedAt | Yes | Timestamp when FacilityProof generated the report. |
| inspections | Yes | Inspection evidence returned by authoritative sources in the bounded search. |
| limitations | Yes | Important scope and interpretation limits, including that the report is evidence rather than legal advice or a compliance verdict. |
| schemaVersion | Yes | FacilityProof report schema version. |
| enforcementActions | Yes | Formal enforcement-action evidence returned by authoritative sources. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=false but destructiveHint=false, the agent needs to know what side effect exists, and the description explains it: a $1.00 MPP charge, that identity/state eligibility are resolved before payment, that ambiguous/unresolved/unreleased requests are not charged, and that the call does not alter regulatory records. The idempotency nuance (fresh invocation can re-charge; settled-delivery retry must reuse the identical request and payment credential) goes well beyond the idempotentHint=false annotation and materially guides correct invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose and usage guidance are front-loaded, and the operational/billing sentences are dense rather than padded. It runs long, and the final sentence on settled-delivery retries is a lot of detail, but every sentence carries operative meaning for a paid, gated operation, so it stays efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail is not needed, and the description covers the remaining gaps an agent must know: identity-resolution strategy, released-state eligibility (CA/TX/FL), payment and non-charge conditions, and the read-but-charged side-effect profile. Nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents each parameter, including the frsId-vs-name preference and the identity-hint role of zip/city. The description reinforces the resolution ordering (frsId/programId, else name plus location) and notes resolution happens pre-payment, but adds no new syntax or format meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource ('Resolve one physical U.S. facility and return a bounded, source-reconciled environmental regulatory evidence report') and enumerates exactly what the report covers (air, water, hazardous-waste, drinking-water, inspections, violations, enforcement, penalties, freshness, gaps, conflicts). This scope is specific enough to distinguish it from the sibling permit-identity tool, which it also references.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states when to use it ('when an agent needs evidence about one specific facility and wrong-site matching or missing-source inference would be costly') and explicitly lists when not to ('company-wide research, raw EPA record retrieval, legal advice, or a clean/compliant verdict'). It also gives identity-resolution ordering (frsId/programId first, else name plus location), leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
facilityproof.check_permit_identityCheck facility permit identityAInspect
Resolve one physical U.S. facility and return authoritative FRS environmental program/permit identifiers plus qualified jurisdiction and source-system provenance before deeper compliance research. This is a $0.10 USD MPP operation when commerce is active. It is currently jurisdiction-ready in 40 states. Ambiguous identity, medium-confidence identity, linked-record conflicts, missing routed program identity, and states with unresolved Tribal/federal carve-outs are rejected before payment. The result does not determine compliance, permit status, violations, enforcement, or penalties.
| Name | Required | Description | Default |
|---|---|---|---|
| zip | No | U.S. ZIP or ZIP+4 for the physical facility. Use as an identity hint, not as a substitute for a site name or authoritative identifier. | |
| city | No | City for the physical facility. Used with name/address hints to distinguish facilities with similar names. | |
| name | No | Facility or site name, including a distinguishing plant/site descriptor when available. For name-based resolution, also provide city/state, address, or ZIP whenever possible. | |
| frsId | No | Exact 12-digit EPA Facility Registry Service identifier when known. Prefer this over name matching because it anchors federal facility identity directly. | |
| state | No | Two-letter U.S. postal abbreviation for the physical facility. For full compliance evidence, California, Texas, and Florida are currently released. Permit identity uses a separate readiness gate. | |
| address | No | Street address for the physical facility when known. Used only for physical-site identity resolution; do not provide corporate headquarters unless that is the facility being checked. | |
| programId | No | Exact authoritative environmental program identifier when known, such as an NPDES permit ID or RCRA handler ID. FacilityProof uses it to resolve the physical facility before paid work. |
Output Schema
| Name | Required | Description |
|---|---|---|
| facility | Yes | |
| identity | Yes | |
| programs | Yes | |
| conflicts | Yes | |
| freshness | Yes | FRS retrieval time plus source-system cadence/provenance. Source-route entries do not pretend a facility-specific source record was captured. |
| operation | Yes | |
| generatedAt | Yes | |
| limitations | Yes | |
| jurisdiction | Yes | |
| schemaVersion | Yes | |
| sourceProvenance | Yes | |
| unresolvedIdentifiers | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial behavioral context beyond the annotations: a $0.10 USD cost gate, current jurisdiction readiness (40 states), a fail-closed pre-payment rejection model, and a bounded scope disclaimer ('does not determine compliance, permit status, violations, enforcement, or penalties'). This tells the agent about cost, failure modes, and coverage limits that the readOnly/openWorld/idempotent hints cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core resolve-and-return action, then cost, readiness, failure modes, and scope limit. Every sentence carries distinct information, though the readiness/cost sentences are dense and could be trimmed slightly without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and the description still covers cost, jurisdictional readiness, fail-closed behavior, and explicit scope exclusions. An agent knows the inputs to supply, the expected charge, and the limits of the result before calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each of the seven parameters is already documented in-schema (FRS ID format, ZIP pattern, name/address hints). The description only restates the schema-level strategy of supplying an exact identifier or a name plus location context, adding no new syntax or format meaning. Baseline 3 applies when the schema carries the param burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Resolve one physical U.S. facility and return authoritative FRS environmental program/permit identifiers'), plus the scope of what is returned (jurisdiction and source-system provenance). The closing clause 'before deeper compliance research' implicitly distinguishes it from the sole sibling facilityproof.check_facility_compliance_evidence, so an agent can route between them from the definition alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly frames the position in the workflow ('before deeper compliance research') and enumerates the failure conditions that lead to rejection (ambiguous identity, medium-confidence identity, linked-record conflicts, missing routed program identity, Tribal/federal carve-out states). It never explicitly names the sibling tool or states when NOT to use this in favor of compliance evidence, so routing is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Changed
facilityproof.check_facility_compliance_evidence1 field changed- changed
Input schema / properties / state / descriptionPrevious value: -"Two-letter U.S. postal abbreviation for the physical facility. For full compliance evidence, California and Texas are currently released; Florida is in development and unreleased. Permit identity uses a separate readiness gate."New value: +"Two-letter U.S. postal abbreviation for the physical facility. For full compliance evidence, California, Texas, and Florida are currently released. Permit identity uses a separate readiness gate."
- Changed
facilityproof.check_permit_identity1 field changed- changed
Input schema / properties / state / descriptionPrevious value: -"Two-letter U.S. postal abbreviation for the physical facility. For full compliance evidence, California and Texas are currently released; Florida is in development and unreleased. Permit identity uses a separate readiness gate."New value: +"Two-letter U.S. postal abbreviation for the physical facility. For full compliance evidence, California, Texas, and Florida are currently released. Permit identity uses a separate readiness gate."
2 tool updates
- Changed
facilityproof.check_facility_compliance_evidence1 field changed- changed
Input schema / properties / state / descriptionPrevious value: -"Two-letter U.S. postal abbreviation for the physical facility. Full compliance evidence and permit identity have separate production-readiness rules."New value: +"Two-letter U.S. postal abbreviation for the physical facility. For full compliance evidence, California and Texas are currently released; Florida is in development and unreleased. Permit identity uses a separate readiness gate."
- Changed
facilityproof.check_permit_identity1 field changed- changed
Input schema / properties / state / descriptionPrevious value: -"Two-letter U.S. postal abbreviation for the physical facility. Full compliance evidence and permit identity have separate production-readiness rules."New value: +"Two-letter U.S. postal abbreviation for the physical facility. For full compliance evidence, California and Texas are currently released; Florida is in development and unreleased. Permit identity uses a separate readiness gate."
2 tool updates
- Changed
facilityproof.check_facility_compliance_evidence2 fields changed- changed
Input schema / properties / programId / descriptionPrevious value: -"Exact authoritative environmental program identifier when known, such as an NPDES permit ID or RCRA handler ID. FacilityProof uses it to resolve the physical facility before evidence retrieval."New value: +"Exact authoritative environmental program identifier when known, such as an NPDES permit ID or RCRA handler ID. FacilityProof uses it to resolve the physical facility before paid work." - changed
Input schema / properties / state / descriptionPrevious value: -"Two-letter U.S. postal abbreviation for the physical facility, such as CA. Current paid production release is California only; unreleased states are rejected before payment."New value: +"Two-letter U.S. postal abbreviation for the physical facility. Full compliance evidence and permit identity have separate production-readiness rules."
- Added
facilityproof.check_permit_identity
1 tool update
- Changed
facilityproof.check_facility_compliance_evidence28 fields changed- added
Input schema / descriptionAdded value: +"Identity hints for one physical U.S. facility. Provide an exact EPA FRS ID or authoritative program ID when known; otherwise provide the facility name plus enough location context to resolve one site safely. FacilityProof fails closed on ambiguous identity." - added
Input schema / properties / address / descriptionAdded value: +"Street address for the physical facility when known. Used only for physical-site identity resolution; do not provide corporate headquarters unless that is the facility being checked." - added
Input schema / properties / city / descriptionAdded value: +"City for the physical facility. Used with name/address hints to distinguish facilities with similar names." - changed
Input schema / properties / frsId / descriptionPrevious value: -"EPA Facility Registry Service identifier when known."New value: +"Exact 12-digit EPA Facility Registry Service identifier when known. Prefer this over name matching because it anchors federal facility identity directly." - changed
Input schema / properties / name / descriptionPrevious value: -"Facility or site name."New value: +"Facility or site name, including a distinguishing plant/site descriptor when available. For name-based resolution, also provide city/state, address, or ZIP whenever possible." - changed
Input schema / properties / programId / descriptionPrevious value: -"Authoritative program identifier such as an NPDES or RCRA ID when known."New value: +"Exact authoritative environmental program identifier when known, such as an NPDES permit ID or RCRA handler ID. FacilityProof uses it to resolve the physical facility before evidence retrieval." - added
Input schema / properties / state / descriptionAdded value: +"Two-letter U.S. postal abbreviation for the physical facility, such as CA. Current paid production release is California only; unreleased states are rejected before payment." - added
Input schema / properties / zip / descriptionAdded value: +"U.S. ZIP or ZIP+4 for the physical facility. Use as an identity hint, not as a substitute for a site name or authoritative identifier." - added
Output schema / descriptionAdded value: +"Bounded, source-reconciled environmental regulatory evidence report for one resolved physical facility. Missing records remain source gaps and conflicts remain explicit rather than becoming a compliance verdict." - added
Output schema / properties / asOf / descriptionAdded value: +"Evidence cutoff or as-of time represented by the report." - added
Output schema / properties / conflicts / descriptionAdded value: +"Unresolved disagreements across authoritative records that FacilityProof preserves rather than guessing through." - added
Output schema / properties / enforcementActions / descriptionAdded value: +"Formal enforcement-action evidence returned by authoritative sources." - added
Output schema / properties / evidence / descriptionAdded value: +"Source-linked evidence observations supporting the report." - added
Output schema / properties / facility / additionalPropertiesAdded value: +true - added
Output schema / properties / facility / descriptionAdded value: +"Resolved physical-facility identity, including authoritative identifiers and normalized location context." - added
Output schema / properties / freshness / descriptionAdded value: +"Per-source freshness and observation metadata so agents can judge staleness." - added
Output schema / properties / generatedAt / descriptionAdded value: +"Timestamp when FacilityProof generated the report." - added
Output schema / properties / inspections / descriptionAdded value: +"Inspection evidence returned by authoritative sources in the bounded search." - added
Output schema / properties / limitations / descriptionAdded value: +"Important scope and interpretation limits, including that the report is evidence rather than legal advice or a compliance verdict." - added
Output schema / properties / operation / descriptionAdded value: +"Canonical FacilityProof operation that produced this report." - added
Output schema / properties / penalties / descriptionAdded value: +"Penalty/monetary enforcement evidence linked to the resolved facility when supported." - added
Output schema / properties / programs / descriptionAdded value: +"Bounded environmental program/permit coverage found for the resolved facility." - added
Output schema / properties / quality / additionalPropertiesAdded value: +true - added
Output schema / properties / quality / descriptionAdded value: +"Quality and coverage signals for the report." - added
Output schema / properties / reportId / descriptionAdded value: +"Stable report identifier for this generated evidence package." - added
Output schema / properties / schemaVersion / descriptionAdded value: +"FacilityProof report schema version." - added
Output schema / properties / sourceGaps / descriptionAdded value: +"Expected or relevant source coverage that could not be established or retrieved." - added
Output schema / properties / violations / descriptionAdded value: +"Reported violation/noncompliance evidence returned by authoritative sources; absence is not a clean-compliance conclusion."
1 tool update
- First observed
facilityproof.check_facility_compliance_evidence
Publisher details
- Operator
- Davisville Labs LLC · Publisher source
- Operator website
- https://davisvillelabs.com · Publisher source
- Vendor relationship
- First-party · Publisher source
- Trust center
- Not available
- Restrictions
- Production paid service is currently available for California facilities only. Facility identity and state eligibility are resolved before payment. Ambiguous, unresolved, or unreleased-state requests are not charged. · Publisher source
Related MCP Connectors
Primary-source SEC filing intelligence and financial/disclosure reconciliation for AI agents.
Primary-source SEC filing intelligence for AI agents, with exact evidence and provenance.
US public-records intelligence for AI agents — companies, SEC, courts, spending, licenses.
Evidence infrastructure for agents: source-backed company verification and beta import assessment.
Related MCP Servers
- FlicenseAqualityDmaintenanceProvides AI agents with access to a structured compliance dataset covering privacy and AI regulations across jurisdictions, enabling verifiable answers to regulatory questions via tools and resources.12-
- AlicenseAqualityAmaintenancePublic-record corpus of AI litigation, regulation, and enforcement, anchored to EveryAILaw.861 npmMIT
- AlicenseAqualityDmaintenanceProvides AI agents with structured access to U.S. EPA environmental data including nearby regulated facilities, chemical releases, water violations, and hazardous waste sites for any U.S. location. Enables comprehensive environmental impact analysis through the EPA Envirofacts API with geocoding support and distance-based filtering.5MIT
- AlicenseAqualityCmaintenanceUniversal Search-First Knowledge Acquisition Plugin for LLMs. Enables real-time web search and deep page browsing via MCP or CLI. Zero-cost, privacy-first, supports DuckDuckGo, Bing, Google, Brave, Wikipedia, Arxiv, YouTube, Reddit and more.216 npm26 PyPI18MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.