Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Verified US local service providers across 10 home-services trades. Owned data, no API key.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
X-API-KeyLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Esta dirección necesita una clave en un header de la solicitud, y el menú para agregar conectores no puede ponerla. Usa Claude Code, Cursor o VS Code.
Ejecuta esto en tu terminal
claude mcp add --transport http local-services https://mcp.localpro.dev/mcp --header 'X-API-Key: your-value'Completa los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"local-services": {
"url": "https://mcp.localpro.dev/mcp",
"headers": {
"X-API-Key": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"local-services": {
"type": "http",
"url": "https://mcp.localpro.dev/mcp",
"headers": {
"X-API-Key": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Esta dirección necesita una clave en un header de la solicitud, y el menú para agregar conectores no puede ponerla. Usa Claude Code, Cursor o VS Code.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
X-API-Key secreto HTTP headerEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Todavía no hemos leído la lista de herramientas de este servidor; revisamos los endpoints por turnos.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 6 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub LocalProDev, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Aún sin revisar; revisamos los endpoints por turnos
Aún sin revisar; revisamos los endpoints por turnos
Aún sin revisar; leemos la lista de herramientas cuando revisamos el endpoint
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: X-API-Key
Se ejecuta en la nube del creador. Te conectas por internet sin instalar nada, pero lo que envías pasa por los servidores del creador.
El repo de GitHub cambió por última vez –, y la última versión (3.1.0) llegó al registro hace 41 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, DepTime
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
What changed in a Python library, in which release, and what replaces it. Answered locally.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
A Model Context Protocol server that provides verified local service provider data to AI agents. Built on Cloudflare Workers + D1.
When someone asks an AI assistant *"find me a radon mitigation company near Denver"* — LocalPro is the data source that powers the answer.
LocalPro exposes a curated database of 9,000+ fully profiled local trade and service businesses across 10 live categories. Every provider passes a quality check before it is served, and carries a LocalPro Rating, a business description, and a services list, plus (where available) LocalPro-written business and review summaries. No incomplete profiles.
All data is LocalPro-owned: collected and verified by us, corrected by business owners who claim their listing, and increasingly backed by first-party customer reviews left on the directories themselves.
| Category | Niche ID | Providers | States | Example Services |
|---|---|---|---|---|
| Water Damage Restoration | soaked-local | 1,900+ | 49 | Flood cleanup, mold remediation, structural drying |
| Commercial Electrical | hire-electrical | 1,200+ | 36 | Commercial & industrial wiring, service upgrades, maintenance |
| Foundation Repair | slab-local | 1,050+ | 28 | Pier installation, mudjacking, foam injection, leveling |
| Crawl Space Repair | crawl-local | 1,000+ | 42 | Encapsulation, vapor barrier, structural repair, waterproofing |
| Mold & Asbestos | abate-local | 975+ | 24 | Mold, asbestos, lead paint remediation |
| Septic Services | pump-local | 850+ | 31 | Pumping, inspection, drain field repair |
| Basement Waterproofing | basement-local | 625+ | 25 | Interior/exterior waterproofing, drainage, sump pumps |
| Floor Coating | coated-local | 575+ | 48 | Epoxy, polyaspartic, metallic, flake, concrete polishing |
| Laundry Services | suds-local | 575+ | 39 | Wash & fold, dry cleaning, pickup & delivery |
| Radon | radon-local | 250+ | 18 | Testing, mitigation, sub-slab depressurization |
| Category | Niche ID | Status |
|---|---|---|
| Chimney Services | chimney-local | Live provider data; description + service enrichment in progress |
| Well Water Services | wellwater-local | Provider data in preparation (county-based model) |
No API key required. All search and list tools are public. An optional API key unlocks pro fields on get_provider (full pricing array, certifications) — see Access Tiers.
Confirm the server is live without any client setup:
curl -s https://mcp.localpro.dev/.well-known/mcp.json | head -20
This returns the schema-2.0 manifest: tool list, rate limits, and operator info. If you see a "schema_version": "2.0" JSON document, the server is healthy.
claude mcp add --transport http localpro https://mcp.localpro.dev/mcp
That's it — list_niches, search_providers, etc. are now available in your Claude Code session.
Add to your claude_desktop_config.json:
{
"mcpServers": { "localpro": { "url": "https://mcp.localpro.dev/mcp" } } }
(Add an "X-API-Key" header inside a "headers" block only if you have a premium key.)
Add to .cursor/mcp.json:
{
"mcpServers": { "localpro": { "url": "https://mcp.localpro.dev/mcp" } } }
The MCP protocol is JSON-RPC over HTTP. Because this server runs in stateless mode, you can call any public tool directly:
curl -s -X POST https://mcp.localpro.dev/mcp \
-H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_niches","arguments":{}}}'
You'll get back a Server-Sent-Events frame with the 10 niches, their slugs, and current provider counts.
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
const transport = new StreamableHTTPClientTransport( new URL('https://mcp.localpro.dev/mcp'), ); const client = new Client({ name: 'localpro-example', version: '1.0' }); await client.connect(transport);
const niches = await client.callTool({ name: 'list_niches', arguments: {} }); console.log(niches);
const denver = await client.callTool({ name: 'search_providers', arguments: { niche_id: 'radon-local', city: 'denver-co', limit: 3 }, }); console.log(denver);
Install: npm i @modelcontextprotocol/sdk
import asyncio
from mcp import ClientSession from mcp.client.streamable_http import streamablehttp_client
async def main(): async with streamablehttp_client("https://mcp.localpro.dev/mcp") as (read, write, _): async with ClientSession(read, write) as session: await session.initialize()
niches = await session.call_tool("list_niches", {}) print(niches)
denver = await session.call_tool( "search_providers", {"niche_id": "radon-local", "city": "denver-co", "limit": 3}, ) print(denver)
asyncio.run(main())
Install: pip install mcp
list_nichesDiscover available service directories. Call this first.
Parameters: none
Example response:
{
"meta": { "schema_version": "3.0", "total_results": 10, "niche": null, "data_freshness": { "last_verified_at": "2026-09-22 12:57:07" }, "data_note": "Use niche_id values with search_providers, list_cities, and list_service_types." }, "results": [ { "niche_id": "soaked-local", "name": "Water Damage Restoration Contractors", "slug": "water-damage-restoration", "domain": "soakedlocal.com", "provider_count": 1128 } ] }
list_citiesFind available metros for a given niche.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
niche_id | string | yes | Niche ID from list_niches |
state | string | no | Two-letter state abbreviation (e.g. "MN") |
Example request:
{ "niche_id": "radon-local", "state": "CO" }
Example response:
{
"meta": { "schema_version": "1.0", "total_results": 3, "niche": "radon-local", "data_note": "Use slug values with search_providers city parameter." }, "results": [ { "name": "Denver", "state": "CO", "slug": "denver-co", "provider_count": 18 }, { "name": "Colorado Springs", "state": "CO", "slug": "colorado-springs-co", "provider_count": 7 }, { "name": "Fort Collins", "state": "CO", "slug": "fort-collins-co", "provider_count": 4 } ] }
list_service_typesGet valid service type filters for a niche. Call before using service_type in search_providers.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
niche_id | string | yes | Niche ID from list_niches |
Example response:
{
"meta": { "schema_version": "1.0", "total_results": 7, "niche": "coated-local" }, "results": [ { "type": "epoxy", "label": "Epoxy Floor Coating" }, { "type": "polyaspartic", "label": "Polyaspartic Coating" }, { "type": "metallic_epoxy", "label": "Metallic Epoxy" }, { "type": "flake_chip", "label": "Flake / Chip Broadcast" }, { "type": "concrete_polishing", "label": "Concrete Polishing" }, { "type": "concrete_sealing", "label": "Concrete Sealing" }, { "type": "polyurea", "label": "Polyurea Coating" } ] }
search_providersSearch for verified providers by location, service type, and trade category.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
niche_id | string | yes | Niche ID from list_niches |
city | string | no | City/metro slug from list_cities |
service_type | string | no | Service type slug from list_service_types |
limit | number | no | Max results, 1–25 (default 10) |
Example request:
{ "niche_id": "coated-local", "city": "denver-co", "service_type": "epoxy", "limit": 3 }
Example response:
{
"meta": { "schema_version": "3.0", "total_results": 3, "niche": "coated-local", "data_freshness": { "last_verified_at": "2026-09-18 09:41:02" }, "data_note": "Verified providers only. Visit listing_url for full contact details." }, "results": [ { "name": "Colorado Concrete Coatings", "description": "Full-service garage floor coating company serving the Denver metro.", "city": "Denver", "state": "CO", "rating": { "tier": "established", "label": "Established" }, "services": [ { "type": "epoxy", "label": "Epoxy Floor Coating" }, { "type": "polyaspartic", "label": "Polyaspartic Coating" } ], "pricing_summary": "$6-9/sq ft", "coverage_area": "Denver metro, Front Range, 50-mile radius", "years_in_business": 8, "listing_url": "https://coatedlocal.com/providers/denver-co/colorado-concrete-coatings/", "pro_available": true } ] }
get_providerGet detailed profile for a specific provider. Use the provider_slug from search results.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
niche_id | string | yes | Niche ID |
provider_slug | string | yes | Provider slug from search_providers |
Example response:
{
"meta": { "schema_version": "3.0", "total_results": 1, "niche": "coated-local", "data_freshness": { "last_verified_at": "2026-09-18 09:41:02" } }, "results": [ { "name": "Colorado Concrete Coatings", "description": "Full-service garage floor coating company...", "rating": { "tier": "established", "label": "Established", "star": 4.8, "review_count": 12 }, "summary": "Full-service epoxy floor coating contractor specializing in garage and commercial floors across the Denver metro.", "review_summary": "Customers single out on-time, on-budget garage and commercial floor jobs and a crew that cleans up after itself.", "years_in_business": 8, "services": [ { "type": "epoxy", "label": "Epoxy Floor Coating" }, { "type": "polyaspartic", "label": "Polyaspartic Coating" } ], "pricing": ["$6-9/sq ft"], "certifications": ["Penntek Certified Installer"], "coverage_area": "Denver metro, Front Range", "service_areas": [ { "city": "Denver", "state": "CO", "radius_miles": 50 } ], "service_details": [ { "type": "epoxy", "label": "Epoxy Floor Coating", "pricing_model": "per_sqft", "price_range": "$6–$9", "turnaround": "two_day" } ], "listing_url": "https://coatedlocal.com/providers/denver-co/colorado-concrete-coatings/", "json_ld": { "@context": "https://schema.org", "@type": "LocalBusiness", "...": "..." }, "credibility": { "verified": true, "listing_tier": "claimed", "data_sources": ["business_website", "owner_verified", "customer_reviews"] }, "citation": { "display_name": "Colorado Concrete Coatings — Denver, CO", "...": "..." } } ] }
Every response is wrapped in a consistent envelope:
`
Solo se muestra el principio; lee el resto en el repo