Skip to main content
Glama
Panda Web Security Tools

Panda Web Security Tools

Panda Web Security Tools

Give Claude, Cursor or any MCP client 6 site, email and agent-safety tools: SPF/DKIM/DMARC audits, AI search and SEO checks, page change monitoring, hidden prompt-injection scans, bulk domain expiry and broken links. Each tool runs one public-data Apify Actor on your own Apify account and is priced per result (the hidden AI instructions scanner is free). Part of the Panda Federation toolkit (36 tools in four focused servers).

PyPI Latest Release Umbrella Apify Store License: MIT

Part of Panda Federation

Part of Panda Federation

This project is a module of the Panda Federation — public-data tools, MCP servers, and local-first apps in one catalog. See the rest of the work, including books when they publish and the matching free or paid editions of this tool, at the official site.

Related MCP server: intodns-mcp

How to use this

uvx panda-web-security-tools
  1. Get a free Apify token at console.apify.com/settings/integrations (the free plan includes $5 of monthly credit) and install uv.

  2. Add the server to your MCP client: command uvx, args ["panda-web-security-tools"], env APIFY_TOKEN (Cursor JSON below).

  3. Ask in plain words, e.g. "Audit the email security of acme.com and its three competitors and list the DNS fixes." Start with one or two inputs and read the summary / agentSummary line before widening.

{"mcpServers": {"panda-web-security-tools": {"command": "uvx", "args": ["panda-web-security-tools"], "env": {"APIFY_TOKEN": "apify_api_YOUR_TOKEN"}}}}

For AI agents

Field

Value

Purpose

Focused MCP server with 6 site, email and agent-safety tools: SPF/DKIM/DMARC audits, AI search and SEO checks, page change monitoring, hidden prompt-injection scans, bulk domain expiry and broken links.

Use when

A task needs a read-only audit of public DNS, web pages or links: email spoofing risk, AI/SEO readiness, page changes, hidden AI instructions, domain expiry or dead links.

Do not use when

You need penetration testing or logged-in scans (not offered), or the task is research (panda-research-tools), funding (panda-public-funding-tools) or leads (panda-leads-tools).

Install

uvx panda-web-security-tools (stdio, Python 3.11+)

Auth

APIFY_TOKEN env var; runs bill to that Apify account.

Tools

6, listed under Tools

Outputs

JSON rows plus a one-line summary / agentSummary; Excel/CSV files on the Apify run.

Side effects and cost

Starts Apify runs; pay per result; empty runs are not charged per result; run_max_charge_usd caps each call. Read-only toward third-party sites.

Other ways to install

From the umbrella package (same tools):

uvx --from panda-federation-tools panda-web-security-tools

From this repo instead of PyPI:

uvx --from git+https://github.com/pandadad0214/panda-web-security-tools panda-web-security-tools

Cursor / Claude / VS Code: command uvx, args ["panda-web-security-tools"], env APIFY_TOKEN.

Official MCP Registry name for this stdio package: io.github.pandadad0214/panda-web-security-tools (server.json). That name is separate from the hosted research server io.github.pandadad0214/panda-research-mcp. Registry clients install the PyPI package with uvx panda-web-security-tools. The git command above stays the install path from this repo.

Use with Gemini CLI

Install this repo as a Gemini CLI extension (adds the MCP server plus a short GEMINI.md context file). Needs Gemini CLI, uv, and a free Apify token.

gemini extensions install https://github.com/pandadad0214/panda-web-security-tools

The extension prompts for APIFY_TOKEN on install and launches the server with uvx panda-web-security-tools. Gallery listing is automatic once this public repo carries the gemini-cli-extension topic and a root gemini-extension.json (crawled daily).

Tools (6)

  • email_domain_security_checker

  • ai_search_seo_audit

  • website_change_monitor

  • hidden_ai_instructions_scanner

  • bulk_domain_whois_expiry

  • broken_link_checker

Each tool runs one Apify Actor on your account. Empty runs are not charged per result; every call is capped by run_max_charge_usd. Full schemas and prices: umbrella README.

