Find local businesses with no website via OpenStreetMap, then verify them. No API keys needed.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Find local businesses that need a website β and prove it β from your AI agent.
One MCP server that discovers local businesses via OpenStreetMap and then verifies them with the checks that separate a real lead list from a pile of false positives. Built for freelancers and agencies that use Claude, Cursor or any MCP client for prospecting.
No API keys required for the core workflow: discovery, website verification, email deliverability check and weak-site scoring all run on free, open infrastructure (Overpass, Nominatim, DNS-over-HTTPS, plain HTTP).
The hard part of local prospecting isn't getting a list of businesses β it's not embarrassing yourself. Lead lists built from raw map data are full of traps this server checks for explicitly:
website tag proves nothing. verify_website checks apex and www and redirects (an apex domain that doesn't resolve while the site lives happily on www. is a classic false "no website"), and confirm_no_website uses a web search as the final word.*.wixsite.com, *.business.siteβ¦) are classified as not_own_site, not as "has a website".check_mx predicts deliverability before you ever write to a lead (no MX = guaranteed bounce; PEC-only domains are flagged).score_website returns citable issues (no HTTPS, no mobile viewport, missing title/meta/H1, no sitemapβ¦), not vibes β optionally with Lighthouse scores via the PageSpeed API.Every verdict ships with the raw checks that produced it, so your agent can show its work.
That's it β no credentials. Then ask your agent things like:
Find 20 restaurants in Turin with no website, verify each one, and give me a CSV of the confirmed ones with a phone number.
| Variable | Enables |
|---|---|
BRAVE_API_KEY | confirm_no_website via Brave Search API |
GOOGLE_CSE_API_KEY + GOOGLE_CSE_CX | confirm_no_website via Google Programmable Search |
PAGESPEED_API_KEY | Lighthouse scores inside score_website |
find_businesses(area, category, website_filter, phone_prefix, require_phone, limit) β businesses in a city/district, filtered by website presence. ~35 friendly categories plus any raw OSM key=value tag.list_categories() β the category β OSM tag map.verify_website(domain_or_url) β verdicts: live_own_site, not_own_site, domain_exists_no_site, no_website_found; includes per-URL evidence.check_mx(domain) β email deliverability pre-check via DNS-over-HTTPS.score_website(url) β 0β100 weak-site score with named issues + CMS/tech detection (WordPress, Wix, Shopify, β¦).confirm_no_website(business_name, city) β the final word on "really no website?", classifying search results into own-site candidates vs listings/socials.export_leads(leads_json, format) β CSV, JSON or Markdown table.seo-stack-mcp β the same idea for SEO data: Google Search Console, GA4, Bing Webmaster and Microsoft Clarity in one MCP server. Prospect with local-leads, then monitor the sites you build with seo-stack.
MIT.
Built by Raffaele Nocera β web consulting for local businesses. If this tool helps you win a client, I'd love to hear about it.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/local-leads-mcp)<a href="https://allmcps.com/mcp/local-leads-mcp"><img src="https://allmcps.com/api/badge/local-leads-mcp?style=directory" alt="Local Leads Mcp on AllMCPs" /></a>