LocalPro — Verified US Local Service Provider Data
Server Details
Verified US local service providers across 10 home-services trades. Ratings, hours, no API key.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- LocalProDev/mcp-server
- GitHub Stars
- 1
- Server Listing
- LocalPro MCP Server
Available Tools
5 toolsget_providerAInspect
Get a detailed summary of a specific verified service provider. Returns business description, services, pricing summary, coverage area, service details, and a link to the full profile page. With a valid API key (X-API-Key header): also returns full pricing breakdown and certifications. Without a key: returns pricing_summary and a pro_available flag. Contact details (phone, email, address) are available on the listing page via listing_url.
| Name | Required | Description | Default |
|---|---|---|---|
| niche_id | Yes | Niche ID (e.g. "coated-local"). Must match the niche used in search_providers. | |
| provider_slug | Yes | Provider URL slug from search_providers results (e.g. "abc-coatings") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It thoroughly discloses auth-dependent behavior (with vs. without API key), lists exactly which fields are returned in each case, and clarifies that contact details are only available via listing_url. This goes well beyond the minimum and leaves little guesswork.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, front-loaded with the main purpose, then detailing return fields and auth variations. Every sentence carries essential information with no filler or redundant phrasing. This is an exemplary model of conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description must explain return values itself. It does so comprehensively, covering business description, services, pricing details, coverage area, service details, listing link, and the auth-dependent extra fields. It also explains where to find contact details. This is fully complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with example values for niche_id and provider_slug. The description adds no extra parameter-level meaning beyond what the schema states. Thus, the baseline of 3 is appropriate since the schema fully documents the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get a detailed summary of a specific verified service provider.' The verb 'Get' and resource are precise, and it distinctly differentiates from sibling tools like search_providers by emphasizing 'specific' vs. searching. It also enumerates what is returned, removing ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool vs. alternatives, nor does it mention exclusions. It implies a prerequisite by referencing 'specific verified service provider,' but the direct guidance to use search_providers first comes only from the input schema, not the description itself. This is implied usage, not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_citiesAInspect
List available cities and metro areas where verified providers operate for a given niche. Use this to discover valid city slugs before calling search_providers. Cities are grouped by metro area where applicable (e.g. "minneapolis-mn" covers Minneapolis, St. Paul, and surrounding suburbs). Optionally filter by state abbreviation.
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | Two-letter state abbreviation to filter by (e.g. "MN", "CO") | |
| niche_id | Yes | Niche ID from list_niches (e.g. "coated-local", "radon-local") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses meaningful grouping behavior ('Cities are grouped by metro area') and gives a concrete example of metro coverage (Minneapolis/St. Paul suburbs). It doesn't mention return format, pagination, or error behavior, but for a simple listing tool, this is reasonably transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, all of which serve a purpose: stating the function, giving usage guidance, and explaining a key behavioral detail. It is front-loaded with the verb and resource, and there is no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with two parameters, one required, and full schema coverage. The description covers purpose, when to use it, and grouping behavior. It doesn't describe the return value structure, but the lack of an output schema is somewhat mitigated by the clarity of the listing behavior. Slightly more detail on what the output looks like would push it to 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with parameter descriptions already explaining 'niche_id' and 'state.' The description adds context about metro-area grouping and the 'minneapolis-mn' slug format, but this is more about output behavior than parameter semantics. It repeats the optionality of state already implied by the schema, so it doesn't significantly elevate beyond the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('List') and a specific resource ('available cities and metro areas where verified providers operate'), scoped by 'for a given niche.' It distinguishes itself from sibling tools like list_niches and search_providers by specifying its role in discovering city slugs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this to discover valid city slugs before calling search_providers,' providing clear when-to-use guidance and naming the downstream tool. It also notes the optional state filter, which helps the agent decide how to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_nichesAInspect
List all available service directories in the LocalPro network. This is the starting point for discovering what categories of verified local service providers are available. Categories include water damage restoration, foundation repair, crawl space repair, basement waterproofing, mold/asbestos/lead remediation, radon mitigation, septic services, commercial electrical, floor coating, and laundry pickup & delivery. Returns niche IDs needed for all other tools.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of transparency. It clearly indicates a read-only listing operation ('List all available'), enumerates the category domains, and discloses that the return value is niche IDs. It does not discuss pagination or auth, but for a zero-parameter list tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the primary action and scope. The list of example categories is useful context, and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter tool with no output schema, the description sufficiently covers purpose, what it returns, and how it fits into the broader workflow ('needed for all other tools'). No significant gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, with a schema coverage of 100% (empty properties). The description adds value by explaining what the output represents (niche IDs needed for other tools), which satisfies the baseline for parameter-less tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and names a clear resource ('all available service directories in the LocalPro network'). It also explains that the result is categories of verified providers and references the needed niche IDs, distinguishing it from sibling tools like list_cities or search_providers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly frames the tool as the 'starting point' and states that it returns 'niche IDs needed for all other tools', giving clear guidance on when to use it. It does not explicitly list alternatives or when not to use it, but the priority context is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_service_typesAInspect
List the valid service type categories for a given niche directory. Use this before calling search_providers with a service_type filter to ensure you pass a valid value. Each niche has its own taxonomy — for example, "coated-local" has epoxy, polyaspartic, metallic_epoxy, etc., while "radon-local" has radon_testing, radon_mitigation, ssd_installation, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| niche_id | Yes | Niche ID (e.g. "coated-local", "radon-local"). Get options from list_niches. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses niche-specific taxonomy and gives examples, but does not explicitly state return type, error behavior, or confirm read-only nature. The 'list' verb implies read-only but lacks deeper behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states purpose, second gives usage guidance and examples. Front-loaded, no fluff, every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one parameter and no output schema, the description sufficiently explains what it does and when to use it. It lacks explicit mention of response format, but examples and naming imply a list of valid values, making it mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with niche_id well-documented in the schema (including examples and reference to list_niches). The description adds context about niche-specific taxonomy but does not materially extend the parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list) and resource (valid service type categories for a given niche directory). It distinguishes from sibling tools like list_niches and search_providers by focusing on the niche-specific taxonomy of service types, with concrete examples.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use this tool: 'Use this before calling search_providers with a service_type filter to ensure you pass a valid value.' This provides clear context and a direct reference to an alternative workflow, fulfilling the dimension fully.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_providersAInspect
Search for verified local service providers across 10 trade categories: water damage restoration, foundation/slab repair, crawl space repair, basement waterproofing, mold/asbestos/lead remediation, radon mitigation, septic services, commercial electrical, floor coating (epoxy/polyaspartic), and laundry pickup & delivery. Returns provider name, rating, review count, business status, services offered, certifications, years in business, and a link to the full profile with contact details. Each provider includes Google Maps URL when available. Covers major US metro areas. Use list_niches first to get valid niche IDs, and list_service_types for valid service_type values.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City or metro area slug (e.g. "denver-co", "minneapolis-mn"). Get options from list_cities. | |
| limit | No | Max results to return (default 10) | |
| niche_id | Yes | Niche ID (e.g. "coated-local", "radon-local"). Get options from list_niches. | |
| service_type | No | Service type slug to filter by (e.g. "epoxy", "radon_testing"). Get valid values from list_service_types. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses output fields (name, rating, review count, certifications, etc.) and includes a caveat ('Google Maps URL when available'). However, it does not mention authentication requirements, rate limits, or what happens when no results are found, leaving a modest gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-organized: purpose, return fields, coverage, and prerequisite calls are presented in logical sequence. The long list of categories is necessary context for a niche-specific search tool, so it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no output schema, the description is nearly complete: it details the return payload, coverage limitations, and prerequisite sibling tools. It lacks explicit error/empty-result behavior, but that is non-critical for a read-only search operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by pointing to list_niches and list_service_types for valid parameter values, and by explaining that city and service_type act as filters. This enriches the schema without redundancy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Search for verified local service providers') and enumerates 10 trade categories, making the tool's scope unmistakable. It also lists all return fields, clearly distinguishing it from sibling tools like get_provider (single provider) and list_niches/list_service_types (metadata lookups).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs agents to 'Use list_niches first to get valid niche IDs, and list_service_types for valid service_type values,' providing direct cross-tool usage guidance. It also notes geographic coverage ('major US metro areas'), setting expectations for when the tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
- First observed
get_provider - First observed
list_cities - First observed
list_niches - First observed
list_service_types - First observed
search_providers
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Find verified businesses & service providers by trade and area. Returns structured provider data.
Book local tradespeople — plumber, electrician, HVAC, and 7 more — via your AI agent. All US.
Local US home-service pricing, providers ranked by the Vouched Score, rebates, and glossary.
Search 7,000+ local service businesses across America by category, location, or keyword.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceRetrieves vetted Local Services Ads businesses (Google Guaranteed or Screened) as clean JSON for any service and US city, enabling lead generation, local SEO monitoring, and competitor tracking.-
- FlicenseNot gradedqualityDmaintenanceThe owner-verified local business data + service & menu-price layer for AI agents. Owner-authored business profiles where every response carries provenance — verification level, completeness score, freshness timestamps, and upstream sources. * Search & profiles — find businesses by name, category, city, or geo-radius; full profiles with contacts, hours, media, ratings. * Price layer-
- AlicenseNot gradedqualityDmaintenanceAccess ServiceGraph — a structured catalog of 100k+ US professional-services firms (law, marketing, consulting, accounting, IT services, architecture, engineering, HR, PR, design) with filters for industry, services offered, location, size, ratings, and third-party listing presence.61MIT
- AlicenseNot gradedqualityBmaintenanceHome Services MCP by HireNimbus lets AI agents find, compare, and book verified local pros for handyman, renovation, HVAC, plumbing, electrical, and landscaping jobs in supported US metro markets.Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool has a distinct and clear purpose: get_provider retrieves details on a single provider, list_cities returns cities, list_niches returns categories, list_service_types returns subcategories, and search_providers searches across multiple criteria. There is no functional overlap.
All tool names follow a consistent verb_noun pattern: get_provider, list_cities, list_niches, list_service_types, search_providers. This makes the API easy to predict and navigate.
With 5 tools, the server covers the essential operations for browsing and retrieving local service provider data without being too sparse or bloated. The count is well-scoped for a directory-focused server.
The tool set covers the full lifecycle of discovering and querying provider data: listing niches, cities, service types, searching, and getting detailed profiles. No obvious gaps exist for read-only access.