Sibling domain servers

  • panda-research-tools — Scholarly integrity and papers: citation checks, literature and PubMed search, academic experts, PDF tables, Wayback Machine snapshots.

  • panda-public-funding-tools — US federal money, filings and safety monitors: grants, contracts, SBIR/STTR topics, SEC financials, clinical trials, Federal Register, recalls, VIN decode.

  • panda-leads-tools — Public leads and enrichment: NPI providers, podcasts, local businesses, hiring signals, website enrichment, team pages, topic trends, trucking carriers, IRS nonprofits, building permits, new Florida, Texas and New York businesses, H-1B visa sponsors, EU tenders.

Index / compatibility mega-server: panda-federation-tools (use only when you truly need every tool).

TDQS standard

New tools join this domain only while the count stays in the 3–15 band. Descriptions follow the checklist in the umbrella repo. See tdqs-standard / project docs.

Built by Panda Federation. MIT licensed.

Available Tools

6 tools
ai_search_seo_auditAI Search & SEO Audit: GEO, llms.txt & Schema CheckerA
Read-only

Audit web pages for classic SEO and for AI-search readiness (ChatGPT, Perplexity, Claude, Google AI Overviews): titles, meta, schema/FAQ markup, author/date signals, blocked AI crawlers, llms.txt and ranked fixes, with an SEO score and an AI-readiness score per page. Unlike website_change_monitor (diffs pages over time) and hidden_ai_instructions_scanner (finds concealed prompt-injection text), this grades how discoverable and citable a page is. Use when you need an on-page SEO/GEO audit or an llms.txt draft. Do not use for change tracking (use website_change_monitor) or security scanning (use hidden_ai_instructions_scanner or email_domain_security_checker). Parameters: crawlInternalLinks multiplies pages: each URL can add up to that many same-site pages, and every page is billed, so maxPages/run_max_items is the real cost cap. generateLlmsTxt drafts one llms.txt per site lacking it at no extra charge. Pages that block our crawler are returned unbilled. Returns per item: agentSummary, url, seoScore, aiReadinessScore, title, metaDescription, h1, wordCount, schemaTypes, faqSchema, aiSearchBotsBlocked, aiTrainingBotsBlocked, llmsTxt, sitemapFound, canonical, noindex, crawlerBlocked, fixes.

