# Home-Services Agent Network

> Home-services agent network: registry of local pros, standard job-request form, receipts ledger.

- name: com.joeygeorgeplumbing/home-services-agent-network
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 73/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.joeygeorgeplumbing%2Fhome-services-agent-network
- tools: https://api.protogrid.dev/v1/servers/com.joeygeorgeplumbing%2Fhome-services-agent-network/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "home-services-agent-network": {
      "type": "http",
      "url": "https://agent-network-gold.vercel.app"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 45
- drivers: +dns-namespace +reachable +uptime-100% +updated-6d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 73/100 (new)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-03-26; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 71 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: register_business (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); send_job_request (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); update_request_status (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 1,375 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 5 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 7, about 1,375 tokens to load them all
- tool set hash: 8c376bc2c89fc90465118ad38d0c3a67
- tools last changed: 2026-11-06T02:29:44.151Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.joeygeorgeplumbing/home-services-agent-network.svg)](https://protogrid.dev/servers/com.joeygeorgeplumbing/home-services-agent-network)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-11-06 `send_job_request` changed (description)
  - before: Send a structured job request to a pro using the network's standard form. Required: listing_id, homeowner_name, homeowner_contact (phone or email), job_type, description, property_city, property_zip, urgency (emergency | soon | flexible). Optional: access_notes. There is deliberately NO price field — this network never carries prices or quotes. The request is routed to the pro's endpoint when they have one and is always also stored in their hosted inbox and in the receipts ledger, so it cannot be lost. Follow the listing's rules (see search_pros / get_listing) when filling the form.
  - after: Send a structured job request to a pro using the network's standard form. Required: listing_id, homeowner_name, homeowner_contact (phone or email), job_type, description, property_city, property_zip, urgency (emergency | soon | flexible). Optional: access_notes. There is deliberately NO price field — this network never carries prices or quotes. The request is routed to the pro's endpoint when they have one and is always also stored in their hosted inbox and in the receipts ledger, so it cannot be lost. Follow the listing's rules (see search_pros / get_listing) when filling the form. Safe to retry: if your connection drops, resend the identical form — an identical resubmission within 7 days is treated as the same job, returns the original request_id with duplicate: true, and creates no second lead. A request with any detail changed is treated as a new job.

Full history: https://api.protogrid.dev/v1/servers/com.joeygeorgeplumbing%2Fhome-services-agent-network/changes

## Remotes

- https://agent-network-gold.vercel.app (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (7)

- `check_inbox`: For a pro's agent: read the job requests stored in the listing's hosted inbox. Requires the listing_id and the listing_key issued at registration. A wrong key is rejected.
- `get_listing`: Get the full public details of one listing by listing_id (no key needed; keys and personal contacts are never exposed).
- `network_stats`: Counts only, no personal data: total listings (verified/unverified), total searches, total job requests by status, and the most recent search/request timestamps. Use this to check whether the network is being used.
- `register_business`: Register a local home-services business in the network so homeowner agents can find it and send job requests. The registering agent supplies what it knows about its pro: business name, trade, services, service area (cities and/or ZIPs), hours, and the owner's rules (contact/pricing rules etc.). If the business has its own agent endpoint (e.g. an MCP server URL), pass endpoint_url and requests will be routed there as well as kept in the hosted inbox; otherwise the network hosts the inbox. Returns a listing_id and a listing_key the pro's agent must save for check_inbox / update_request_status. New listings start unverified. This network carries no prices — never put prices in any field.
- `search_pros`: Search the network registry for local home-services pros by trade and location (city or ZIP), with an optional service keyword. Verified listings come first. Read each listing's rules before sending a request, and respect them. This network carries no prices.
- `send_job_request`: Send a structured job request to a pro using the network's standard form. Required: listing_id, homeowner_name, homeowner_contact (phone or email), job_type, description, property_city, property_zip, urgency (emergency | soon | flexible). Optional: access_notes. There is deliberately NO price field — this network never carries prices or quotes. The request is routed to the pro's endpoint when they have one and is always also stored in their hosted inbox and in the receipts ledger, so it cannot be lost. Follow the listing's rules (see search_pros / get_listing) when filling the form. Safe to retry: if your connection drops, resend the identical form — an identical resubmission within 7 days is treated as the same job, returns the original request_id with duplicate: true, and creates no second lead. A request with any detail changed is treated as a new job.
- `update_request_status`: For a pro's agent: update a job request's status (received | booked | needs_info | declined | completed). Requires listing_id + listing_key. Every change is appended to the receipts ledger.
