web-presence-audit
Detects whether a website's forms run on Drupal, helping assess form automation and outreach feasibility.
Identifies HubSpot as a website's form platform, providing insight into how forms handle automated submissions.
Parses Bing's public RSS search output to find business websites and search presence for lead-leak audits.
Detects Squarespace as a website's form platform, indicating whether forms can be automated for outreach.
Identifies Typeform as a website's form platform, helping determine outreach channel viability.
Detects Wix as a website's form platform, noting that Wix forms fire no network traffic on automated submits, so prospects require email or social outreach instead.
Detects WordPress sites and their form plugins (e.g., WPForms, Contact Form 7, Gravity Forms) to assess form automation capabilities.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@web-presence-auditRun a full presence audit on Driver Plumbing & Heating in Leicester"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
web-presence-audit — lead-leak audit tools for AI agents
An MCP server that turns a proven, £0 lead-leak audit methodology for UK local service businesses into six tools your AI agent can call. No API keys, no accounts, no paid services — every data source is free to read.
This is the audit methodology behind real paid audits (built for B2B prospect research): it finds the fixable issues that measurably cost local businesses leads — untappable phone numbers, un-findable websites, mismatched phone numbers across directories, and forms on platforms where automated outreach simply cannot work.
Audience: agencies and web-audit sellers, local-SEO freelancers, lead-gen sellers, any agent doing prospect or client website research.
Cost: £0. Bing's public RSS search output + free UK directories (thomsonlocal, TrustATrader, 3BestRated) + the target site itself. No API keys, no signups, no cards.
Config-free: no environment variables, no accounts. Install and add to your MCP client — done.
What it does — the six tools
Tool | What it answers |
| Which platform a site's forms run on (WPForms, Contact Form 7, Wix, Squarespace, Jotform, Gravity Forms, HubSpot, Typeform, Drupal, or |
| Is the phone number a clickable |
| Is the phone number identical on the business's own site and the free directories (thomsonlocal, TrustATrader)? Mismatched numbers confuse Google and customers. Verdict: |
| Quick hygiene checks: reachable?, HTTPS?, mobile viewport tag?, page weight, load time, title + meta description. |
| Find a business's own website via Bing's public RSS search — only a result with a distinguishing word counts (trade words like "plumbing" prove nothing). |
| Everything at once: search presence, website hygiene, form platform, tap-to-call, NAP, plus the 3BestRated top-3 competitors. Returns a prioritized leak list. |
Matching honesty (kept from the live-proven methodology): a directory listing or search result only counts as the business when it contains a distinguishing word (e.g. "driver" in "Driver Plumbing") plus 2+ name words — trade words and city names alone never count. Masked directory numbers (+447****5682) are excluded from NAP comparison.
Related MCP server: geo-audit-mcp
5-minute setup
Requirements: Python 3.10+ and either uv or pip. Nothing else — no Node, no database, no API keys.
1. Install.
# with uv (fastest):
uv venv && uv pip install -e .
# or with plain pip:
python3 -m venv .venv && .venv/bin/pip install -e .2. Test the install (30 seconds).
.venv/bin/python -m pytest tests/ -qYou'll see 63 passed — all tests are fully offline (canned pages + a localhost site; no live internet needed).
3. Wire it into your MCP client.
Example for Claude Desktop / Cursor / any MCP client with JSON config:
{
"mcpServers": {
"web-presence-audit": {
"command": "/ABSOLUTE/PATH/TO/web-presence-audit/.venv/bin/python",
"args": ["-m", "web_presence_audit"]
}
}
}No env block needed — the server requires nothing but a working network at call time.
4. Try it. Ask your agent:
What form platform does example.co.uk run, and can I tap its phone number to call?
or
Run a full presence audit on "Driver Plumbing & Heating" in Leicester.
Example tool calls and responses
These are real outputs from this server's test suite (canned fixture pages; see tests/fake_pages.py — the shapes are exactly what the live tools return against real sites).
check_form_platform("https://example.co.uk") →
{
"url": "https://example.co.uk",
"platform": "wpforms",
"outreach_note": "WordPress site with the WPForms plugin. Contact forms accept standard fill-and-submit automation cleanly; leave the honeypot field empty.",
"evidence": "wpforms-container",
"visible_form_fields": 3,
"http_status": 200
}check_tap_to_call("https://example.co.uk") → (a plain-text number)
{
"verdict": "leak",
"tel_links": [],
"plain_phones": ["0116 264 5115"],
"note": "LEAK — phone number 0116 264 5115 appears as plain text with no tel: link. Mobile visitors cannot tap to call; most will not retype it.",
"url": "https://example.co.uk"
}check_nap_consistency("Driver Plumbing & Heating", "Leicester") → (site and directory agree)
{
"business": "Driver Plumbing & Heating",
"city": "Leicester",
"trade": "plumber",
"website": "https://www.driverplumbing.co.uk/",
"website_phone": "0116 264 5115",
"directory_phones": [
{ "source": "thomsonlocal", "phone": "0116 264 5115" }
],
"verdict": "consistent",
"note": "Phone number identical across all sources found."
}run_full_audit(...) returns all of the above plus search_presence, website hygiene, top3_competitors, a leaks list, and a score_note summarizing what to fix first.
How it's tested (and why you can trust the README)
63 tests in three layers — all offline (no live internet required to pass):
Engine tests (
tests/test_audit.py) — platform detection per signature, honeypot exclusion from field counts, tap-to-call verdicts, phone normalisation (+44 → 0), the matching-honesty rules, Bing RSS parsing, NAP consistency logic, hygiene checks, and the full pipeline end-to-end against canned pages.Tool layer tests (
tests/test_server_tools.py) — each tool's output shape, URL scheme upgrading, error results (never crashes), all six tools registered with docstrings.Protocol tests (
tests/test_protocol.py) — launch the real server as a subprocess, speak MCP JSON-RPC over stdio (initialize → tools/list → tools/call), and verify responses against a localhost fake site. The production fetch path runs for real; only the target is pretend.
Run them yourself:
.venv/bin/python -m pytest tests/ -vA note on live sources: Bing RSS, thomsonlocal, TrustATrader and 3BestRated were all reachable and parseable from our build environment. Checkatrade is deliberately not queried — it returns HTTP 403 to datacenter IPs, so the methodology reports honestly rather than scraping it. (Checkatrade support confirmed no public API for non-customers.) Live directory pages can change markup; the parser tests protect the logic, and any site that blocks or changes is reported as an honest error, never fabricated data.
Works with both MCP SDK generations
The official Python SDK renamed its main class between versions: 1.x exposes mcp.server.fastmcp.FastMCP, 2.x renamed it to mcp.server.mcpserver.MCPServer. This server imports whichever is installed, so pip install mcp gives you either and it still runs. (Protocol-tested against 1.14.0 and 2.2.0.)
Who it's for
Agencies and web-audit sellers — run structured findings-first audits on any UK local business in minutes, with zero tooling cost.
Local-SEO freelancers — NAP consistency and presence checks without paid tools.
Lead-gen sellers — the form-platform check tells you which outreach channel can even work before you spend time on a prospect.
Any MCP client user doing UK B2B prospect research (pairs with our uk-company-check server for registry facts).
Licence
MIT (see LICENSE).
This server cannot be deployed
Maintenance
Related MCP Connectors
Free technical-SEO audit MCP: crawl a site, run checks, return an LLM-ready shareable report.
- RampifyOAuthdev.rampify
SEO MCP server: crawl your site, find AI-visibility gaps, and ship the fix from your coding agent.
Your agent needs to crawl a site and say what is wrong with it — broken tags, duplicate content, pages nothing can index, resources that never load. **What you can ask for** • "Crawl this site and list every page with a duplicate title or missing description." • "Which pages are non-indexable, and why?" • "Run Lighthouse on these URLs and give me the failing audits." • "Show the internal link graph and the orphan pages." • "Give me this page's raw HTML and its microdata." **How to use it** Point any MCP client at https://mcp.aisa.one/seo-onpage/mcp and sign in with OAuth — there is no key to create or paste. 20 tools: submit a crawl and read its summary, pages, resources, links and waterfall; duplicate content and duplicate tags; keyword density; non-indexable and uncrawlable resources; parsed content, raw HTML, microdata, screenshots and Lighthouse. **Why this rather than the source** A crawler you drive from the agent, with the audit results as structured data rather than a PDF. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Find the broken pages here, then ask the same agent what those pages used to rank for — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/seo/mcp for all of it at once — rankings, keywords, backlinks, site health and AI-answer visibility across DataForSEO, Semrush and Ahrefs.
Local business intel for AI agents: audits, lead scoring, tech stack, prospecting.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenancePoint it at your site, get a whole-site AEO/GEO audit plus a ready-to-run plan your agent can execute. Orchestrates the ai-seo and citation-intelligence MCPs. Ships as a Claude skill, Claude plugin, and MCP server. No API keys required.8 npm2MIT
- AlicenseAqualityDmaintenanceMCP server for GEO site audits, checking 31 signals across 6 pillars and returning a score, breakdowns, and actionable fix prompts.11MIT
- AlicenseNot gradedqualityCmaintenanceOpen-source MCP server that audits websites for AI search readiness, providing deterministic scoring (0-100) and prioritized fix lists for metrics like JSON-LD, llms.txt, heading hierarchy, and AI crawler access.1MIT
- AlicenseAqualityAmaintenanceAn MCP server that lets an AI agent audit a page for SEO and GEO — on-page tags, structured data, robots.txt, sitemaps, hreflang, and whether ChatGPT, Claude, Perplexity and Gemini can actually crawl and cite you. No API keys required.1746 npm1MIT