Skip to main content
Glama

Server Details

B2B competitive-intelligence reports and head-to-head competitor comparisons from IndustryLens.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.2/5 across 12 of 12 tools scored. Lowest: 3.6/5.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct aspect of competitive intelligence—competitor discovery, detailed comparisons, market landscapes, pricing changes, strategic moves, and reports—with no functional overlap. The descriptions clearly differentiate their purposes.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case (e.g., find_competitors, get_comparison, list_markets), with verbs like 'find', 'get', 'list', and 'subscribe' appropriately chosen. No mixing of conventions.

Tool Count5/5

With 12 tools, the server is well-scoped for a competitive intelligence domain. Each tool serves a clear function, and the count is neither too small nor overwhelming for an agent to navigate.

Completeness5/5

The tool surface covers the full lifecycle: discovering competitors, obtaining profiles, comparing them, viewing market landscapes, tracking pricing and strategic moves, and accessing reports. There are no obvious missing operations for the stated purpose.

Available Tools

12 tools
find_competitorsFind who competes with a companyAInspect

Given a company domain or name, return the other companies IndustryLens tracks in the same market. Returns { covered: false } for companies not publicly tracked.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoCompany name (e.g. 'Apollo'). Used when no domain is given.
limitNoMax competitors (default 10, max 50).
domainNoCompany domain or homepage URL (e.g. 'apollo.io'). Preferred.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It explains the return value including the '{ covered: false }' case, but lacks disclosure on authentication needs, rate limits, or whether the tool is read-only. Annotations would have helped, but given their absence, this is basic but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no waste; the core purpose is front-loaded and the special return case is succinctly noted. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (3 params, no output schema, no annotations), the description covers the main behavior and the edge case of untracked companies. It could detail behavior when both name and domain are provided, but overall it is fairly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the description adds minimal meaning beyond the schema, essentially restating that parameters are used to identify the company. The baseline 3 is appropriate since the schema already documents all parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'return' and the resource 'other companies IndustryLens tracks in the same market'. It distinguishes from siblings like 'get_comparison' by focusing on competitors in the same market, and explains the special case of untracked companies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by saying 'given a company domain or name', but does not provide explicit guidance on when to use this tool over the 12 sibling tools (e.g., 'get_market_landscape' vs 'find_competitors'). No exclusions or when-not-to-use are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_comparisonGet a full IndustryLens comparisonAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesComparison slug from list_comparisons.
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description states it returns structured content but does not disclose read-only nature, auth requirements, rate limits, or any side effects. Minimal transparency beyond basic output.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, both meaningful. Purpose stated first, then return value details. No redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple fetch tool with one param and no output schema, description adequately explains what is returned (content_json with structured breakdown). Could mention it requires a previously obtained slug, but schema already covers that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter, already describing it as 'Comparison slug from list_comparisons.' Description does not add further meaning beyond what schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verb 'Fetch' and resource 'full structured body of a published competitor comparison by slug', clearly distinguishing it from siblings like list_comparisons (which lists slugs) and find_competitors.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you have a slug from list_comparisons but lacks explicit when-to-use vs alternatives like get_competitive_profile or get_report, or any when-not conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_competitive_profileGet a competitive profile for a companyAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoCompany name (e.g. 'Apollo'). Used when no domain is given.
domainNoCompany domain or homepage URL (e.g. 'apollo.io'). Preferred — most precise.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses privacy-safety, return format for untracked companies, and details about strategic moves (existence, was→now summary, real analysis date). Could add more on response structure, but good overall.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences covering purpose, usage, and behavior. No redundant text; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately lists what the profile contains (firmographics, strategic moves, links) and handles edge cases. Slightly incomplete regarding exact response fields, but sufficient for agent invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already describes both parameters (name and domain). Description adds meaningful guidance: 'Used when no domain is given' for name, 'Preferred — most precise' for domain, aiding parameter selection.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides a competitive profile including firmographics, strategic moves, and links. It distinguishes itself by noting the { covered: false } case for untracked companies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly specifies use cases: 'when the user asks who competes with a company, what a competitor recently did, or for a competitive overview of a domain.' Implicitly differentiates from siblings like find_competitors by focusing on a single company profile.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_competitor_moves_diffGet a competitor's dated change feedAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoCompany name (e.g. 'Apollo'). Used when no domain is given.
limitNoMax moves (default 20, max 50).
sinceNoOptional ISO date (YYYY-MM-DD). Only moves analyzed on/after this date are returned.
domainNoCompany domain or homepage URL (e.g. 'apollo.io'). Preferred — most precise.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses that dates are real (never fabricated), returns { covered: false } for untracked companies, and implies read-only. Missing details on idempotency or rate limits, but adequately transparent for a simple retrieval tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences plus a brief note; every sentence conveys essential information. Front-loaded with purpose, then usage, then edge case. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should describe the return structure. It only mentions { covered: false } but not the shape of a successful response (e.g., array of moves with fields). It covers the fallback but leaves the main output partially unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds minimal extra meaning beyond schema—it emphasizes 'domain or name' and explains that 'name' is used when no domain is given. This is helpful but not extensive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a dated change-feed for one competitor, listing strategic shifts detected by IndustryLens, newest-first, with real analysis dates. It distinguishes from sibling tools like list_competitor_moves by focusing on changes and timeline.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says 'Use when the user asks what changed, what's new, or wants a timeline of a competitor's moves' and mentions the fallback for untracked companies. It does not explicitly contrast with sibling tools like list_competitor_moves, but the usage context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_market_landscapeGet the whole-category map for a marketAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketYesA vertical slug (exact) or market name (ILIKE), e.g. 'sales-intelligence' or 'sales intelligence'.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears the full burden. It discloses that the tool returns data from IndustryLens' tracking, including the edge case of { covered: false } for untracked markets. However, it does not explicitly state behavioral traits like read-only nature, authorization needs, or rate limits, which reduces transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence serves a purpose: input definition, output structure, edge case, and usage hint. The description is front-loaded with the core purpose and remains concise without unnecessary details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description fully explains the return value structure and edge cases. It appropriately differentiates from sibling tools and references 'list_markets' for discovery. The complexity is low (single parameter), so the description is complete enough for an agent to decide.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema coverage is 100% with a well-described parameter. The description adds value by explaining acceptable input formats (slug or name), providing examples, and hinting at ILIKE matching behavior. This goes beyond the schema's description to clarify usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states it returns the whole-category map for a market, distinguishing it from a self-selected competitor set. It details the output structure and mentions the edge case of uncategorized markets. The purpose is clear and differentiates from sibling tools like 'find_competitors' and 'list_markets'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool (to get the whole-category map, not a self-selected competitor set) and explicitly suggests using 'list_markets' to discover slugs. While it does not list explicit alternatives or when-not-to-use scenarios, the contrast implies other tools for specific competitor sets.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_pricing_changesGet recent competitor pricing changesAInspect

