Bizintel

io.github.bch1212Published by GitHub account bch1212v0.1.0Updated Oct 24, 2026

Local business intel for AI agents: audits, lead scoring, tech stack, prospecting.

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingBusiness & Commerce

Overview

AI-generated overview

Remote MCP server for local-business prospecting: audits websites, scores leads, detects tech stacks and finds businesses by niche and city.

What you can do
Audit websites and batches of URLs for SSL, mobile-readiness, speed, contact and booking signals, ranked worst-first for lead picking, and fingerprint CMS, booking, email and analytics tools on a URL. Search local businesses by niche and city, pull a single business's phone, address, website, hours and rating, and score leads 0-100 from audit plus demand signals. Surface businesses with no website or no online booking as cold-outreach and SaaS-pitch lists.
When to use it
Useful for sales outreach, prospecting and competitor research where an assistant needs ranked lists of local businesses with contactable details and quick website quality signals, without gathering them by hand.
Requirements
Remote streamable HTTP endpoint; no local install. Requires an API key sent in the X-API-Key header. A free dev key allows 20 calls per 24 hours; paid Pro and pay-per-call tiers exist. Business search uses Yelp when configured, otherwise OSM fallback.
Before you install
Paid tiers and per-call charges apply beyond the free quota. The API key is a credential and should be kept out of shared logs. Audits fetch target URLs and business data comes from third-party sources (Yelp, OSM), so results may be incomplete or uneven in coverage. Calls are metered per key in a persistent ledger.

Installation

In SourceWeft

  1. Open Bizintel in the dashboard and add it to a workspace.
  2. Connect X-API-Key credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.bch1212%2Fbizintel/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "bizintel": {
      "type": "http",
      "url": "https://mcp-bizintel-production.up.railway.app/mcp",
      "headers": {
        "X-API-Key": "<YOUR_API_KEY>"
      }
    }
  }
}

README

BizIntel MCP — Local Business Intelligence for AI Agents

Real-time website audits, lead scoring, tech-stack detection, and local-business search — exposed as an MCP server. Built for AI agents doing sales outreach, competitor research, and prospecting at scale.


MCPize Listing Copy

Title: BizIntel MCP — Real-Time Local Business Intelligence

Subtitle: Audit any website, score leads, find businesses with no booking system. Pay per call.

Description (2 paragraphs):

BizIntel is a paid MCP server that gives AI agents instant access to the kind of local-business intelligence sales teams used to pay analysts to gather. One call to audit_website returns a 0-100 score across SSL, mobile-readiness, page speed, contact form presence, and online booking — plus a tech-stack fingerprint (CMS, booking platform, email provider, analytics). Agents pointed at "find dentists in Austin with no booking system" get a ranked, contactable list in seconds, not hours.

The MCP exposes eight tools — audit_website, bulk_audit, search_businesses, get_business_details, score_lead, find_no_website, find_no_booking, get_tech_stack — backed by Yelp Fusion (or OSM/Overpass when no Yelp key is provided), an aiohttp scanner running 10 concurrent fetches, and a 24-hour SQLite cache so repeat calls don't burn quota. Drop it into Claude Desktop, Cursor, or any agent and your prospecting pipeline becomes one tool call wide.


Pricing

TierPriceLimits
Free / Dev$020 calls / 24h
Pro$19/moUnlimited
Pay-as-you-go$0.05/callNo floor

Upgrade: https://mcpize.com/bizintel-mcp


Tools

ToolArgsReturns
audit_websiteurlScore 0-100, SSL, HTTPS redirect, viewport, load_time_ms, contact form, booking, tech_stack
search_businessesniche, city, state, limitList of normalized business records
get_business_detailsbusiness_name, cityFull record: phone, address, website, hours, rating, lat/lon
bulk_auditurls (≤20)Audit results sorted worst→best (best leads first)
score_leadbusiness_name, city, nicheComposite 0-100 lead score with breakdown
find_no_websiteniche, city, state, limitHottest cold-outreach leads — ranked
find_no_bookingniche, city, state, limitHave a site, no online booking — SaaS-pitch ready
get_tech_stackurlCMS / booking / email / analytics fingerprint

