{"name":"com.industry-lens/mcp-public","slug":"industry-lens-mcp-public","title":"IndustryLens","description":"B2B SaaS competitor pricing changes, strategic moves, market landscapes, reports and comparisons.","url":"https://mcp.market/server/industry-lens-mcp-public","rating":null,"grade":"A","score":91,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-10-29T14:21:16.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T04:01:19.547Z","last_ok_at":"2026-11-04T04:01:19.547Z","latency_ms":536},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/IndustryLensOp/industrylens-mcp-docs","website":"https://industry-lens.com","version":"0.2.0","remotes":[{"type":"streamable-http","url":"https://api.industry-lens.com/mcp/public"}],"packages":[],"tools":[{"name":"find_competitors","description":"Use when the user asks who else competes in a company's market, or wants a peer/competitor set for a given company. Given a company domain or name, returns the other companies IndustryLens tracks in the same market. Returns { covered: false } for companies not publicly tracked.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string","description":"Company domain or homepage URL (e.g. 'apollo.io'). Preferred."},"name":{"type":"string","description":"Company name (e.g. 'Apollo'). Used when no domain is given."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Max competitors (default 10, max 50)."}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_comparison","description":"Use when the user wants the full head-to-head detail for one published comparison (after finding its slug via list_comparisons). Fetches the full structured body of a published competitor comparison by slug. Returns content_json (the structured breakdown: pricing, recent moves, positioning, displacement signals, when-to-choose, etc.) plus metadata.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"slug":{"type":"string","minLength":1,"description":"Comparison slug from list_comparisons."}},"required":["slug"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_competitive_profile","description":"Use when the user asks who competes with a company, what a competitor recently did, or for a competitive overview of one or more domains. Input a company domain or name and get a privacy-safe profile: firmographics (business model, stage, HQ, plus `firmographics.funding_stage` / `last_raise` / `investors` / `employee_count` — these read `collected: false` with a plain 'not yet collected' note until that enrichment source is wired up, never a guess), recent strategic moves (the existence of a shift + a was→now summary, with the real analysis date), and links to published reports/comparisons. Returns { covered: false } for companies IndustryLens doesn't publicly track. Pass `companies` (up to 10 names/domains) instead of domain/name to look up several companies in one call — each gets its own result block, in the order given, each tagged with a `status` (account / public / not_covered / ambiguous).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string","description":"Company domain or homepage URL (e.g. 'apollo.io'). Preferred — most precise."},"name":{"type":"string","description":"Company name (e.g. 'Apollo'). Used when no domain is given."},"companies":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":10,"description":"Batch alternative to domain/name: up to 10 company names or domains. Omit domain/name when using this. Returns one profile per entry, in input order."}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_competitor_moves_diff","description":"Use when the user asks what changed, what's new, or wants a timeline of a competitor's moves. Returns the dated CHANGE-FEED for one competitor: every real was→now strategic shift IndustryLens detected, newest-first, each stamped with its real analysis date (never a fabricated date) — optionally since a given date. Input a domain or name. Returns { covered: false } with a CTA for companies not publicly tracked. Pass `companies` (up to 10 names/domains) instead of domain/name to get a change feed for several competitors in one call — each gets its own result block, in the order given.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string","description":"Company domain or homepage URL (e.g. 'apollo.io'). Preferred — most precise."},"name":{"type":"string","description":"Company name (e.g. 'Apollo'). Used when no domain is given."},"companies":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":10,"description":"Batch alternative to domain/name: up to 10 company names or domains. Omit domain/name when using this. Returns one change feed per entry, in input order; `since`/`limit` apply to every entry."},"since":{"type":"string","description":"Optional ISO date (YYYY-MM-DD). Only moves analyzed on/after this date are returned."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Max moves (default 20, max 50)."}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_market_landscape","description":"Use when the user wants an overview of a whole market/category — every player in it, not just a self-selected competitor set. Given a market (a vertical slug or name), returns the published category overview plus every player IndustryLens tracks in that market — the whole-CATEGORY map, not a self-selected competitor set. Returns the hub (title, abstract, tldr, hero_stats, url), the deduped list of players (name, domain, business_model), and `market_news` — the latest weekly market summary (narrative, top topics, new entrants, topic momentum, source URLs). Returns { covered: false } for markets IndustryLens doesn't publicly track. Use list_markets to discover slugs.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"market":{"type":"string","minLength":1,"description":"A vertical slug (exact) or market name (ILIKE), e.g. 'sales-intelligence' or 'sales intelligence'."}},"required":["market"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_pricing_changes","description":"Use when the user asks about a competitor's pricing/packaging changes, or wants a recent pricing-change feed. Returns structured pricing/packaging changes IndustryLens has detected — each with a change_type, severity, materiality score, a plain-language summary, and the real detection date. Pass a `competitor` (name or domain) to scope to one company, or omit it for a recent pricing feed. Pass `competitors` (up to 10 names/domains) instead to get a feed per company in one call, each in input order. The feed spans the markets IndustryLens publicly tracks. No other public source exposes structured competitor pricing-diffs like this.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"competitor":{"type":"string","description":"Competitor name or domain (e.g. 'Apollo' or 'apollo.io'). Omit for a market-wide recent pricing feed."},"competitors":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":10,"description":"Batch alternative to `competitor`: up to 10 competitor names or domains. Omit `competitor` when using this. Returns one pricing feed per entry, in input order; `since`/`limit` apply to every entry."},"since":{"type":"string","description":"ISO date lower bound for detection (e.g. '2026-01-01'). Defaults to 90 days ago."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Max changes (default 20, max 50)."}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_report","description":"Use when the user wants the full text of one published IndustryLens report (after finding its slug via list_reports). Fetch the full body of a published report by slug. Returns the report's structured fields plus content_html (the canonical body) and the report's web URL. There is no standalone hosted PDF file — `pdf_url` is always null (verified live: the marketing_reports.pdf_url column is unpopulated for every published report; an earlier version of this description incorrectly claimed a real generated-PDF link existed). A PDF IS available, but gated by design: `pdf_download.url` is the report's own web page, where a 'Download PDF' button opens after the reader submits a work email (IndustryLens's deliberate lead-capture gate) and then renders the PDF client-side in the browser via print-to-PDF — there is no URL an MCP client (or anything else) can fetch directly to get the PDF bytes. Never construct or guess a .pdf URL yourself; point the user at `pdf_download.url` (same as `url`) and tell them a work email is required.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"slug":{"type":"string","minLength":1,"description":"Report slug from list_reports (e.g. '/devops-hiring-q1-2026' or 'devops-hiring-q1-2026')."}},"required":["slug"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_comparisons","description":"Use when the user wants to browse published competitor-vs-competitor breakdowns, or find one involving a specific competitor, rather than fetch one specific comparison by slug. Optionally filter by a competitor name (matches either side). Each item has a slug usable with get_comparison. URLs follow https://industry-lens.com/compare/<slug>.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"competitor":{"type":"string","description":"Competitor name filter (matches either side, ILIKE)."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Max results (default 10, max 50)."}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_competitor_moves","description":"Use when the user asks what a specific competitor has recently done or changed. Returns recent tracked strategic moves for one competitor, newest-first — the existence of each shift plus a was→now summary and the real analysis date (never a fabricated date). Returns { covered: false } for companies IndustryLens doesn't publicly track, and an empty list for covered companies with no moves detected yet.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"competitor":{"type":"string","minLength":1,"description":"Competitor name or domain (e.g. 'Apollo' or 'apollo.io')."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Max moves (default 10, max 50)."}},"required":["competitor"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_markets","description":"Use when the user wants to know which B2B SaaS markets/categories IndustryLens tracks, or needs a slug for get_market_landscape. Returns the list of markets, ordered by name. Each item has a `slug` usable with get_market_landscape for the full category map.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_reports","description":"Use when the user wants to browse or discover published competitive-intelligence reports (e.g. by topic, role, or industry) rather than fetch one specific report by slug. Filter by industry or target_role; results are ordered newest-first. Each returned item has a slug usable with get_report. URLs follow https://industry-lens.com/reports/<slug>.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"industry":{"type":"string","description":"Industry filter, ILIKE match (e.g. 'hr tech', 'devops', 'fintech')."},"target_role":{"type":"string","description":"Target role filter, ILIKE match (e.g. 'marketing', 'sales', 'product')."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Max results (default 10, max 50)."}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"subscribe_to_newsletter","description":"Use ONLY after the user explicitly asks to subscribe to IndustryLens's weekly intelligence-report newsletter — never subscribe an email without their direct, informed consent. Signs the given email up and returns a confirmation. The source argument is recorded for attribution and defaults to 'mcp'.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"The email address the user explicitly asked to subscribe."},"source":{"type":"string","description":"Where the request came from (e.g. 'mcp_claude_desktop'). Defaults to 'mcp'."}},"required":["email"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":91,"grade":"A","scanned_at":"2026-11-03T01:08:09.512Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-11-03T01:08:09.451Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1567ms"]},"poisoning":{"score":15,"max":15,"notes":["12 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":15,"max":15,"notes":["last push 4 days ago"]},"identity":{"score":8,"max":10,"notes":["endpoint served from the registry-verified namespace domain"]}},"findings":[],"inputs":{"probes":[{"url":"https://api.industry-lens.com/mcp/public","reachable":true,"authRequired":false,"latencyMs":1567,"serverInfo":{"name":"industrylens-public","version":"0.1.0"}}],"packages":[],"repo":{"found":true,"owner":"IndustryLensOp","repo":"industrylens-mcp-docs","archived":false,"pushedAt":"2026-10-29T14:21:16Z","stars":0,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/267326851?v=4","ownerCreatedAt":"2026-03-11T12:01:17Z","license":"MIT"},"icon":{"url":"https://industry-lens.com/IndustryLens_Favicon.png","source":"registry","width":288,"height":288},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-10-29T14:21:16.000Z","score":23}}}},"grade_history":[{"kind":"restore","fromGrade":"B","toGrade":"A","reason":"score 91","createdAt":"2026-11-03T01:08:11.720Z"}],"reviews":[]}