{"_id":"@ansvar/ch-environmental-compliance-mcp","_rev":"2-9747dd274407f320b4e919f000a2a511","name":"@ansvar/ch-environmental-compliance-mcp","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@ansvar/ch-environmental-compliance-mcp","version":"0.1.0","keywords":["mcp","agriculture","environment","water-protection","ammonia","biodiversity","switzerland"],"author":{"name":"Ansvar Systems","email":"info@ansvar.eu"},"license":"Apache-2.0","_id":"@ansvar/ch-environmental-compliance-mcp@0.1.0","maintainers":[{"name":"ansvar","email":"jeffrey.von.rotz@ansvar.eu"}],"homepage":"https://ansvar.eu/open-agriculture","bugs":{"url":"https://github.com/Ansvar-Systems/ch-environmental-compliance-mcp/issues"},"bin":{"ch-environmental-compliance-mcp":"dist/server.js"},"dist":{"shasum":"89240baa5afd7f479363c7904b1b854d7e4f0bc2","tarball":"https://registry.npmjs.org/@ansvar/ch-environmental-compliance-mcp/-/ch-environmental-compliance-mcp-0.1.0.tgz","fileCount":113,"integrity":"sha512-FFxwArKv+fhSwxyqIg1LdYjwIK2tDgwKBjFfMJ/1n7xEoJ0679UewgOQjUPOXizF8RrW5BImwbu+L6nbV9ubNg==","signatures":[{"sig":"MEUCIQC5Y7PzGRJOS38qe+mD290Ipl9ZJHO/SIbH1GFgPekBRwIgVHiACQnn+ScNiOFCyw9c8q1Cy8XlDdKxhOLeT6KoYgE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ansvar%2fch-environmental-compliance-mcp@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":388497},"main":"dist/server.js","type":"module","types":"./dist/server.d.ts","engines":{"node":">=20"},"gitHead":"74f3525e5815df4970feb5dd0b10c108f689c041","mcpName":"io.github.ansvar-systems/ch-environmental-compliance","scripts":{"dev":"tsx watch src/server.ts","lint":"eslint src/ tests/","test":"vitest run","build":"tsc","start":"node dist/server.js","ingest":"tsx scripts/ingest.ts","build:db":"tsx scripts/build-db.ts","typecheck":"tsc --noEmit","start:http":"node dist/http-server.js","test:watch":"vitest","ingest:diff":"tsx scripts/ingest.ts --diff-only","ingest:full":"tsx scripts/ingest.ts --force","ingest:fetch":"tsx scripts/ingest.ts --fetch-only","coverage:update":"tsx scripts/update-coverage.ts","freshness:check":"tsx scripts/check-freshness.ts"},"_npmUser":{"name":"ansvar","email":"jeffrey.von.rotz@ansvar.eu"},"repository":{"url":"git+https://github.com/Ansvar-Systems/ch-environmental-compliance-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"Swiss environmental compliance data via MCP -- GSchG, LRV, BFF, ammonia rules, Pa.Iv. 19.475, UVP, VBBo","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.23.0","better-sqlite3":"^11.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","eslint":"^9.0.0","vitest":"^2.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@types/better-sqlite3":"^7.6.0","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ch-environmental-compliance-mcp_0.1.0_1775385556891_0.7903961781853328","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Ansvar MCP servers are now distributed as source from github.com/Ansvar-Systems/ch-environmental-compliance-mcp under Apache 2.0. Self-hosting instructions: see the repo README. Hosted gateway: ansvar.eu"}},"time":{"created":"2026-04-05T10:39:16.816Z","modified":"2026-05-02T05:45:39.857Z","0.1.0":"2026-04-05T10:39:17.090Z"},"bugs":{"url":"https://github.com/Ansvar-Systems/ch-environmental-compliance-mcp/issues"},"author":{"name":"Ansvar Systems","email":"info@ansvar.eu"},"license":"Apache-2.0","homepage":"https://ansvar.eu/open-agriculture","keywords":["mcp","agriculture","environment","water-protection","ammonia","biodiversity","switzerland"],"repository":{"url":"git+https://github.com/Ansvar-Systems/ch-environmental-compliance-mcp.git","type":"git"},"description":"Swiss environmental compliance data via MCP -- GSchG, LRV, BFF, ammonia rules, Pa.Iv. 19.475, UVP, VBBo","maintainers":[{"name":"ansvar","email":"jeffrey.von.rotz@ansvar.eu"}],"readme":"# Switzerland Environmental Compliance MCP\n\n[![CI](https://github.com/ansvar-systems/ch-environmental-compliance-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/ansvar-systems/ch-environmental-compliance-mcp/actions/workflows/ci.yml)\n[![GHCR](https://github.com/ansvar-systems/ch-environmental-compliance-mcp/actions/workflows/ghcr-build.yml/badge.svg)](https://github.com/ansvar-systems/ch-environmental-compliance-mcp/actions/workflows/ghcr-build.yml)\n[![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\nSwiss environmental compliance data for agriculture via the [Model Context Protocol](https://modelcontextprotocol.io). Water protection zones, buffer strips, ammonia emissions, biodiversity areas, nutrient loss targets, EIA thresholds, and soil contamination limits -- all from your AI assistant.\n\nPart of [Ansvar Open Agriculture](https://ansvar.eu/open-agriculture).\n\n## Why This Exists\n\nSwiss farms must comply with federal environmental regulations across several domains: Gewaesserschutz (GSchG/GSchV), ammonia emissions (LRV), Biodiversitaetsfoerderflaechen (DZV), the Pa.Iv. 19.475 nutrient loss reduction pathway, and UVP/VBBo for building permits and soil protection. These rules are published by BAFU, BLW, and Agroscope but scattered across ordinances, fact sheets, and cantonal guidance. This MCP server brings them together in a structured, searchable format.\n\n## Quick Start\n\n### Claude Desktop\n\nAdd to `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"ch-environmental-compliance\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@ansvar/ch-environmental-compliance-mcp\"]\n    }\n  }\n}\n```\n\n### Claude Code\n\n```bash\nclaude mcp add ch-environmental-compliance npx @ansvar/ch-environmental-compliance-mcp\n```\n\n### Streamable HTTP (remote)\n\n```\nhttps://mcp.ansvar.eu/ch-environmental-compliance/mcp\n```\n\n### Docker (self-hosted)\n\n```bash\ndocker run -p 3000:3000 ghcr.io/ansvar-systems/ch-environmental-compliance-mcp:latest\n```\n\n### npm (stdio)\n\n```bash\nnpx @ansvar/ch-environmental-compliance-mcp\n```\n\n## Example Queries\n\nAsk your AI assistant:\n\n- \"Welche Grundwasserschutzzonen gibt es und was ist dort verboten?\"\n- \"Wie breit muessen Pufferstreifen an Gewaessern sein?\"\n- \"Ab wann gilt die Schleppschlauch-Pflicht fuer Guellausbringung?\"\n- \"Welche BFF-Typen erhalten QII-Beitraege?\"\n- \"Was sind die Naehrstoffverlust-Reduktionsziele fuer 2027?\"\n- \"Check compliance for a 60-head dairy farm on 35 hectares\"\n\n## Stats\n\n| Metric | Value |\n|--------|-------|\n| Tools | 11 (3 meta + 8 domain) |\n| Jurisdiction | CH |\n| Data sources | BAFU (GSchG/GSchV, LRV, VBBo), BLW (DZV, OELN), Agroscope (Agrammon), Parlament (Pa.Iv. 19.475) |\n| License (data) | Swiss Federal Administration -- free reuse |\n| License (code) | Apache-2.0 |\n| Transport | stdio + Streamable HTTP |\n\n## Tools\n\n| Tool | Description |\n|------|-------------|\n| `about` | Server metadata and links |\n| `list_sources` | Data sources with freshness info |\n| `check_data_freshness` | Staleness status and refresh command |\n| `search_environmental_rules` | FTS5 search across all environmental compliance topics |\n| `get_water_protection_zones` | Grundwasserschutzzonen S1-S3/Sm/Zu with restrictions |\n| `get_buffer_zone_rules` | Pufferstreifen distances and requirements |\n| `get_ammonia_rules` | Ammoniakemissionen by technique (LRV) |\n| `get_bff_requirements` | BFF types, QI/QII payment rates, botanical criteria |\n| `get_nutrient_loss_limits` | Pa.Iv. 19.475 N/P reduction targets through 2030 |\n| `get_eip_requirements` | UVP thresholds and VBBo soil contamination limits |\n| `check_environmental_compliance` | Applicable rules for a given agricultural operation |\n\nSee [TOOLS.md](TOOLS.md) for full parameter documentation.\n\n## Security Scanning\n\nThis repository runs security checks on every push:\n\n- **CodeQL** -- static analysis for JavaScript/TypeScript\n- **Gitleaks** -- secret detection across full history\n- **Dependency review** -- via Dependabot\n\nSee [SECURITY.md](SECURITY.md) for reporting policy.\n\n## Disclaimer\n\nThis data is for reference only. **Always consult the relevant cantonal authority or BAFU before taking action.** This tool is not legal or environmental compliance advice. See [DISCLAIMER.md](DISCLAIMER.md).\n\n## Contributing\n\nIssues and pull requests welcome. For security vulnerabilities, email security@ansvar.eu (do not open a public issue).\n\n## License\n\nApache-2.0. Data sourced from Swiss Federal Administration publications under free-reuse principles.\n","readmeFilename":"README.md"}