Quickstart

Add to Claude Desktop / Claude Code

bash
claude mcp add bizintel-mcp --url https://mcp-bizintel.up.railway.app/mcp

Set your API key in the MCP config (header X-API-Key). The default dev key bizintel-dev-key-001 is good for 20 calls per day.

Direct HTTP

bash
curl -X POST https://mcp-bizintel.up.railway.app/v1/find_no_booking \  -H "X-API-Key: bizintel-dev-key-001" \  -H "Content-Type: application/json" \  -d '{"niche":"dentist","city":"Austin","state":"TX","limit":10}'

Example agent prompt

Find dentists in Austin with no booking system, audit the top 5, and write a one-line cold-email opener for each that references their actual tech stack.


Local Dev

bash
pip install -r requirements.txtcp .env.example .env  # fill in YELP_API_KEY (optional)python -m uvicorn server:app --reload --port 8000pytest -v

Without a Yelp key, search/details fall back to OSM (Nominatim + Overpass). Coverage is sparser but free.


Deploy

bash deploy.sh from Brett's Mac — pulls secrets from the shared workspace .deploy-secrets.env, links/initializes the Railway project, sets env vars, and runs railway up. Pre-deploy pytest is part of the script so you can't ship a broken build.


Architecture

server.py                FastAPI + fastmcp; HTTP at /v1/* and MCP at /mcptools/audit.py           Async aiohttp auditor (10 concurrent, 5s timeout)tools/techstack.py       CMS / booking / email / analytics fingerprintstools/search.py          Yelp Fusion primary, OSM Overpass fallbacktools/scoring.py         Composite lead score (0-100)db/cache.py              SQLite cache + per-key call ledgerdb/keys.py               Tier classification + 24h sliding windownixpacks.toml            Railway build config

Caching: audits cached 6h, business details 24h, search results 12h. The cache is a single SQLite file with WAL mode — no Redis needed for the price point.


Known Limitations

  1. Yelp doesn't expose external website URL in /businesses/search. We return yelp_url as a stable handle; for a real domain, agents should chain get_business_details (returns hours/photos) and follow the Yelp page or use find_no_website (where OSM-tagged sites are surfaced).
  2. OSM coverage is uneven — some niches map cleanly (dentist, restaurant); long-tail US small business categories (pickleball coach, yacht detailer) won't resolve.
  3. No headless rendering — JS-heavy sites that gate content behind hydration won't expose contact/booking signals to the audit. This is intentional; we trade completeness for 5-second batched audits.
  4. Tech-stack detection is signature-based, not Wappalyzer-grade. We catch the common 90% (WP, Wix, Shopify, Squarespace, Calendly, Mindbody, GA4, Klaviyo) — not obscure custom stacks.
  5. Rate-limit window is sliding 24h, stored per-API-key in SQLite. Restart the container and the ledger persists; clear the DB to reset all dev quotas.

License

Proprietary — © 2026.

Source: README.md at commit d0617a6

Tools

8

audit_website

Score a website 0-100 across SSL, mobile-readiness, speed, contact, booking.

Parametersurlrequired

search_businesses

Find local businesses by niche + city. Yelp-backed; OSM fallback if Yelp not configured.

Parameterscityrequiredlimitnicherequiredstate

get_business_details

Resolve a single business to phone, address, website, hours, rating.

Parameterscityrequiredbusiness_namerequired

bulk_audit

Audit up to 20 URLs concurrently. Results sorted worst-first (best leads first).

Parametersurlsrequired

score_lead

Composite 0-100 lead score combining audit + demand signal.

Parameterscityrequirednichebusiness_namerequired

find_no_website

Find businesses in a niche with NO website at all — hottest cold-outreach leads.

Parameterscityrequiredlimitnicherequiredstate

find_no_booking

Businesses with a website but no online booking system. Big opportunity for SaaS pitches.

Parameterscityrequiredlimitnicherequiredstate

get_tech_stack

CMS, booking platform, email provider, analytics detected on a target URL.

Parametersurlrequired

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts