mcp-registry/io.github.eziservices/mcp-public · v1.0.0
As of 2026-10-24 03:22 UTC, the Eziservices Public MCP server is up with a Glimind reliability score of 90/100 (grade A). Over the last 30 days it answered 99.9% of Glimind's liveness checks. It had 19 outages in 90 days, with a median recovery of 3 minutes.
Book, reschedule, and cancel home services (cleaning, lawn, snow) via phone OTP authentication.
Claude Code
claude mcp add --transport http eziservices-public-mcp-server https://prod-api.ezi-app.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"eziservices-public-mcp-server": {
"type": "http",
"url": "https://prod-api.ezi-app.com/mcp"
}
}
}
Third-party server, listed as discovered. Review its source before installing.
1 tool definition(s) exceed ~1,200 tokens each (largest: calculate_quote, ~1,221).
Move long reference material out of descriptions (link a doc or expose a resource), drop repeated examples, and collapse large enums. Trimming these to ~600 tokens saves ~621 tokens every session. How to fix →
8 of 8 tool(s) carry no readOnlyHint/destructiveHint annotations.
Annotate read-only tools with {"readOnlyHint": true}. Agents and gateways can then run them without a confirmation prompt, and route around destructive ones. How to fix →
2 tool(s) look like they change state (create/send/delete/pay…) but declare no destructiveHint.
Set annotations {"readOnlyHint": false, "destructiveHint": true|false, "idempotentHint": …}. Clients use these to ask the user before a side effect and to auto-approve safe reads. How to fix →
43 parameter(s) across 1 tool(s) have no description.
Add a "description" to each parameter with its format and an example ("ISO 8601 date, e.g. 2026-10-17"). This is the commonest cause of wrong arguments on the first call. How to fix →
Negotiates MCP 2024-11-05. Structured output, tool output schemas and elicitation arrived in 2025-06-18.
Upgrade the MCP SDK and negotiate 2025-06-18 or newer. How to fix →
No tool declares an outputSchema.
Declare outputSchema and return structuredContent (MCP 2025-06-18+). Agents can then parse results without guessing, and chain tools reliably. How to fix →
In the last 30 days: 0 tool(s) removed and 4 schema change(s).
Add new tools or optional parameters instead of renaming or removing; deprecate first (say so in the description) and remove later. Agents cache tool contracts. How to fix →
Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. 1 tool(s) still need parameter descriptions written by someone who knows the API. All of them as JSON: /v1/readiness/mcp-registry%2Fio.github.eziservices%2Fmcp-public/fixes
{
"name": "calculate_quote",
"description": "Calculate an estimated price and duration for a service WITHOUT creating a booking. Use this during the quoting phase before the customer commits.",
"inputSchema": {
"type": "object",
"required": [
"city",
"category",
"serviceType"
],
"properties": {
"city": {
"type": "string",
"description": "Customer city. Valid values: Ottawa, Gatineau, Toronto, Montreal, Surrey, Miami, Dallas."
},
"edging": {
"type": "boolean",
"description": "Lawn: include edging."
},
"garage": {
"type": "boolean",
"description": "Include garage."
},
"hallway": {
"type": "boolean",
"description": "Carpet: include hallway."
},
"hasPets": {
"type": "boolean",
"description": "Customer has pets at home."
},
"windows": {
"type": "boolean",
"description": "Include window cleaning."
},
"areaRugs": {
"type": "number",
"description": "Carpet: number of area rugs."
},
"backyard": {
"type": "boolean",
"description": "Lawn: include backyard."
},
"basement": {
"type": "boolean",
"description": "Include basement."
},
"bedrooms": {
"type": "number",
"description": "Number of bedrooms (cleaning/carpet)."
},
"category": {
"enum": [
"Cleaning",
"Lawn-Care",
"Exterior Cleaning",
"Car Detailing",
"Snow-Removal",
"Tire-Changing"
],
"type": "string",
"description": "Service category."
},
"watering": {
"type": "boolean",
"description": "Lawn: include watering."
},
"yardSize": {
"enum": [
"standard",
"large"
],
"type": "string",
"description": "Lawn: yard size."
},
"bathrooms": {
"type": "number",
"description": "Number of bathrooms (cleaning)."
},
"engineBay": {
"type": "boolean",
"description": "Car: engine bay cleaning add-on."
},
"overgrown": {
"type": "boolean",
"description": "Lawn: overgrown surcharge."
},
"staircase": {
"type": "boolean",
"description": "Carpet: include staircase."
},
"tireCount": {
"type": "number",
"description": "Tire: number of tires (default 4)."
},
"baseboards": {
"type": "boolean",
"description": "Include baseboards."
},
"excessDirt": {
"type": "boolean",
"description": "Car: very dirty interior add-on."
},
"iceBuildup": {
"type": "boolean",
"description": "Snow: include hard ice buildup."
},
"iceSalting": {
"type": "boolean",
"description": "Snow: include ice salting."
},
"livingRoom": {
"type": "boolean",
"description": "Include living room."
},
"ovenInside": {
"type": "boolean",
"description": "Include inside oven."
},
"carsToClear": {
"type": "number",
"description": "Snow: number of cars to clear."
},
"clayAndSeal": {
"type": "boolean",
"description": "Car: clay bar & seal add-on."
},
"kitchenDeep": {
"type": "boolean",
"description": "Include kitchen deep clean."
},
"lawnCleanup": {
"type": "boolean",
"description": "Lawn: include cleanup."
},
"leafRemoval": {
"type": "boolean",
"description": "Lawn: include leaf removal."
},
"serviceType": {
"enum": [
"DEEP-CLEAN",
"POST-CONSTRUCTION",
"AIRBNB-CLEAN",
"MOVE-IN-OUT-CLEAN",
"GENERAL-CLEAN",
"CARPET-CLEAN",
"LAWNCARE-LAWNMOWING",
"LAWNCARE-MAINTENANCE",
"LAWNCARE-PLANTING",
"LAWNCARE-WEED-REMOVAL",
"GENERAL",
"CLEAN_CAR_EXTERIOR",
"CLEAN_CAR_INTERIOR",
"CLEAN_CAR_COMPLETE",
"SNOW_REMOVAL",
"TIRE-CHANGE-STANDARD",
"TIRE-CHANGE-SEASONAL"
],
"type": "string",
"description": "Specific service type within the category."
},
"vehicleType": {
"enum": [
"sedan",
"suv",
"van",
"truck",
"motorcycle"
],
"type": "string",
"description": "Vehicle type for car detailing or tire changing."
},
"windowPanes": {
"type": "number",
"description": "Exterior: number of window panes."
},
"drivewayType": {
"enum": [
"single",
"double"
],
"type": "string",
"description": "Snow: driveway type."
},
"fridgeInside": {
"type": "boolean",
"description": "Include inside fridge."
},
"frontWalkway": {
"type": "boolean",
"description": "Snow: include front walkway."
},
"femaleCleaner": {
"type": "boolean",
"description": "Prefer a female cleaner."
},
"groutCleaning": {
"type": "boolean",
"description": "Include grout cleaning."
},
"windowScreens": {
"type": "number",
"description": "Exterior: number of window screens."
},
"gutterCleaning": {
"type": "boolean",
"description": "Exterior: include gutter cleaning."
},
"kitchenSurface": {
"type": "boolean",
"description": "Include kitchen surface clean."
},
"petHairRemoval": {
"type": "boolean",
"description": "Car: pet hair removal add-on."
},
"spotCleanDoors": {
"type": "boolean",
"description": "Include spot-clean doors."
},
"spotCleanWalls": {
"type": "boolean",
"description": "Include spot-clean walls."
},
"windrowClearing": {
"type": "boolean",
"description": "Snow: include windrow clearing."
},
"cleaningSupplies": {
"type": "boolean",
"description": "Whether ezi provides supplies (default true)."
},
"soffitsAndFascia": {
"type": "boolean",
"description": "Exterior: include soffits & fascia."
}
}
},
"annotations": {
"readOnlyHint": true
}
}{
"name": "cancel_job",
"description": "Cancel one of the authenticated customer's upcoming jobs. Call lookup_scheduled_jobs first to get the job ID. Get explicit customer confirmation before setting confirmed to true.",
"inputSchema": {
"type": "object",
"required": [
"jobId",
"confirmed"
],
"properties": {
"jobId": {
"type": "string",
"description": "The job ID obtained from lookup_scheduled_jobs."
},
"confirmed": {
"type": "boolean",
"description": "Must be true. Only set after the customer has explicitly confirmed."
}
}
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": true
}
}{
"name": "create_order",
"description": "Create a service order for the authenticated customer. Call calculate_quote first to get the price and recommended durationHours, then call this once the customer agrees.",
"inputSchema": {
"type": "object",
"required": [
"category",
"scheduledTime",
"address"
],
"properties": {
"edging": {
"type": "boolean"
},
"garage": {
"type": "boolean"
},
"address": {
"type": "object",
"required": [
"addressLine1",
"city",
"state",
"postalCode"
],
"properties": {
"city": {
"type": "string"
},
"unit": {
"type": "string"
},
"state": {
"type": "string",
"description": "Province/state abbreviation (e.g. \"ON\", \"FL\")."
},
"country": {
"enum": [
"CA",
"US"
],
"type": "string",
"description": "Defaults to CA."
},
"postalCode": {
"type": "string"
},
"addressLine1": {
"type": "string"
}
},
"description": "Service address."
},
"comment": {
"type": "string",
"description": "Optional notes for the service provider."
},
"hallway": {
"type": "boolean"
},
"hasPets": {
"type": "boolean"
},
"windows": {
"type": "boolean"
},
"areaRugs": {
"type": "number"
},
"backyard": {
"type": "boolean"
},
"basement": {
"type": "boolean"
},
"bedrooms": {
"type": "number"
},
"category": {
"enum": [
"Cleaning",
"Lawn-Care",
"Exterior Cleaning",
"Car Detailing",
"Snow-Removal",
"Tire-Changing"
],
"type": "string",
"description": "Service category."
},
"watering": {
"type": "boolean"
},
"yardSize": {
"enum": [
"standard",
"large"
],
"type": "string"
},
"bathrooms": {
"type": "number"
},
"engineBay": {
"type": "boolean"
},
"overgrown": {
"type": "boolean"
},
"staircase": {
"type": "boolean"
},
"tireCount": {
"type": "number"
},
"baseboards": {
"type": "boolean"
},
"excessDirt": {
"type": "boolean"
},
"iceBuildup": {
"type": "boolean"
},
"iceSalting": {
"type": "boolean"
},
"livingRoom": {
"type": "boolean"
},
"ovenInside": {
"type": "boolean"
},
"carsToClear": {
"type": "number"
},
"clayAndSeal": {
"type": "boolean"
},
"kitchenDeep": {
"type": "boolean"
},
"lawnCleanup": {
"type": "boolean"
},
"leafRemoval": {
"type": "boolean"
},
"serviceType": {
"enum": [
"DEEP-CLEAN",
"POST-CONSTRUCTION",
"AIRBNB-CLEAN",
"MOVE-IN-OUT-CLEAN",
"GENERAL-CLEAN",
"CARPET-CLEAN",
"LAWNCARE-LAWNMOWING",
"LAWNCARE-MAINTENANCE",
"LAWNCARE-PLANTING",
"LAWNCARE-WEED-REMOVAL",
"GENERAL",
"CLEAN_CAR_EXTERIOR",
"CLEAN_CAR_INTERIOR",
"CLEAN_CAR_COMPLETE",
"SNOW_REMOVAL",
"TIRE-CHANGE-STANDARD",
"TIRE-CHANGE-SEASONAL"
],
"type": "string",
"description": "Specific service type."
},
"vehicleType": {
"enum": [
"sedan",
"suv",
"van",
"truck",
"motorcycle"
],
"type": "string"
},
"windowPanes": {
"type": "number"
},
"drivewayType": {
"enum": [
"single",
"double"
],
"type": "string"
},
"fridgeInside": {
"type": "boolean"
},
"frontWalkway": {
"type": "boolean"
},
"sendQuoteSMS": {
"type": "boolean",
"description": "Send the customer an SMS summary."
},
"durationHours": {
"type": "number",
"description": "Estimated duration in hours (0.5 increments). Use the value from calculate_quote."
},
"femaleCleaner": {
"type": "boolean"
},
"groutCleaning": {
"type": "boolean"
},
"scheduledTime": {
"type": "string",
"description": "Local date/time at the service address, without an offset (e.g. \"2025-07-15T10:00:00\"). Daylight saving is resolved for that date."
},
"windowScreens": {
"type": "number"
},
"gutterCleaning": {
"type": "boolean"
},
"kitchenSurface": {
"type": "boolean"
},
"petHairRemoval": {
"type": "boolean"
},
"spotCleanDoors": {
"type": "boolean"
},
"spotCleanWalls": {
"type": "boolean"
},
"windrowClearing": {
"type": "boolean"
},
"cleaningSupplies": {
"type": "boolean"
},
"soffitsAndFascia": {
"type": "boolean"
},
"bookIfPaymentOnFile": {
"type": "boolean",
"description": "If true and a payment method is saved, immediately confirms the booking."
}
}
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false
}
}Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:
curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/io.github.eziservices/mcp-public"],"email":"[email protected]"}'Agents: watch_tool({"toolId": "mcp-registry/io.github.eziservices/mcp-public"}) over MCP.
calculate_quote ~1,221 tokenscreate_order ~945 tokensreschedule_job ~242 tokenscancel_job ~140 tokensget_available_services ~128 tokensStatic checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).
Operator? Fix these, then re-check live. Embed the readiness badge:
[](https://glimind.com/server/mcp-registry%2Fio.github.eziservices%2Fmcp-public?ref=badge)
<a href="https://glimind.com/server/mcp-registry%2Fio.github.eziservices%2Fmcp-public?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fio.github.eziservices%2Fmcp-public.svg" alt="MCP agent-readiness"></a>
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fio.github.eziservices%2Fmcp-public.svg :target: https://glimind.com/server/mcp-registry%2Fio.github.eziservices%2Fmcp-public?ref=badge :alt: MCP agent-readiness
Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:4f53313e29d40cc6…, first seen 2026-10-17, included at leaf 16264 of 56,247. Version history · verify what your client received.
Compare: most reliable data servers · most reliable other servers · most reliable finance servers · most reliable devops servers · most reliable productivity servers
Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.
Claude Code
claude mcp add --transport http glimind https://glimind.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"glimind": {
"type": "http",
"url": "https://glimind.com/mcp"
}
}
}
As of 2026-10-24 03:22 UTC, the Eziservices Public MCP server is up with a Glimind reliability score of 90/100 (grade A). Over the last 30 days it answered 99.9% of Glimind's liveness checks. It had 19 outages in 90 days, with a median recovery of 3 minutes.
Eziservices Public MCP server advertises 8 tools, including calculate_quote, cancel_job, create_order, current_datetime, get_available_services.
Point your MCP client at this streamable-http endpoint: https://prod-api.ezi-app.com/mcp
Glimind scanned all 8 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.
Status page: 90-day uptime, every outage and how long it lasted.
Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.
Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.