MCP Server

IndustryLens

com.industry-lens/mcp-public
Business & Operations Search & Research Public & reachable MCP 2025-11-25

What this MCP does

Provides B2B SaaS competitive intelligence on companies, markets, pricing changes, strategic moves, reports, comparisons, and market landscapes.

find_competitors
Find who competes with a company
Given a company domain or name, return the other companies IndustryLens tracks in the same market. Returns { covered: false } for companies not publicly tracked.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'name': {'type': 'string', 'description': "Company name (e.g. 'Apollo'). Used when no domain is given."}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Max competitors (default 10, max 50).'}, 'domain': {'type': 'string', 'description': "Company domain or homepage URL (e.g. 'apollo.io'). Preferred."}}, 'additionalProperties': False}
get_comparison
Get a full IndustryLens comparison
Fetch 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.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'minLength': 1, 'description': 'Comparison slug from list_comparisons.'}}, 'additionalProperties': False}
get_competitive_profile
Get a competitive profile for a company
Use when the user asks who competes with a company, what a competitor recently did, or for a competitive overview of a domain. Input a company domain or name and get a privacy-safe profile: firmographics, 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.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'name': {'type': 'string', 'description': "Company name (e.g. 'Apollo'). Used when no domain is given."}, 'domain': {'type': 'string', 'description': "Company domain or homepage URL (e.g. 'apollo.io'). Preferred — most precise."}}, 'additionalProperties': False}
get_competitor_moves_diff
Get a competitor's dated change feed
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). Use when the user asks what changed, what's new, or wants a timeline of a competitor's moves — optionally since a given date. Input a domain or name. Returns { covered: false } with a CTA for companies not publicly tracked.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'name': {'type': 'string', 'description': "Company name (e.g. 'Apollo'). Used when no domain is given."}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Max moves (default 20, max 50).'}, 'since': {'type': 'string', 'description': 'Optional ISO date (YYYY-MM-DD). Only moves analyzed on/after this date are returned.'}, 'domain': {'type': 'string', 'description': "Company domain or homepage URL (e.g. 'apollo.io'). Preferred — most precise."}}, 'additionalProperties': False}
get_market_landscape
Get the whole-category map for a market
Given a market (a vertical slug or name), return 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.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['market'], 'properties': {'market': {'type': 'string', 'minLength': 1, 'description': "A vertical slug (exact) or market name (ILIKE), e.g. 'sales-intelligence' or 'sales intelligence'."}}, 'additionalProperties': False}
get_pricing_changes
Get recent competitor pricing changes
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. The feed spans the markets IndustryLens publicly tracks. No other public source exposes structured competitor pricing-diffs like this.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Max changes (default 20, max 50).'}, 'since': {'type': 'string', 'description': "ISO date lower bound for detection (e.g. '2026-01-01'). Defaults to 90 days ago."}, 'competitor': {'type': 'string', 'description': "Competitor name or domain (e.g. 'Apollo' or 'apollo.io'). Omit for a market-wide recent pricing feed."}}, 'additionalProperties': False}
get_report
Get a full IndustryLens report
Fetch the full body of a published report by slug. Returns the report's structured fields plus content_html (the canonical body). pdf_url is currently empty for every report (PDF generation is disabled pipeline-side); do not construct or suggest a .pdf URL — there is no such route. Point users to the report's web URL, or to the site's gated PDF-download form if one exists.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'minLength': 1, 'description': "Report slug from list_reports (e.g. '/devops-hiring-q1-2026' or 'devops-hiring-q1-2026')."}}, 'additionalProperties': False}
list_comparisons
List IndustryLens head-to-head comparisons
Browse published competitor-vs-competitor breakdowns. 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>.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Max results (default 10, max 50).'}, 'competitor': {'type': 'string', 'description': 'Competitor name filter (matches either side, ILIKE).'}}, 'additionalProperties': False}
list_competitor_moves
List a competitor's recent moves
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.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['competitor'], 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Max moves (default 10, max 50).'}, 'competitor': {'type': 'string', 'minLength': 1, 'description': "Competitor name or domain (e.g. 'Apollo' or 'apollo.io')."}}, 'additionalProperties': False}
list_markets
List the markets IndustryLens tracks
List the B2B SaaS markets (categories) IndustryLens monitors. Each item has a `slug` usable with get_market_landscape for the full category map. Ordered by name.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
list_reports
List IndustryLens intelligence reports
Browse published competitive-intelligence reports. 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>.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Max results (default 10, max 50).'}, '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')."}}, 'additionalProperties': False}
subscribe_to_newsletter
Subscribe to IndustryLens weekly briefings
Sign the user up for IndustryLens's weekly intelligence-report newsletter. Use this only after the user explicitly asks to subscribe — never subscribe an email without their direct, informed consent. The source argument is recorded for attribution and defaults to 'mcp'.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['email'], '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'."}}, 'additionalProperties': False}
Added
get_market_landscape
Sept. 17, 2026, 12:35 p.m.
Added
list_markets
Sept. 17, 2026, 12:35 p.m.
Added
get_pricing_changes
Sept. 17, 2026, 12:35 p.m.
Added
get_competitor_moves_diff
Sept. 17, 2026, 12:35 p.m.
Added
subscribe_to_newsletter
Sept. 17, 2026, 12:35 p.m.
Added
get_comparison
Sept. 17, 2026, 12:35 p.m.
Added
list_comparisons
Sept. 17, 2026, 12:35 p.m.
Added
get_report
Sept. 17, 2026, 12:35 p.m.
Added
list_reports
Sept. 17, 2026, 12:35 p.m.
Added
find_competitors
Sept. 17, 2026, 12:35 p.m.
Added
list_competitor_moves
Sept. 17, 2026, 12:35 p.m.
Added
get_competitive_profile
Sept. 17, 2026, 12:35 p.m.