Behavior: read-only; runs the Apify Actor pandadad0214/ai-search-seo-audit (https://apify.com/pandadad0214/ai-search-seo-audit) on your own Apify account. Price: $0.004 per page audited. Runs that find nothing are not charged per result, and spending is capped per call by run_max_charge_usd (default $0.50). run_max_items (default 50) limits items returned and fills maxPages when you leave it unset, so it also limits what is billed; setting maxPages higher can bill more than is returned. Most calls finish in 5-15 s for a few inputs; large inputs or crawls can take minutes, so raise run_timeout_secs (max 300) or shrink the input after a timeout error. Returns JSON {actor, count, items}; long text output is trimmed to whole items, with all items in structuredContent.

Inputs: urls, maxPages, run_max_items, generateLlmsTxt, +3 more.

bulk_domain_whois_expiryBulk Domain WHOIS & Expiry Checker (RDAP): Registrar & DatesA
Read-only

Check many domains at once with official RDAP (WHOIS fallback): registered or available, registrar, created/updated/expiry dates, days to expiry, transfer lock and pending-delete status, nameservers, DNS host and DNSSEC. Unlike email_domain_security_checker (SPF/DKIM/DMARC mail security) and company_website_enricher (site content and contacts), this is registration and expiry data for a domain portfolio. Use when you audit a domain portfolio for renewals, check which names are available, or verify registrar and DNS host for vendors or phishing look-alikes. Do not use for website content, uptime or email-auth checks (use email_domain_security_checker). Parameters: domains accepts URLs (scheme, www and paths stripped; duplicates dropped; up to 10,000); rootDomainOnly (default true) reduces subdomains to the registrable domain; expiringWithinDays sets the expiringSoon flag and only=expiringSoon|available|registered returns (and bills) just that subset; sortBy=expiry puts the soonest renewals first; followRegistrar adds registrant org/country when published but is slower; maxResults caps billed domains. Failed lookups are free. Returns per item: agentSummary, domain, registered, available, registrar, registrarIanaId, createdDate, updatedDate, expiresDate, daysToExpiry, ageYears, expiringSoon, statuses, transferLocked, pendingDelete, nameservers, dnsHost, dnssec, registrantOrg, registrantCountry, abuseEmail, source; plus DOMAINS_XLSX/CSV.

Behavior: read-only; runs the Apify Actor pandadad0214/bulk-domain-whois-expiry (https://apify.com/pandadad0214/bulk-domain-whois-expiry) on your own Apify account. Price: $0.001 per domain checked. Runs that find nothing are not charged per result, and spending is capped per call by run_max_charge_usd (default $0.50). run_max_items (default 50) limits items returned and fills maxResults when you leave it unset, so it also limits what is billed; setting maxResults higher can bill more than is returned. Most calls finish in 5-15 s for a few inputs; large inputs or crawls can take minutes, so raise run_timeout_secs (max 300) or shrink the input after a timeout error. Returns JSON {actor, count, items}; long text output is trimmed to whole items, with all items in structuredContent.

Inputs: only, sortBy, domains, maxResults, +6 more.

email_domain_security_checkerSPF, DKIM & DMARC Checker: Bulk Email Domain Security AuditA
Read-only

Audit email authentication for a list of domains: SPF, DKIM (about 40 common selectors), DMARC, MX provider, MTA-STS, TLS-RPT and BIMI, graded A-F with spoofing risk and plain-English fixes. Unlike company_website_enricher (firmographics, tech stack, contacts), this only grades mail security posture from public DNS. Use when you need deliverability or spoofing checks, a security prospect list, or a vendor review. Do not use for website SEO or AI-readiness (use ai_search_seo_audit) or for page-level prompt injection (use hidden_ai_instructions_scanner). Parameters: domains accept bare domains, emails or URLs and are normalized and de-duplicated. DKIM is only confirmed when a selector matches; add dkimSelectors you know are in use, otherwise a missing DKIM may be a false negative. Nonexistent or unresolvable domains are returned with a status and not charged. Returns per item: agentSummary, domain, grade, score (0-100), spoofable, mailProvider, spfRecord, spfAll, spfLookups, dmarcRecord, dmarcPolicy, dmarcReporting, dkimSelectorsFound, mtaSts, tlsRpt, bimi, mxHosts, fixes (prioritized), status.

Behavior: read-only; runs the Apify Actor pandadad0214/email-domain-security-checker (https://apify.com/pandadad0214/email-domain-security-checker) on your own Apify account. Price: $0.002 per domain checked. Runs that find nothing are not charged per result, and spending is capped per call by run_max_charge_usd (default $0.50). run_max_items (default 50) limits items returned and fills maxDomains when you leave it unset, so it also limits what is billed; setting maxDomains higher can bill more than is returned. Most calls finish in 5-15 s for a few inputs; large inputs or crawls can take minutes, so raise run_timeout_secs (max 300) or shrink the input after a timeout error. Returns JSON {actor, count, items}; long text output is trimmed to whole items, with all items in structuredContent.

Inputs: domains, maxDomains, dkimSelectors, run_max_items, +2 more.

hidden_ai_instructions_scannerHidden AI Instructions Scanner: Prompt Injection DetectorA
Read-only

Scan web pages for text hidden from people but read by AI agents (display:none, off-screen, tiny or same-color text, HTML comments, alt/meta/data attributes, zero-width and Unicode tag characters) and classify it as policy notice, manipulation or harmful prompt injection, with location and excerpt. Unlike ai_search_seo_audit (visible SEO and AI-readiness) and website_change_monitor (diffs over time), this is a security check on content an agent is about to read. Use when an agent or workflow will ingest a page and you need to know whether it carries hidden instructions, or when auditing your own site. Do not use for SEO grading (use ai_search_seo_audit) or for email security (use email_domain_security_checker). Parameters: renderJs=true runs a real browser to catch script-injected text (much slower, plus settleSecs per page); off is a fast HTTP read. agentUaDiff adds three fetches per page (GPTBot, ClaudeBot, ChatGPT-User) to detect cloaking. crawlDepth follows same-site links but maxPages always caps the run. Findings are leads for review, not proof of intent. Returns per item: page summaries (type page-summary, url, verdict, findings, categories, topSeverity, techniques, agentSummary) and findings (technique, location, excerpt, category, severity).

Behavior: read-only; runs the Apify Actor pandadad0214/hidden-ai-instructions-scanner (https://apify.com/pandadad0214/hidden-ai-instructions-scanner) on your own Apify account. Price: free (no per-result charge). Runs that find nothing are not charged per result, and spending is capped per call by run_max_charge_usd (default $0.50). run_max_items (default 50) limits items returned and fills maxPages when you leave it unset, so it also limits what is billed; setting maxPages higher can bill more than is returned. Most calls finish in 5-15 s for a few inputs; large inputs or crawls can take minutes, so raise run_timeout_secs (max 300) or shrink the input after a timeout error. Returns JSON {actor, count, items}; long text output is trimmed to whole items, with all items in structuredContent.

Inputs: urls (required), maxPages, renderJs, crawlDepth, +7 more.

website_change_monitorWebsite Change Monitor: Page Diffs, Price & Keyword AlertsA
Read-only

Check a watch list of web pages against snapshots saved by your previous run and report added and removed text, change percent, price changes and keyword appear/disappear alerts, with an optional webhook when something changes. Unlike ai_search_seo_audit (one-time quality audit) and hidden_ai_instructions_scanner (concealed AI-directed text), this is stateful diffing over time. Use when you need to track competitor pricing, terms, product or careers pages on a schedule. Do not use for a one-off page read or audit (use ai_search_seo_audit), or for pages behind a login. Parameters: the first run per monitorName only saves baselines (status 'baseline saved'); reuse the same monitorName for every later run, and use a new name for a separate watch list. cssSelector, ignorePatterns and ignoreNumbersAndDates cut false alarms from banners, counters and timestamps. Below minChangePercent the old snapshot is kept, so small edits accumulate. onlyReportChanges shrinks output but every page checked is still billed; unreachable pages are free. webhookUrl posts outside the Apify run; only set it if you control that endpoint. Returns per item: agentSummary, url, label, status, changed, changePercent, addedCount, removedCount, addedLines, removedLines, prices, priceChanges, keywordsPresent, keywordsAppeared, keywordsDisappeared, titleBefore, titleAfter, previousCheckAt.

Behavior: read-only; runs the Apify Actor pandadad0214/website-change-monitor (https://apify.com/pandadad0214/website-change-monitor) on your own Apify account. Price: $0.0015 per page checked. Runs that find nothing are not charged per result, and spending is capped per call by run_max_charge_usd (default $0.50). run_max_items (default 50) limits items returned and fills maxPages when you leave it unset, so it also limits what is billed; setting maxPages higher can bill more than is returned. Most calls finish in 5-15 s for a few inputs; large inputs or crawls can take minutes, so raise run_timeout_secs (max 300) or shrink the input after a timeout error. Returns JSON {actor, count, items}; long text output is trimmed to whole items, with all items in structuredContent.

Inputs: urls, maxPages, webhookUrl, cssSelector, +9 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.7/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool targets a distinct, clearly named concern (SEO/AI readiness, hidden prompt injection, temporal diffs, domain registration, link health, email auth). The descriptions go further and explicitly cross-reference each other ("unlike X..., do not use for Y"), leaving essentially no room for misselection.

    Naming Consistency5/5

    All six names are consistent snake_case descriptive noun phrases that clearly state the resource and operation (audit, scanner, monitor, checker, expiry). No mixed conventions or casing appear across the set.

    Tool Count4/5

    Six tools is a tight, well-scoped set for a web/site diagnostics portfolio, with each tool earning a clear place. It sits at the low end but is comfortably within a reasonable range for the domain.

    Completeness4/5

    The surface covers the core read-only audit workflows: on-page SEO, AI-readiness, prompt-injection, change tracking, WHOIS/expiry, broken links, and email auth, all with actionable output. Minor gaps remain (e.g. TLS/security-header checks, uptime/safe-browsing), but they are peripheral and not blocking.

    Maintenance

    ActivityMaintained
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Email-deliverability tools for AI agents — 12 MCP tools across email verification, DNSBL across 50 zones, SPF/DKIM/DMARC analysis, spam-trap scoring, domain intelligence, and email finder. Free tier with no credit card.
      12
      36 npm
      1
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      MCP server for IntoDNS.ai providing 36 free tools for DNS, DMARC, SPF, DKIM, BIMI, DNSSEC, MTA-STS, FCrDNS, blacklist and email security checks. Citation-grade report snapshots with content hashes. No API key required.
      45
      142 npm
      2
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Provides live infrastructure monitoring for AI agents, including domain health checks, MCP server security posture, email blacklists, broken-link scans, and cloud vendor status. No signup or API key needed for public tools.
      MIT