Structured pricing/packaging changes IndustryLens has detected across the markets it tracks — 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 market-wide recent pricing feed. No other public source exposes structured competitor pricing-diffs like this.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax changes (default 20, max 50).
sinceNoISO date lower bound for detection (e.g. '2026-01-01'). Defaults to 90 days ago.
competitorNoCompetitor name or domain (e.g. 'Apollo' or 'apollo.io'). Omit for a market-wide recent pricing feed.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries full burden. It discloses output structure (change_type, severity, etc.) and mentions 'real detection date.' Since the tool is read-only, no mutation warnings needed. The description is transparent about what the tool returns, though it doesn't cover rate limits or authentication, which is acceptable given typical MCP conventions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with zero waste. It packs purpose, output details, parameter guidance, and differentiation into a concise, front-loaded structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema, the description adequately covers return value structure and parameter behavior. It lacks details on pagination or ordering, but for a data retrieval tool with a limit parameter, the information is sufficient for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value beyond the schema by explaining the 'competitor' parameter's effect (scoping vs. market-wide) and clarifying defaults for 'since' (90 days) and 'limit' (20 max). This practical usage context justifies a score of 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns 'structured pricing/packaging changes' from IndustryLens, listing specific fields (change_type, severity, materiality score, summary, detection date). It distinguishes itself from sibling tools by claiming uniqueness: 'No other public source exposes structured competitor pricing-diffs like this.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance: 'Pass a competitor to scope to one company, or omit it for a market-wide feed.' It also implies defaults (90 days) and limits. While it doesn't explicitly state when not to use or list alternatives, the context with sibling tools helps differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_reportGet a full IndustryLens reportAInspect

