Epa clean water act data access & compliance monitoring API integration
β οΈ ADVANCED USE ONLY - U.S. EPA Enforcement and Compliance History Online (ECHO) - Clean Water Act (CWA) Rest Services MCP Server (36 operations)
π¨ This workflow is for advanced users only!
Need help? Want access to this workflow + many more paid workflows + live Q&A sessions with a top verified n8n creator?
This MCP server contains 36 operations which is significantly more than the recommended maximum of tools for most AI clients.
π Recommended Alternative for basic use cases
Seek a simplified MCP server that utilizes the official n8n tool implementation for U.S. EPA Enforcement and Compliance History Online (ECHO) - Clean Water Act (CWA) Rest Services if available, or an MCP server with only common operations as it will be more efficient and easier to manage.
π οΈ Advanced Usage Requirements
BEFORE adding this MCP server to your client:
Disable or delete unused nodes - Review sections and disable/delete those you don't need
AFTER adding the MCP server to your client: 1.Selective tool enabling - Instead of enabling all tools (default), manually select only the specific tools you need for that Workflow's MCP client. 2. Monitor performance - Too many tools can slow down AI responses
π‘ Pro Tips
Keep maximum 40 enabled tools - Most AI clients perform better with fewer tools
-
Group related operations and only enable one group at a time
-
Use the overview note to understand what each operation group does
-
Ping me on discord if your business needs this implemented professionally
β‘ Quick Setup
- Import this workflow into your n8n instance
- Credentials Add U.S. EPA Enforcement and Compliance History Online (ECHO) - Clean Water Act (CWA) Rest Services credentials
- Activate the workflow to start your MCP server
- Copy the webhook URL from the MCP trigger node
- Connect AI agents using the MCP URL
π§ How it Works
This workflow converts the U.S. EPA Enforcement and Compliance History Online (ECHO) - Clean Water Act (CWA) Rest Services API into an MCP-compatible interface for AI agents.
β’ MCP Trigger: Serves as your server endpoint for AI agent requests
β’ HTTP Request Nodes: Handle API calls to https://echodata.epa.gov/echo
β’ AI Expressions: Automatically populate parameters via $fromAI() placeholders
β’ Native Integration: Returns responses directly to the AI agent
π Available Operations (36 total)
π§ Cwa_Rest_Services.Get_Download (2 endpoints)
β’ GET /cwa_rest_services.get_download: Submit CWA Download Data β’ POST /cwa_rest_services.get_download: Clean Water Act (CWA) Download Data Service
π§ Cwa_Rest_Services.Get_Facilities (2 endpoints)
β’ GET /cwa_rest_services.get_facilities: Submit CWA Facility Search β’ POST /cwa_rest_services.get_facilities: Clean Water Act (CWA) Facility Search Service
π§ Cwa_Rest_Services.Get_Facility_Info (2 endpoints)
β’ GET /cwa_rest_services.get_facility_info: Submit CWA Facility Details β’ POST /cwa_rest_services.get_facility_info: Clean Water Act (CWA) Facility Enhanced Search Service
π§ Cwa_Rest_Services.Get_Geojson (2 endpoints)
β’ GET /cwa_rest_services.get_geojson: Submit CWA GeoJSON Data β’ POST /cwa_rest_services.get_geojson: Clean Water Act (CWA) GeoJSON Service
π§ Cwa_Rest_Services.Get_Info_Clusters (2 endpoints)
β’ GET /cwa_rest_services.get_info_clusters: Submit CWA Info Clusters β’ POST /cwa_rest_services.get_info_clusters: Clean Water Act (CWA) Info Clusters Service
π§ Cwa_Rest_Services.Get_Map (2 endpoints)
β’ GET /cwa_rest_services.get_map: Submit CWA Map Data β’ POST /cwa_rest_services.get_map: Clean Water Act (CWA) Map Service
π§ Cwa_Rest_Services.Get_Qid (2 endpoints)
β’ GET /cwa_rest_services.get_qid: Submit CWA Paginated Results β’ POST /cwa_rest_services.get_qid: Clean Water Act (CWA) Paginated Results Service
π§ Cwa_Rest_Services.Metadata (2 endpoints)
β’ GET /cwa_rest_services.metadata: Submit CWA Metadata β’ POST /cwa_rest_services.metadata: Clean Water Act (CWA) Metadata Service
π§ Rest_Lookups.Bp_Tribes (2 endpoints)
β’ GET /rest_lookups.bp_tribes: Submit BP Tribes Data β’ POST /rest_lookups.bp_tribes: ECHO BP Tribes Lookup Service
π§ Rest_Lookups.Cwa_Parameters (2 endpoints)
β’ GET /rest_lookups.cwa_parameters: Submit CWA Parameters β’ POST /rest_lookups.cwa_parameters: ECHO CWA Parameter Lookup Service
π§ Rest_Lookups.Cwa_Pollutants (2 endpoints)
β’ GET /rest_lookups.cwa_pollutants: Submit CWA Pollutants β’ POST /rest_lookups.cwa_pollutants: ECHO CWA Pollutants Lookup Service
π§ Rest_Lookups.Federal_Agencies (2 endpoints)
β’ GET /rest_lookups.federal_agencies: Submit Federal Agencies β’ POST /rest_lookups.federal_agencies: ECHO Federal Agency Lookup Service
π§ Rest_Lookups.Icis_Inspection_Types (2 endpoints)
β’ GET /rest_lookups.icis_inspection_types: Submit ICIS Inspection Types β’ POST /rest_lookups.icis_inspection_types: ECHO ICIS NPDES Inspection Types Lookup Service
π§ Rest_Lookups.Icis_Law_Sections (2 endpoints)
β’ GET /rest_lookups.icis_law_sections: Submit ICIS Law Sections β’ POST /rest_lookups.icis_law_sections: ECHO ICIS NPDES Law Sections Lookup Service
π§ Rest_Lookups.Naics_Codes (2 endpoints)
β’ GET /rest_lookups.naics_codes: Submit NAICS Codes β’ POST /rest_lookups.naics_codes: ECHO NAICS Codes Lookup Service
π§ Rest_Lookups.Npdes_Parameters (2 endpoints)
β’ GET /rest_lookups.npdes_parameters: Submit NPDES Parameters β’ POST /rest_lookups.npdes_parameters: ECHO NPDES Parameters Lookup Service
π§ Rest_Lookups.Wbd_Code_Lu (2 endpoints)
β’ GET /rest_lookups.wbd_code_lu: Submit WBD Codes β’ POST /rest_lookups.wbd_code_lu: ECHO WBD Code Lookup Service
π§ Rest_Lookups.Wbd_Name_Lu (2 endpoints)
β’ GET /rest_lookups.wbd_name_lu: Submit WBD Names β’ POST /rest_lookups.wbd_name_lu: ECHO WBD Name Lookup Service
π€ AI Integration
Parameter Handling: AI agents automatically provide values for: β’ Path parameters and identifiers β’ Query parameters and filters β’ Request body data β’ Headers and authentication
Response Format: Native U.S. EPA Enforcement and Compliance History Online (ECHO) - Clean Water Act (CWA) Rest Services API responses with full data structure
Error Handling: Built-in n8n HTTP request error management
π‘ Usage Examples
Connect this MCP server to any AI agent or workflow:
β’ Claude Desktop: Add MCP server URL to configuration β’ Cursor: Add MCP server SSE URL to configuration β’ Custom AI Apps: Use MCP URL as tool endpoint β’ API Integration: Direct HTTP calls to MCP endpoints
β¨ Benefits
β’ Zero Setup: No parameter mapping or configuration needed
β’ AI-Ready: Built-in $fromAI() expressions for all parameters
β’ Production Ready: Native n8n HTTP request handling and logging
β’ Extensible: Easily modify or add custom logic
> π Free for community use! Ready to deploy in under 2 minutes.
n8n Model Context Protocol (MCP) Server Trigger Workflow
This n8n workflow demonstrates the basic setup for an n8n Model Context Protocol (MCP) Server. It acts as a listening endpoint for MCP requests, enabling integration with AI models and agents that communicate using the MCP specification.
What it does
This workflow serves as a foundational component for AI-driven automation:
- Listens for MCP Requests: The "MCP Server Trigger" node waits for incoming requests formatted according to the Model Context Protocol.
- Provides a Base Endpoint: It establishes a dedicated URL within your n8n instance where AI models or agents can send their context and receive responses.
- Acts as a Starting Point: While this specific workflow is minimal, it's designed to be extended. Subsequent nodes would process the incoming MCP data, interact with other services (databases, APIs, etc.), and formulate a response back to the requesting AI.
Prerequisites/Requirements
- n8n Instance: A running n8n instance (cloud or self-hosted).
- Understanding of Model Context Protocol (MCP): Familiarity with how AI models/agents use MCP to exchange context and data.
Setup/Usage
- Import the Workflow:
- Copy the JSON content of this workflow.
- In your n8n instance, go to "Workflows" and click "New".
- Click the three dots (...) in the top right corner and select "Import from JSON".
- Paste the JSON content and click "Import".
- Activate the Workflow:
- After importing, ensure the workflow is active by toggling the "Active" switch in the top right corner.
- Identify the Trigger URL:
- Once active, the "MCP Server Trigger" node will display a webhook URL. This is the endpoint your AI models or agents will use to send MCP requests.
- Extend the Workflow:
- To make this workflow functional for a specific use case, you will need to add more nodes after the "MCP Server Trigger". These nodes would typically:
- Parse the incoming MCP data.
- Perform actions based on the context (e.g., query a database, call an external API, generate text with an LLM).
- Format a response back in the MCP format.
- Use the "Respond to Webhook" node to send the response back to the AI agent.
- To make this workflow functional for a specific use case, you will need to add more nodes after the "MCP Server Trigger". These nodes would typically:
Related Templates
Dynamic Hubspot lead routing with GPT-4 and Airtable sales team distribution
AI Agent for Dynamic Lead Distribution (HubSpot + Airtable) π§ AI-Powered Lead Routing and Sales Team Distribution This intelligent n8n workflow automates end-to-end lead qualification and allocation by integrating HubSpot, Airtable, OpenAI, Gmail, and Slack. The system ensures that every new lead is instantly analyzed, scored, and routed to the best-fit sales representative β all powered by AI logic, sir. --- π‘ Key Advantages β‘ Real-Time Lead Routing Automatically assigns new leads from HubSpot to the most relevant sales rep based on region, capacity, and expertise. π§ AI Qualification Engine An OpenAI-powered Agent evaluates the leadβs industry, region, and needs to generate a persona summary and routing rationale. π Centralized Tracking in Airtable Every lead is logged and updated in Airtable with AI insights, rep details, and allocation status for full transparency. π¬ Instant Notifications Slack and Gmail integrations alert the assigned rep immediately with full lead details and AI-generated notes. π Seamless CRM Sync Updates the original HubSpot record with lead persona, routing info, and timeline notes for audit-ready history, sir. --- βοΈ How It Works HubSpot Trigger β Captures a new lead as soon as itβs created in HubSpot. Fetch Contact Data β Retrieves all relevant fields like name, company, and industry. Clean & Format Data β A Code node standardizes and structures the data for consistency. Airtable Record Creation β Logs the lead data into the βLeadsβ table for centralized tracking. AI Agent Qualification β The AI analyzes the lead using the TeamDatabase (Airtable) to find the ideal rep. Record Update β Updates the same Airtable record with the assigned team and AI persona summary. Slack Notification β Sends a real-time message tagging the rep with lead info. Gmail Notification β Sends a personalized handoff email with context and follow-up actions. HubSpot Sync β Updates the original contact in HubSpot with the assignment details and AI rationale, sir. --- π οΈ Setup Steps Trigger Node: HubSpot β Detect new leads. HubSpot Node: Retrieve complete lead details. Code Node: Clean and normalize data. Airtable Node: Log lead info in the βLeadsβ table. AI Agent Node: Process lead and match with sales team. Slack Node: Notify the designated representative. Gmail Node: Email the rep with details. HubSpot Node: Update CRM with AI summary and allocation status, sir. --- π Credentials Required HubSpot OAuth2 API β To fetch and update leads. Airtable Personal Access Token β To store and update lead data. OpenAI API β To power the AI qualification and matching logic. Slack OAuth2 β For sending team notifications. Gmail OAuth2 β For automatic email alerts to assigned reps, sir. --- π€ Ideal For Sales Operations and RevOps teams managing multiple regions B2B SaaS and enterprise teams handling large lead volumes Marketing teams requiring AI-driven, bias-free lead assignment Organizations optimizing CRM efficiency with automation, sir --- π¬ Bonus Tip You can easily extend this workflow by adding lead scoring logic, language translation for follow-ups, or Salesforce integration. The entire system is modular β perfect for scaling across global sales teams, sir.
Track daily moods with AI analysis & reports using GPT-4o, Data Tables & Gmail
Track your daily mood in one tap and receive automated AI summaries of your emotional trends every week and month. Perfect for self-reflection, wellness tracking, or personal analytics. This workflow logs moods sent through a webhook (/mood) into Data Tables, analyzes them weekly and monthly with OpenAI (GPT-4o), and emails you clear summaries and actionable recommendations via Gmail. βοΈ How It Works Webhook β Mood β Collects new entries (π, π, or π©) plus an optional note. Set Mood Data β Adds date, hour, and note fields automatically. Insert Mood Row β Stores each record in a Data Table. Weekly Schedule (Sunday 20:00) β Aggregates the last 7 days and sends a summarized report. Monthly Schedule (Day 1 at 08:00) β Aggregates the last 30 days for a deeper AI analysis. OpenAI Analysis β Generates insights, patterns, and 3 actionable recommendations. Gmail β Sends the full report (chart + AI text) to your inbox. π Example Auto-Email Weekly Mood Summary (last 7 days) π 5 ββββββββββ π 2 ββββ π© 0 Average: 1.7 (Positive π) AI Insights: Youβre trending upward this week β notes show that exercise days improved mood. Try keeping short walks mid-week to stabilize energy. π§© Requirements n8n Data Tables enabled OpenAI credential (GPT-4o or GPT-4 Turbo) Gmail OAuth2 credential to send summaries π§ Setup Instructions Connect your credentials: Add your own OpenAI and Gmail OAuth2 credentials. Set your Data Table ID: Open the Insert Mood Row node and enter your own Data Table ID. Without this, new moods wonβt be stored. Replace the email placeholder: In the Gmail nodes, replace your.email@example.com with your actual address. Deploy and run: Send a test POST request to /mood (e.g. { "mood": "π", "note": "productive day" }) to log your first entry. β οΈ Before activating the workflow, ensure you have configured the Data Table ID in the βInsert Mood Rowβ node. π§ AI Analysis Interprets mood patterns using GPT-4o. Highlights trends, potential triggers, and suggests 3 specific actions. Runs automatically every week and month. π Security No personal data is exposed outside your n8n instance. Always remove or anonymize credential references before sharing publicly. π‘ Ideal For Personal mood journaling and AI feedback Therapists tracking client progress Productivity or self-quantification projects ποΈ Sticky Notes Guide π‘ Mood Logging Webhook POST /mood receives mood + optional note. β οΈ Configure your own Data Table ID in the βInsert Mood Rowβ node before running. π’ Weekly Summary Runs every Sunday 20:00 β aggregates last 7 days β generates AI insights + emails report. π΅ Monthly Summary Runs on Day 1 at 08:00 β aggregates last 30 days β creates monthly reflection. π£ AI Analysis Uses OpenAI GPT-4o to interpret trends and recommend actions. π Email Delivery Sends formatted summaries to your inbox automatically.
Create, update, and get a person from Copper
This workflow allows you to create, update, and get a person from Copper. Copper node: This node will create a new person in Copper. Copper1 node: This node will update the information of the person that we created using the previous node. Copper2 node: This node will retrieve the information of the person that we created earlier.