Find a vetted U.S. locksmith, request a quote or booking; products for locksmith businesses.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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-####).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
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-####).
| Argument | Type | Description |
|---|---|---|
| zip | string | |
| name* | string | |
| string | ||
| phone | string | |
| details | string | |
| service | string | |
| urgency | string | |
| locksmith_id* | string | |
| preferred_time | string |
{
"type": "object",
"title": "book_jobArguments",
"required": [
"locksmith_id",
"name"
],
"properties": {
"zip": {
"type": "string",
"title": "Zip",
"default": ""
},
"name": {
"type": "string",
"title": "Name"
},
"email": {
"type": "string",
"title": "Email",
"default": ""
},
"phone": {
"type": "string",
"title": "Phone",
"default": ""
},
"details": {
"type": "string",
"title": "Details",
"default": ""
},
"service": {
"type": "string",
"title": "Service",
"default": "lockout"
},
"urgency": {
"type": "string",
"title": "Urgency",
"default": ""
},
"locksmith_id": {
"type": "string",
"title": "Locksmith Id"
},
"preferred_time": {
"type": "string",
"title": "Preferred Time",
"default": ""
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| location | string | |
| locksmith_id | string |
{
"type": "object",
"title": "check_availabilityArguments",
"properties": {
"location": {
"type": "string",
"title": "Location",
"default": ""
},
"locksmith_id": {
"type": "string",
"title": "Locksmith Id",
"default": ""
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| location* | string |
{
"type": "object",
"title": "get_etaArguments",
"required": [
"location"
],
"properties": {
"location": {
"type": "string",
"title": "Location"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| locksmith_id* | string |
{
"type": "object",
"title": "get_locksmithArguments",
"required": [
"locksmith_id"
],
"properties": {
"locksmith_id": {
"type": "string",
"title": "Locksmith Id"
}
}
}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").
| Argument | Type | Description |
|---|---|---|
| city | string |
{
"type": "object",
"title": "list_membership_productsArguments",
"properties": {
"city": {
"type": "string",
"title": "City",
"default": ""
}
}
}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".
| Argument | Type | Description |
|---|---|---|
| zip | string | |
| name* | string | |
| string | ||
| phone | string | |
| details | string | |
| service | string | |
| urgency | string | |
| locksmith_id* | string |
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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| budget | string | |
| service | string | |
| urgency | string | |
| location* | string |
{
"type": "object",
"title": "search_locksmithsArguments",
"required": [
"location"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 5
},
"budget": {
"type": "string",
"title": "Budget",
"default": ""
},
"service": {
"type": "string",
"title": "Service",
"default": ""
},
"urgency": {
"type": "string",
"title": "Urgency",
"default": ""
},
"location": {
"type": "string",
"title": "Location"
}
}
}{
"type": "object",
"title": "request_quoteArguments",
"required": [
"locksmith_id",
"name"
],
"properties": {
"zip": {
"type": "string",
"title": "Zip",
"default": ""
},
"name": {
"type": "string",
"title": "Name"
},
"email": {
"type": "string",
"title": "Email",
"default": ""
},
"phone": {
"type": "string",
"title": "Phone",
"default": ""
},
"details": {
"type": "string",
"title": "Details",
"default": ""
},
"service": {
"type": "string",
"title": "Service",
"default": "lockout"
},
"urgency": {
"type": "string",
"title": "Urgency",
"default": ""
},
"locksmith_id": {
"type": "string",
"title": "Locksmith Id"
}
}
}