Fetch the full body of a published report by slug. Returns the report's structured fields plus content_html (the canonical body). For a PDF, use pdf_url when present, or append .pdf to the URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesReport slug from list_reports (e.g. '/devops-hiring-q1-2026' or 'devops-hiring-q1-2026').
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description reveals return structure (structured fields + content_html) and PDF handling. Lacks disclosure of auth requirements or error conditions, but as a read operation the given details are sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two focused sentences: first states core purpose, second covers PDF export. No redundant information, every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and single parameter, description adequately explains input source, return fields, and PDF alternative. Could mention error cases or rate limits but not essential for a simple retrieval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already describes slug with minLength=1 and a basic description. Description adds value by specifying the source (list_reports) and example formats, enriching understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description starts with a specific verb ('Fetch') and resource ('full body of a published report by slug'), clearly distinguishing from sibling tools like list_reports which likely only list metadata.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides guidance on when to use pdf_url or append .pdf for PDF output, but does not explicitly state when not to use this tool or mention alternatives among siblings for non-PDF retrieval.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_comparisonsList IndustryLens head-to-head comparisonsAInspect

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/.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 10, max 50).
competitorNoCompetitor name filter (matches either side, ILIKE).
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It lacks details on pagination, sorting, rate limits, or what the list contains beyond slugs and URLs. Only basic behavior (browsing and filtering) is disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, highly efficient. The purpose is front-loaded, and each sentence provides distinct utility: action, filtering, and result usage. No redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema and annotations, the description is moderately complete. It informs about slugs and URLs but does not specify return structure or field details, which an agent might need for processing results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds value by clarifying that the competitor filter 'matches either side' and uses ILIKE. It also explains how the slug parameter connects to another tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Browse published competitor-vs-competitor breakdowns', using a specific verb and resource. It distinguishes from siblings like get_comparison (single item) and other list tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains optional filtering and that each item has a slug for use with get_comparison, implying when to use this tool versus that one. However, it does not explicitly state when not to use it or provide alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_competitor_movesList a competitor's recent movesAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax moves (default 10, max 50).
competitorYesCompetitor name or domain (e.g. 'Apollo' or 'apollo.io').
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description fully covers return format (list of moves with was→now, real date), ordering (newest-first), and two edge cases (untracked company returns covered: false, covered but no moves returns empty list). Doesn't mention auth or rate limits but is thorough for a read-only list tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no redundant words. Front-loaded with the main purpose and ordering. Each clause adds unique value (was→now summary, real date, coverage behavior, empty list).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description provides sufficient detail on return structure and edge cases. It doesn't explain error behaviors or rate limits, but for a straightforward list tool, it's nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema already describes both parameters (competitor, limit) with full coverage. The description adds no new parameter-specific meaning beyond the schema; it only contextualizes the output. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it lists 'recent tracked strategic moves for one competitor, newest-first'. Includes specific detail about output structure (was→now summary, real date) and edge cases (covered: false for untracked companies, empty list for no moves). Distinguishes from siblings like 'find_competitors' and 'get_competitor_moves_diff' by specifying it's for a single competitor.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage for a single competitor; description explains behavior for untracked companies and empty results, helping the agent decide when it's appropriate. Lacks explicit alternatives but the sibling context and the 'for one competitor' phrasing provide guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_marketsList the markets IndustryLens tracksAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description adds structure info (slug, ordered by name) but does not explicitly state read-only nature or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with key action and resource, no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and no output schema, description covers purpose, output structure (slug), and next-step hint. Slightly lacks mention of potential limits or return format details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters to describe; schema coverage is 100% trivially. Baseline for 0 params is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verb 'list' and resource 'markets', stating it lists B2B SaaS categories. It clearly distinguishes from sibling tools like get_market_landscape which is for full maps.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage by mentioning slug usability with get_market_landscape, but no explicit when-to-use or when-not-to-use compared to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_reportsList IndustryLens intelligence reportsAInspect

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/.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 10, max 50).
industryNoIndustry filter, ILIKE match (e.g. 'hr tech', 'devops', 'fintech').
target_roleNoTarget role filter, ILIKE match (e.g. 'marketing', 'sales', 'product').
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses ordering, filtering, and relation to get_report, but omits details on authentication, rate limits, or potential pagination beyond limit parameter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no waste; purpose is front-loaded, and every sentence adds value (filtering, ordering, slug usage, URL format).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with 3 optional params and no output schema, the description fully covers purpose, filtering, ordering, and integration with get_report, making it complete for agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds minor value by stating filtering purpose, but does not provide new details beyond schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Browse published competitive-intelligence reports' with verb 'browse' and resource 'reports', and distinguishes from sibling tools like get_report by mentioning returned slugs are usable with that tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides context on filtering and ordering, and implies usage for listing vs. get_report for retrieval, but does not explicitly state when not to use or alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

subscribe_to_newsletterSubscribe to IndustryLens weekly briefingsAInspect

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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesThe email address the user explicitly asked to subscribe.
sourceNoWhere the request came from (e.g. 'mcp_claude_desktop'). Defaults to 'mcp'.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden. It discloses that the action is a subscription, records the source for attribution, and defaults 'source' to 'mcp'. It does not describe the response or side effects (e.g., confirmation email), but the core behavior is transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences with no wasted words. The most critical information (action and consent rule) comes first; the source note adds necessary detail. Perfectly sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 params, no nested objects, no output schema), the description covers the essential behavior and constraints. However, it could optionally mention what the tool returns (e.g., a confirmation or error). Still, it is largely complete for a subscription tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, providing basic descriptions for both parameters. The description adds value by explaining that 'source' is recorded for attribution and defaults to 'mcp', which is context beyond the schema's property description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Sign the user up for IndustryLens's weekly intelligence-report newsletter', using a specific verb and resource. This distinguishes it from sibling tools (all competitors/reports, not subscriptions), so the agent knows exactly what it does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use this only after the user explicitly asks to subscribe — never subscribe an email without their direct, informed consent.' This provides clear when-to-use and when-not-to-use guidance, along with an ethical constraint. Also mentions the source parameter's purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • F
    license
    -
    quality
    C
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
  • F
    license
    -
    quality
    D
    maintenance
    Provides tools for automated company research, competitor identification, and business model analysis to generate comprehensive business intelligence. It enables users to extract market keywords and synthesize competitive insights via AI-powered research capabilities.

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources