maintenance
Server Details
Septic maintenance record: log inspections and pump-outs; next due date under EPA intervals. No AI.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 6 tools
Each tool targets a distinct action or resource: creating a site, appending events, checking a record's arithmetic, summarizing a record, exposing rules, and requesting provider signoff. The potential pair of check_service_record and get_record_summary is clearly separated by checking/computation versus full retrieval. No tool overlaps enough to cause misselection.
All tool names use a consistent snake_case verb_noun pattern: add_events, check_service_record, create_site, get_record_summary, get_rules, request_provider_signoff. The convention is predictable throughout with no mixed styles. Minor singular/plural noun differences do not break consistency.
Six tools is a well-scoped set for a septic maintenance record service. Each tool has a clear role in the workflow, from record creation through event logging, validation, summary, rules, and provider signoff. There is no evident bloat or missing essential operation at this count.
The surface covers the core lifecycle: create a site, append events, check them against EPA-derived intervals, summarize a record, expose the rule table, and request provider signoff. There is no explicit update or delete operation for records/events, and no list_sites or list_records tool, which are minor gaps. These gaps are likely workable if the system is intentionally append-only and record-id driven.
Available Tools
6 toolsadd_eventsBInspect
Append service events to an existing record. Requires a bearer key.
| Name | Required | Description | Default |
|---|---|---|---|
| events | Yes | ||
| site_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose two useful traits: the operation is additive rather than replacing, and it requires bearer-key auth. It omits failure behavior, duplication/dedupe semantics, and whether appends are reversible.
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?
Two short sentences, zero filler, with the action front-loaded and the auth prerequisite trailing. Nothing extraneous.
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 no annotations, no output schema, and 0% parameter documentation, the description is too thin for a write tool: the events payload format, record targeting via site_id, and result behavior are all left unspecified.
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 0% and the description explains neither parameter. Critically, 'events' is an array of untyped objects whose expected shape is undocumented in both schema and description, and site_id's format/meaning is unstated.
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 names a specific verb+resource ('Append service events') and constrains it to 'an existing record', which separates it from creation-style siblings like create_site. It does not, however, explicitly contrast itself with sibling tools such as check_service_record or get_record_summary.
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?
'Append ... to an existing record' implies the usage context (adding to a record that already exists) and states a prerequisite ('Requires a bearer key'). There is no explicit when-not guidance and no named alternative for related operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_service_recordAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| as_of | No | Treat this date as "today" (YYYY-MM-DD) when rejecting future dates and computing the next due date. Defaults to the server date. | |
| events | Yes | 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}. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it declares deterministic arithmetic with no AI, discloses the EPA interval source, and explicitly disclaims compliance judging. It omits auth needs, error/failure behavior, and what an invalid record report looks like.
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?
Three tight sentences with the core action front-loaded and disclaimers following. Slight redundancy between the two 'it does not...' clauses, but nothing is wasted.
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?
For a two-parameter, read-only compute tool with no output schema, the description conveys the operation, its deterministic nature, and its limits. It could say more about the shape of the returned findings, but otherwise an agent has enough to call it correctly.
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 both parameters are already fully documented in the schema, including the as_of 'treat this date as today' semantics and the event object shape. The description adds the EPA-interval context but no additional parameter-level meaning, so baseline 3 applies.
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 (check) and resource (septic system service events), then adds the secondary computation (next inspection and pump-out window). This is clearly distinguishable from siblings like add_events or get_record_summary, which mutate or summarize rather than validate.
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?
Gives explicit scope boundaries — it does not judge compliance and does not know local code — which tells the agent when its output is not authoritative. It does not, however, route to a sibling tool or state prerequisites for calling it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_siteBInspect
Open a maintenance record for one septic system (returns a site id). Requires a bearer key.
| Name | Required | Description | Default |
|---|---|---|---|
| label | No | What to call this system, e.g. "Home - 12 Mill Rd". | |
| address | No | ||
| tank_gallons | No | ||
| household_size | No | ||
| installed_year | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does add two genuinely useful facts: the call requires a bearer key (auth) and it returns a site id. It says nothing about idempotency, whether duplicate sites are possible, or what side effects a write creates, which are meaningful gaps for a creation tool.
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?
Two tight clauses with the action and the return value front-loaded and zero filler. Nothing could be removed without losing information.
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?
For a 5-parameter creation tool with no annotations and no output schema, the description should at minimum clarify optionality and the fields needed to make a useful record. It supplies the auth requirement and return value but leaves the parameter surface essentially unexplained.
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 only 20% (just 'label'), and the description adds no parameter meaning at all. Four of five fields (address, tank_gallons, household_size, installed_year) are undocumented in both places, and the description does not explain that all parameters are optional or what a minimal call looks like.
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 ('Open a maintenance record for one septic system') and even names the return value (site id), which lets an agent separate it from read-oriented siblings like get_record_summary or check_service_record. It stops short of explicitly contrasting itself with a sibling, so it is clear but not maximally differentiated.
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?
There is no guidance on when to create a site versus using an existing one, nor any prerequisite ordering relative to siblings such as add_events or request_provider_signoff. The only implied condition is that a new system needs a record.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_record_summaryBInspect
Every event, the flagged issues, the last inspection and pump-out, and the next dates, for one record. Requires a bearer key.
| Name | Required | Description | Default |
|---|---|---|---|
| site_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does add one real behavioral fact: a bearer key is required for auth. However, it says nothing about read-only semantics, error behavior, or response shape, leaving significant gaps for a no-annotation tool.
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?
Two compact sentences with the returned-content list front-loaded and no filler. Slightly terse to the point of omitting parameter context, but structurally 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?
With no output schema, listing the returned fields is valuable and partially compensates, and the auth note is useful. But the undocumented required parameter and absent usage guidance leave the definition only minimally complete for a data-fetch tool.
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 coverage is 0% for the single site_id parameter, and the description never mentions site_id or what it identifies. 'For one record' hints at a single-target lookup but does not connect the required parameter to the record, so the schema gap is not compensated.
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 enumerates the returned content (events, flagged issues, last inspection and pump-out, next dates) for a single record, making the resource concrete. The verb is only implied by the name rather than stated, and no sibling (e.g., check_service_record) is named for contrast, so it falls short of a 5.
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?
There is no guidance on when to use this tool versus siblings like check_service_record or get_rules. Usage is only inferable from the content list; no exclusions or prerequisites beyond the bearer key are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rulesAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, and it does reasonably well: it discloses that the output includes quoted sources and, unusually, the scope of what the tool explicitly does not claim. It does not state the read-only nature explicitly or mention permissions, but for a zero-parameter getter the risk surface is tiny and the honesty-about-limits disclosure is genuine added value.
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?
Two compact sentences with the content description front-loaded and the usage tip second; nothing is wasted. It loses a point for vague referents like 'this service' and 'every interval,' which the reader must infer.
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?
There is no output schema, so the description must convey what comes back, and it does: the rule table, per-interval sources, and stated non-claims. That is enough to call the tool correctly, though naming the service and the return shape more concretely would close the remaining gap.
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?
The tool takes no parameters, so there is nothing for the description to disambiguate at the parameter level. Baseline of 4 applies per the zero-parameter rule.
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 identifies the resource precisely: the exact rule table the service checks against, plus the quoted source of every interval and the explicit non-claims. It is clearly a getter for rule definitions and is distinguishable from siblings like check_service_record or get_record_summary, though it never names an alternative to route against.
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?
'Quote it if you need to explain a result' gives one concrete trigger for calling this tool, which is real guidance. However, there is no mention of when not to use it, no prerequisites, and no comparison to sibling tools that also surface service information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_provider_signoffBInspect
Create a one-time URL the service provider can open to confirm the recorded work. Requires a bearer key. The token is single use.
| Name | Required | Description | Default |
|---|---|---|---|
| site_id | Yes | ||
| provider_name | No | ||
| provider_email | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses an auth requirement ('requires a bearer key') and a key behavioral trait ('the token is single use'), which is more than most. However, it says nothing about token expiry, whether the call mutates the service record's state, or whether repeated calls are idempotent.
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?
Three short sentences, front-loaded with the core action, then auth and token semantics. No filler or redundancy.
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?
The description covers the operation, auth, and token lifecycle, which are the highest-value facts for a mutation-style tool with no annotations and no output schema. It is nonetheless incomplete for three fully undocumented parameters and leaves the effect on the underlying record unstated.
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 0% and the description never mentions site_id, provider_name, or provider_email. At zero coverage the description is expected to compensate for the undocumented parameters, and it does not — an agent gets no help on what to supply or how the provider fields affect the result.
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 artifact: creates a one-time URL the service provider opens to confirm recorded work. This is clearly distinguishable from siblings like check_service_record or add_events. It stops short of explicitly naming a sibling, so it lands at 4 rather than 5.
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?
The purpose implies when to use it (obtaining provider confirmation of recorded work), but there is no explicit when-not guidance, no prerequisites beyond the bearer key, and no routing to an alternative tool. Usage 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.
6 tool updates
- First observed
add_events - First observed
check_service_record - First observed
create_site - First observed
get_record_summary - First observed
get_rules - First observed
request_provider_signoff
Related MCP Connectors
Vendor document & expiry tracking for septic operators — read-only live demo board tools.
Check AI instruction files, look up a company's record, and keep a dated record of your own.
Equipment maintenance log: assets, service entries with costs, and a due report from stored dates.
Source-reconciled U.S. environmental facility compliance evidence for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables voice-first household maintenance tracking, turning spoken updates into durable records, service history, and due-date reminders for a concise maintenance brief.MIT
- AlicenseAqualityAmaintenanceAuditable records of human decisions over AI agent work. Approvals, edits, overrides, escalations.6639103Apache 2.0
- AlicenseAqualityBmaintenanceLets users track equipment maintenance with service entries, costs, and automatically computed due and overdue schedules.8MIT
- FlicenseNot gradedqualityDmaintenanceEnables caregivers to log daily care activities and generate draft notification reports for the elderly, with automatic safety constraints to prevent AI-generated inaccuracies.-
Glama MCP Gateway
Add one secure layer between your agents and this server.