
Local Leads Mcp
io.github.Raffaele86由 GitHub 账号 Raffaele86 发布v0.1.1更新于 Oct 24, 2026
Find local businesses with no website via OpenStreetMap, then verify them. No API keys needed.
概览
本地运行的 MCP 服务器,通过 OpenStreetMap 查找没有网站的企业,并在联系前逐一核实线索。
- 可以做什么
- 按类别、网站有无、电话区号或是否要求电话,在城市或区域中查找企业,并列出类别与 OSM 标签的对照表。核实域名或网址属于自有正常网站、非自有网站、域名存在但无站点,或未找到网站,并附逐条 URL 证据。通过 DNS 预检某域名的邮件可达性。为网站打出 0 到 100 的薄弱度评分,列出具体问题并识别 CMS 与技术栈。配置搜索密钥后,可通过网络搜索确认确实没有网站。将线索导出为 CSV、JSON 或 Markdown 表格。
- 适用场景
- 适合自由职业者与代理商做本地客户开发,筛出可能确实需要建站的企业,并用检查排除过时的地图数据、社交页面和会退信的邮箱。也适合在提案前需要可引用证据说明网站薄弱之处时使用。
- 运行要求
- 以 Python 包形式通过 uvx 在本地运行;发现、核实、MX 检查与评分均无需凭据。可选密钥:BRAVE_API_KEY,或 GOOGLE_CSE_API_KEY 配合 GOOGLE_CSE_CX,用于启用网站确认;PAGESPEED_API_KEY 用于加入 Lighthouse 评分。需要访问 OpenStreetMap、DNS 及企业公开页面的网络连接。
安装
在 SourceWeft 中
- 打开 控制台中的 Local Leads Mcp,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
local-leads-mcp
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).
Why this and not a maps scraper?
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:
- "No website" that isn't. OSM data can be stale; a missing
websitetag proves nothing.verify_websitechecks apex and www and redirects (an apex domain that doesn't resolve while the site lives happily onwww.is a classic false "no website"), andconfirm_no_websiteuses a web search as the final word. - A Facebook page is not a website. Social profiles, booking aggregators (Fresha, TheFork, Treatwell…), directory listings and free subdomains (
*.wixsite.com,*.business.site…) are classified asnot_own_site, not as "has a website". - Emails that bounce.
check_mxpredicts deliverability before you ever write to a lead (no MX = guaranteed bounce; PEC-only domains are flagged). - "The site is bad" needs evidence.
score_websitereturns 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.
Quickstart (60 seconds)
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.
Optional environment variables
Tools
Discovery (OpenStreetMap — no key)
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 OSMkey=valuetag.list_categories()— the category → OSM tag map.
Verification (no key)
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.
Qualification (no key; PageSpeed optional)
score_website(url)— 0–100 weak-site score with named issues + CMS/tech detection (WordPress, Wix, Shopify, …).
Confirmation (needs a search key)
confirm_no_website(business_name, city)— the final word on "really no website?", classifying search results into own-site candidates vs listings/socials.
Export
export_leads(leads_json, format)— CSV, JSON or Markdown table.
Ethics & fair use
- Data sources are public: OpenStreetMap (© OSM contributors, ODbL), public DNS, and the businesses' own public pages.
- OSM requests are rate-limited locally (min 1 s between calls) and carry a descriptive User-Agent, per the Nominatim and Overpass usage policies. For heavy workloads, run your own Overpass instance.
- This server discovers and verifies — it does not scrape personal emails and it does not send anything. How you contact a business is on you: follow your local rules (GDPR and friends).
See also
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.
License
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.
来源:README.md,提交 cd55fad
工具
0版本历史
1- v0.1.1最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分