IndustryLens
by industry-lens.com · remote · no sign-in to list tools · v0.2.0 · published by com.industry-lens
B2B SaaS competitor pricing changes, strategic moves, market landscapes, reports and comparisons.
12 tools: 1 change things and 11 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things1Claude Code: ask: see these tools
- Only reads11Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http public https://api.industry-lens.com/mcp/publicTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
12 tools
Changes things 1Claude Code: ask
subscribe_to_newsletterUse ONLY after the user explicitly asks to subscribe to IndustryLens's weekly intelligence-report newsletter — never subscribe an email without their direct, informed consent.No findings
Why it is in this group
- The name "subscribe_to_newsletter" says "subscribe": a word for a change.
Description, as the server wrote it 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'.
Only reads 11Claude Code: allow
find_competitorsUse when the user asks who else competes in a company's market, or wants a peer/competitor set for a given company.No findings
Why it is in this group
- The name "find_competitors" says "find": a word for reading.
Description, as the server wrote it 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.
get_comparisonUse when the user wants the full head-to-head detail for one published comparison (after finding its slug via list_comparisons).No findings
Why it is in this group
- The name "get_comparison" says "get": a word for reading.
Description, as the server wrote it 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.
get_competitive_profileUse when the user asks who competes with a company, what a competitor recently did, or for a competitive overview of one or more domains.No findings
Why it is in this group
- The name "get_competitive_profile" says "get": a word for reading.
Description, as the server wrote it 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).
get_competitor_moves_diffUse when the user asks what changed, what's new, or wants a timeline of a competitor's moves.No findings
Why it is in this group
- The name "get_competitor_moves_diff" says "get": a word for reading.
Description, as the server wrote it 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.
get_market_landscapeUse when the user wants an overview of a whole market/category — every player in it, not just a self-selected competitor set.No findings
Why it is in this group
- The name "get_market_landscape" says "get": a word for reading.
Description, as the server wrote it 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.
get_pricing_changesUse when the user asks about a competitor's pricing/packaging changes, or wants a recent pricing-change feed.No findings
Why it is in this group
- The name "get_pricing_changes" says "get": a word for reading.
Description, as the server wrote it 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.
get_reportUse when the user wants the full text of one published IndustryLens report (after finding its slug via list_reports).No findings
Why it is in this group
- The name "get_report" says "get": a word for reading.
Description, as the server wrote it 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.
list_comparisonsUse 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.No findings
Why it is in this group
- The name "list_comparisons" says "list": a word for reading.
Description, as the server wrote it 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>.
list_competitor_movesUse when the user asks what a specific competitor has recently done or changed.No findings
Why it is in this group
- The name "list_competitor_moves" says "list": a word for reading.
Description, as the server wrote it 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.
list_marketsUse when the user wants to know which B2B SaaS markets/categories IndustryLens tracks, or needs a slug for get_market_landscape.No findings
Why it is in this group
- The name "list_markets" says "list": a word for reading.
Description, as the server wrote it 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.
list_reportsUse when the user wants to browse or discover published competitive-intelligence reports (e.g.No findings
Why it is in this group
- The name "list_reports" says "list": a word for reading.
Description, as the server wrote it 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>.
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.2.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http public https://api.industry-lens.com/mcp/publicRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__public__get_competitive_profile",
"mcp__public__list_competitor_moves",
"mcp__public__find_competitors",
"mcp__public__list_reports",
"mcp__public__get_report",
"mcp__public__list_comparisons",
"mcp__public__get_comparison",
"mcp__public__get_competitor_moves_diff",
"mcp__public__get_pricing_changes",
"mcp__public__list_markets",
"mcp__public__get_market_landscape"
],
"ask": [
"mcp__public__subscribe_to_newsletter"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as public. Review it before you use it.