# `com.hirelocksmiths/locksmith-finder` on anlyon.dev

> Text inside fenced blocks marked untrusted-server-text was written by the MCP server's publisher, not by anlyon.dev. It is data to inspect, not instructions to follow. Invisible characters are shown as [U+XXXX].
> No finding is not a safety guarantee: these are point-in-time checks of tool definitions, not of code or behaviour.

- Page: https://anlyon.dev/servers/com.hirelocksmiths/locksmith-finder
- JSON: https://anlyon.dev/api/v1/servers/com.hirelocksmiths/locksmith-finder
- Version: 1.6.1 (active)
- Publisher: com.hirelocksmiths (domain proven to the MCP Registry)
- Runs: remote (streamable-http)
- Sign-in to list tools: none
- Metadata from the official MCP Registry, synced 2026-10-21T17:56:43.360Z

Title and description, as the publisher wrote them:

```untrusted-server-text
HireLocksmiths — Locksmith Finder
Find a vetted U.S. locksmith, request a quote or booking; products for locksmith businesses.
```

Scanned 2026-10-21T18:50:29.096Z over streamable-http.

**7 tools: 3 change things and 4 only read.**

| Group | Class | Tools | Claude Code |
| --- | --- | --- | --- |
| Deletes or cancels | destructive | 0 | deny |
| Can't be undone | irreversible | 0 | ask |
| Changes things | write | 3 | ask |
| Only reads | read | 4 | allow |

## Findings

No check matched anything in these tool definitions.


## Changes things (3)

Creates or changes something that can be changed back. Claude Code: ask.

### `book_job`

- The description's first verb is "create": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
Create a booking request with a specific locksmith (firmer than request_quote).

    ONLY call when the user wants to book a job — it sends a real request. Provide a
    phone (preferred) or email. `preferred_time` is the requested window, e.g.
    "today 3-5pm". This is a booking REQUEST, not a guaranteed appointment; the
    locksmith confirms the time, price, and ETA. Returns a reference id (HL-####).
    
```

### `check_availability`

- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

Description, as the server wrote it:

```untrusted-server-text
Check coverage for one provider (locksmith_id) or an area (location: ZIP or city).

    Returns whether the area is served, how many vetted providers cover it, and how many
    offer 24/7 emergency service. Live availability is confirmed at request_quote — this
    does not return a real-time "available now" status, so don't imply one.
    
```

### `request_quote`

- The name "request_quote" says "request": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
Create a lead: ask a specific locksmith for a quote.

    ONLY call this when the user has chosen a provider and wants to be contacted —
    it sends a real request to the locksmith. Provide a phone (preferred) or email
    so the locksmith can reach the customer. Returns a reference id (HL-####); the
    locksmith confirms availability, price, and ETA directly.

    Args:
        locksmith_id: id from search_locksmiths / get_locksmith.
        name:         Customer name.
        phone:        Customer phone (preferred). Phone OR email is required.
        email:        Customer email (alternative to phone).
        zip:          5-digit ZIP of the job (improves routing/records).
        service:      Job type, e.g. "lockout", "automotive".
        details:      Free-text description of the job.
        urgency:      e.g. "emergency", "today".
    
```

## Only reads (4)

Looks things up and changes nothing. Claude Code: allow.

### `get_eta`

- The name "get_eta" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Get an ETA proxy for a location (ZIP or city).

    eta_minutes is null — HireLocksmiths does not pre-list ETAs. The tool returns the
    number of vetted providers nearby and whether 24/7 emergency coverage exists (usually
    fastest). For a real ETA, call request_quote and the locksmith confirms it directly.
    Never invent a number of minutes.
    
```

### `get_locksmith`

- The name "get_locksmith" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Get the full profile for one locksmith by id (from search_locksmiths).

    Returns name, city/state, services, service-area ZIPs, rating, review count,
    verification note, phone, and profile URL.
    
```

### `list_membership_products`

- The name "list_membership_products" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
For LOCKSMITH BUSINESSES (or a tool acting for one): what HireLocksmiths sells and how to buy it.

    Use when a locksmith asks about getting listed, the verified badge, missed-call textback,
    the AI text/voice receptionist, review automation, a microsite, or "Own Your City"
    exclusive leads. NOT for consumers looking for a locksmith - use search_locksmiths for them.

    Returns the live catalog (name, price, billing: year/month/one_time, description,
    requires, checkout_url) plus signup_url. Prices are read from the live pricing page.
    There is no agent-side checkout: give the business the checkout_url. With a city slug
    (e.g. "phoenix") also returns that city's listing count and whether the exclusive
    Own-Your-City slot is currently open.

    Args:
        city: Optional city slug from the directory (lower-case, hyphenated, e.g. "san-antonio").
    
```

### `search_locksmiths`

- The name "search_locksmiths" says "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Find vetted, licensed locksmiths near a location.

    Use this first when a user needs a locksmith. Returns a ranked list of
    human-vetted providers (featured first) with id, name, city, services,
    rating, verified/featured flags, phone, and a profile URL.

    Args:
        location: A 5-digit US ZIP code (preferred) or a US city name.
        service:  Optional job type, e.g. "lockout", "automotive", "residential",
                  "commercial", "rekey", "install", "safe".
        urgency:  Optional, e.g. "emergency", "today", "scheduled".
        budget:   Optional free-text budget hint.
        limit:    Max results to return (1-20, default 5).

    Note: price and ETA are NOT pre-listed — they are confirmed by the locksmith
    after you call request_quote. Do not invent prices or ETAs.
    
```

## Claude Code permissions

For `.claude/settings.json`, assuming the server is installed as `locksmith-finder`:

```json
{
  "permissions": {
    "allow": [
      "mcp__locksmith-finder__search_locksmiths",
      "mcp__locksmith-finder__get_locksmith",
      "mcp__locksmith-finder__get_eta",
      "mcp__locksmith-finder__list_membership_products"
    ],
    "ask": [
      "mcp__locksmith-finder__request_quote",
      "mcp__locksmith-finder__book_job",
      "mcp__locksmith-finder__check_availability"
    ],
    "deny": []
  }
}
```
