HandledIQ: find and book home service
REMOTE · APP.HANDLEDIQ.COM
Find a home service shop near a US house: its book price, real open times, a held time.
Available components
Last scanned (18 hours ago)
Scores higher than 62% of remote servers
Reachable. Last reached 24 Oct 2026.
Category Maps and Location
Recent critical change
Authorization (22 Oct 2026). See the changelog before you install this server.
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (hold_time). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability79
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1703 tokens (~189/item across 9 items; 8 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management32
- Stability check failed: schema churn in the 12 days we've observed: 0 tool removals, 1 breaking changes, 0 auth/transport breaks, 2 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 8 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 10 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
- Supports UI / widget rendering.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 24 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 28 to 32.
- 22 Oct 26 −7
- Authorization: partial → fail ▼ critical
- Stability: 0.30 → fail ▼ security
- The server rewrote its instructions, which are the text every model session reads security
- New tool “cancel_booking”, which the server declares destructive security
- New tool “move_booking”, which the server declares destructive security
- Tool “booking_status” rewrote its description, which is the text the model reads security
- Tool “find_help” rewrote its description, which is the text the model reads security
- Tool “get_quote” rewrote its description, which is the text the model reads security
- Tool “hold_time” rewrote its description, which is the text the model reads security
- Tool “request_service” rewrote its description, which is the text the model reads security
- Tool “hold_time” is now declared destructive security
- Schema quality: 168 → 189 ▼ functional
- “hold_time” dropped the required parameter “street” ▼ functional
- Schema quality: good → excellent functional
- Server version: 1.2.0 → 1.4.1 functional
- “find_help” added an optional parameter “include_signed_records” cosmetic
- “find_help” reworded the description of “assistant” cosmetic
- “get_quote” reworded the description of “assistant” cosmetic
- “hold_time” reworded the description of “mobile” cosmetic
- “hold_time” reworded the description of “name” cosmetic
- “hold_time” dropped the optional parameter “unit” cosmetic
- Tool “booking_status” changed its title: Did they say yes? → Check the booking cosmetic
- Tool “hold_time” changed its title: Hold a time for the person's yes → Hold a time and text the link cosmetic
- 20 Oct 26 +3
- HSTS header: fail → pass ▲ security
- 19 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Oct 26 +1
- Stability: unverified → 0.03 ▲ functional
- 12 Oct 26 71
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 24 Oct 2026 · Probed https://app.handlediq.com/agents/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=handlediq.com | CN=WE1,O=Google Trust Services,C=US | 9 Oct 2026 | 7 Jan 2027 | ECDSA 256 | ECDSA-SHA256 | e08bfaa64775ff160ee9b35f581fb50a |
| SANs: handlediq.com, *.handlediq.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of app.handlediq.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| handlediq.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(self), microphone=(self), geolocation=(self), payment=(), usb=(), serial=(), bluetooth=(), hid=(), midi=(), browsing-topics=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://app.handlediq.com/agents/mcp | Verified | 200 | |
| http (plaintext) | http://app.handlediq.com/agents/mcp | HTTPS enforced | 301 | https://app.handlediq.com/agents/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
booking_status Check the booking ~117
Says where a quote stands: priced, waiting on the person (with minutes left on the hold), booked (when, and with which tech), they said it was not them, or the hold ran out. Once booked, it also says whether the tech is on the way, arrived (and whether inside the time promised), finished, or the visit was cancelled. Use it after hold_time, or later, to tell the person how it went. Reads only; sends nothing.
| Name | Type | Req | Description |
|---|---|---|---|
| quote_id | string | yes | The quote_id price gave. |
| Name | Type | Req | Description |
|---|---|---|---|
| change | object | – | A change the person's assistant asked for once booked: a cancel (done at once, free under the shop's terms), or a move (the shop texted the person a link, and done once they picked a new time). |
| held_until | string | – | – |
| minutes_left | integer | – | – |
| quote_id | string | yes | – |
| said | string | yes | – |
| state | string | yes | – |
| visit | object | – | The booked visit as it stands now: its time, its tech, and what has happened since the yes. |
No examples provided.
cancel_booking Cancel the visit ~124
Cancels a booked visit when the person asks and confirms in this conversation, free under the shop's own terms: within 3 days of booking, and before the visit; nothing is owed. Side effects: the visit comes off the shop's schedule, and the shop texts the person that their assistant cancelled it. It cannot be undone here: to book again, get a new quote. Past those terms the person calls the shop. Calling again sends no second text.
| Name | Type | Req | Description |
|---|---|---|---|
| quote_id | string | yes | The quote_id find_help or get_quote gave, for a booked visit. |
| Name | Type | Req | Description |
|---|---|---|---|
| change | object | – | A change the person's assistant asked for once booked: a cancel (done at once, free under the shop's terms), or a move (the shop texted the person a link, and done once they picked a new time). |
| held_until | string | – | – |
| minutes_left | integer | – | – |
| quote_id | string | yes | – |
| said | string | yes | – |
| state | string | yes | – |
| visit | object | – | The booked visit as it stands now: its time, its tech, and what has happened since the yes. |
No examples provided.
find_help Find a shop near the person ~301
Finds up to 3 shops on HandledIQ near a US ZIP code that do what the person needs, soonest open time first: each with its own book prices (all in, US dollars), their terms, its soonest open times, its service record and a quote_id for hold_time. Use it when the person needs home service at a US house: heating and cooling, plumbing, electrical, roofing, pest control, junk removal, demolition and more. An empty list means no shop on HandledIQ takes that work near that ZIP yet. Sends nothing to anyone.
| Name | Type | Req | Description |
|---|---|---|---|
| assistant | string | yes | Your own name, as the person you act for knows you, like ChatGPT, Claude or Muse. It goes in the text the shop sends them. |
| budget_dollars | number | – | Optional. The most the person wants to pay, in dollars. |
| day | string | – | Optional. The first day that works for the person, YYYY-MM-DD. |
| include_signed_records | boolean | – | Optional. true adds each shop's signed record and the keys to check it with verify_record, a few thousand characters per shop. Leave it out unless the person asks for proof. |
| need | string | yes | What the person needs, in a line, like: AC not cooling, a roof leak, ants in the kitchen, or a couch to haul away. |
| zip | string | yes | The house's 5-digit US ZIP code. |
| Name | Type | Req | Description |
|---|---|---|---|
| check_records | object | – | Only with include_signed_records: how to check each signed_record, every shop's key by its issuer's address. |
| next | string | yes | – |
| shops | array | yes | – |
| zip | string | yes | – |
No examples provided.
get_quote Get one shop's price and open times ~326
Gets this shop's own book prices for what the person needs and its next real open times. Use it when the person wants a price or a time from this shop. Returns a quote_id for hold_time, the prices (all in, US dollars), their terms and up to 6 open times. visit true means no fixed price fits exactly, so the price is the shop's visit to find the problem. A price over the owner's limit waits for the owner; work outside the shop's trade gets no quote. Sends nothing to anyone. The shop is the one business_id names; kind is one of the kinds request_service gave, or leave it out and say the need in words.
| Name | Type | Req | Description |
|---|---|---|---|
| assistant | string | yes | Your own name, as the person you act for knows you, like ChatGPT, Claude or Muse. It goes in the text the shop sends them. |
| budget_dollars | number | – | Optional. The most the person wants to pay, in dollars. |
| business_id | string | yes | The shop's business_id: its provider_business_id in HandledIQ's business feed, or a find_help answer's. |
| day | string | – | Optional. The first day that works for the person, YYYY-MM-DD; times start that day. |
| kind | string | – | Optional. One of the shop's kinds of work, as request_service gave them (work[].kind). |
| need | string | yes | What the person needs, in a line, like: AC check, a roof leak, ants in the kitchen, or a couch to haul away. |
| Name | Type | Req | Description |
|---|---|---|---|
| currency | string | yes | Every amount is US dollars. |
| holds_times | boolean | yes | – |
| next | string | yes | – |
| prices | array | yes | – |
| quote_id | string|null | yes | Holds a time with hold_time. Null when the shop does not do that kind of work. |
| shop | string | yes | – |
| terms | object | yes | The terms every price here comes with: all in with no fees, paid after the work, and free to cancel within cancel_free_days of booking, before the visit. |
| times | array | yes | – |
| visit | boolean | – | – |
| waits_for_owner | boolean | – | – |
No examples provided.
hold_time Hold a time and text the link ~225
Holds one open time from a quote for 10 minutes and has the shop text the person one link to book it. Use it only once the person has picked a price and a time, given their name and US mobile number, and said to go ahead. Side effect: the shop sends one text to that number. Nothing is booked until the person taps Book on the shop's page, where they also type their street address; you cannot book for them. Calling again with the same choice while the time is held sends no second text. The quote_id may come from any shop find_help or get_quote gave.
| Name | Type | Req | Description |
|---|---|---|---|
| mobile | string | yes | The person's US mobile number, with its area code, as they gave it. The shop texts it once. |
| name | string | yes | The person's name, as they gave it. |
| option_id | string | yes | One of the quote's prices, by its option_id. |
| quote_id | string | yes | The quote_id price gave. |
| time_id | string | yes | One of the quote's times, by its time_id. |
| Name | Type | Req | Description |
|---|---|---|---|
| change | object | – | A change the person's assistant asked for once booked: a cancel (done at once, free under the shop's terms), or a move (the shop texted the person a link, and done once they picked a new time). |
| held_until | string | – | – |
| minutes_left | integer | – | – |
| quote_id | string | yes | – |
| said | string | yes | – |
| state | string | yes | – |
| visit | object | – | The booked visit as it stands now: its time, its tech, and what has happened since the yes. |
No examples provided.
move_booking Ask to move the visit ~108
For a booked visit the person wants at another time: the shop texts the person one link to pick a new time when the same tech is free, and the visit moves only when they pick one. Side effect: one text to the person. Nothing changes on your word; booking_status shows the new time once they pick. Asked again within 10 minutes, it sends no second text.
| Name | Type | Req | Description |
|---|---|---|---|
| quote_id | string | yes | The quote_id find_help or get_quote gave, for a booked visit. |
| Name | Type | Req | Description |
|---|---|---|---|
| change | object | – | A change the person's assistant asked for once booked: a cancel (done at once, free under the shop's terms), or a move (the shop texted the person a link, and done once they picked a new time). |
| held_until | string | – | – |
| minutes_left | integer | – | – |
| quote_id | string | yes | – |
| said | string | yes | – |
| state | string | yes | – |
| visit | object | – | The booked visit as it stands now: its time, its tech, and what has happened since the yes. |
No examples provided.
request_service Get a quote ~132
Opens HandledIQ's quote window on one shop for the person to use themselves: they pick what they need, see the shop's own book price and real open times, and hold a time. Use it when the person wants to see one shop's prices and pick a time on screen, given its business_id. Returns who the shop is and the work it prices. Sends nothing; a text goes only if the person holds a time in the window.
| Name | Type | Req | Description |
|---|---|---|---|
| business_id | string | yes | The shop's business_id: its provider_business_id in HandledIQ's business feed, or a find_help answer's. |
| Name | Type | Req | Description |
|---|---|---|---|
| business_id | string | yes | – |
| holds_times | boolean | yes | – |
| next | string | – | – |
| phone | string | – | – |
| price_page | string | yes | – |
| prices_answer_now | boolean | – | – |
| rules | string | – | – |
| shop | string | yes | – |
| trade | string|null | – | – |
| work | array | yes | The shop's kinds of work, the three it prices most first, then Something else (visit). |
No examples provided.
verify_record Check a signed record ~95
Checks a signed record from any HandledIQ shop (a house's, a technician's or a shop's): valid, with who signed it and the record it holds, or not valid and why. Anyone can make the same check with the key at the issuer's id.
| Name | Type | Req | Description |
|---|---|---|---|
| signed | string | yes | The signed form a record came with (signed, or signed_record): a compact JWS, up to a million characters. |
| Name | Type | Req | Description |
|---|---|---|---|
| issuer | object | – | – |
| key_status | string | – | – |
| record | object | – | – |
| trusted | boolean | – | – |
| valid | boolean | yes | – |
| why | string | – | – |
No examples provided.
How do I install the HandledIQ: find and book home service MCP server?
HandledIQ: find and book home service is a hosted endpoint at https://app.handlediq.com/agents/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · app.handlediq.com
claude mcp add --transport http com-handlediq-find-help 'https://app.handlediq.com/agents/mcp'
What is the HandledIQ: find and book home service MCP server?
HandledIQ: find and book home service is an MCP server listed in the public MCP registry as com.handlediq/find-help. Find a home service shop near a US house: its book price, real open times, a held time. This page covers its hosted endpoint (https://app.handlediq.com/agents/mcp).
Is the HandledIQ: find and book home service MCP server safe to use?
HandledIQ: find and book home service scores 72 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the HandledIQ: find and book home service MCP server expose?
HandledIQ: find and book home service exposes 8 tools: find_help, hold_time, booking_status, move_booking, cancel_booking, and 3 more. Their descriptions and schemas cost roughly 1,428 tokens of context every time the server is loaded.
Does the HandledIQ: find and book home service MCP server require authentication?
No. We connected to HandledIQ: find and book home service without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the HandledIQ: find and book home service MCP server still maintained?
HandledIQ: find and book home service is still listed as active in the MCP registry. We last reached this channel on 24 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.