maintenance

Septic maintenance record: log inspections and pump-outs; next due date under EPA intervals. No AI.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
74%
Naming quality
97%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~591Tokens (tool definitions)
~633 BTypical response size
Minimal attention impact (0.46% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "maintenance": {
      "url": "https://septic-log.rowb.app/mcp"
    }
  }
}

Remote endpoints

https://septic-log.rowb.app/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢check_service_record(events, as_of)

Check a list of septic system service events for things that cannot be true, and compute the next inspection and pump-out window from the intervals published by the US EPA. Deterministic arithmetic only - no AI. It does not judge whether your system is compliant, and it does not know your local code.

Input Schema

{
  "type": "object",
  "properties": {
    "events": {
      "type": "array",
      "description": "Events to check. Each: {date:\"YYYY-MM-DD\", kind:\"inspection|pump_out|repair|other\", company:\"who did it\", gallons?:number, liquid_depth_inches?:number, sludge_inches?:number, scum_inches?:number, sludge_to_outlet_inches?:number, scum_to_outlet_inches?:number, notes?:string}.",
      "items": {
        "type": "object"
      }
    },
    "as_of": {
      "type": "string",
      "description": "Treat this date as \"today\" (YYYY-MM-DD) when rejecting future dates and computing the next due date. Defaults to the server date."
    }
  },
  "required": [
    "events"
  ]
}
🟢get_rules

The exact rule table this service checks against, the quoted source of every interval, and what it explicitly does not claim. Quote it if you need to explain a result.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟡create_site(label, address, tank_gallons, household_size, installed_year)

Open a maintenance record for one septic system (returns a site id). Requires a bearer key.

Input Schema

{
  "type": "object",
  "properties": {
    "label": {
      "type": "string",
      "description": "What to call this system, e.g. \"Home - 12 Mill Rd\"."
    },
    "address": {
      "type": "string"
    },
    "tank_gallons": {
      "type": "number"
    },
    "household_size": {
      "type": "integer"
    },
    "installed_year": {
      "type": "integer"
    }
  },
  "required": []
}
🟡add_events(site_id, events)

Append service events to an existing record. Requires a bearer key.

Input Schema

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string"
    },
    "events": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "site_id",
    "events"
  ]
}
🟢get_record_summary(site_id)

Every event, the flagged issues, the last inspection and pump-out, and the next dates, for one record. Requires a bearer key.

Input Schema

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
🟡request_provider_signoff(site_id, provider_name, provider_email)

Create a one-time URL the service provider can open to confirm the recorded work. Requires a bearer key. The token is single use.

Input Schema

{
  "type": "object",
  "properties": {
    "site_id": {
      "type": "string"
    },
    "provider_name": {
      "type": "string"
    },
    "provider_email": {
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools