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.1/5 across 10 of 12 tools scored. Lowest: 3.1/5.

Server CoherenceA
Disambiguation4/5

Most tools have distinct purposes (e.g., find_competitors vs. get_comparison), but get_competitor_moves_diff and list_competitor_moves overlap in showing competitor moves, differing mainly in date filtering. Similarly, get_competitive_profile and find_competitors both deal with competitors but at different granularity. Overall, an agent can distinguish them with careful reading.

Naming Consistency4/5

Tools follow a consistent verb_noun pattern (find_, get_, list_, subscribe_) using snake_case. Minor inconsistencies exist: 'competitive' vs. 'competitor' in get_competitive_profile vs. get_competitor_moves_diff, and 'competitors' vs. 'competitor' in find_competitors. Otherwise well-structured.

Tool Count5/5

12 tools is well-scoped for a competitive intelligence server. Each tool serves a clear function without redundancy, covering discovery, profiles, comparisons, moves, markets, pricing, reports, and subscriptions.

Completeness4/5

The tool set covers core competitive intelligence operations: market/competitor discovery, profiles, strategic moves, comparisons, pricing changes, reports, and newsletter subscriptions. Minor gaps exist (e.g., no tool for unstructured search across all data), but the domain is well-covered.

Available Tools

12 tools
find_competitorsFind who competes with a companyBInspect

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 provided, the description is responsible for behavioral disclosure. It explains the basic behavior (returns competitors or {covered: false}) but omits details such as whether the tool is read-only, requires authentication, or has rate limits. This is adequate but not thorough.

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

Conciseness4/5

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

The description is concise with two sentences, front-loading the main purpose. There is no superfluous text; each sentence adds value. It could be slightly more structured but is efficient.

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

Completeness2/5

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

No output schema is provided, yet the description only hints at the return format ('{covered: false}'). The full success response structure is not described, which is a significant gap for an AI agent trying to parse and use the results. More detail about the returned company objects is needed.

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?

The input schema covers 100% of parameters with descriptions. The description adds little beyond the schema, e.g., noting that domain is preferred. It does not explain how 'name' and 'domain' interact, which is a minor gap.

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

Purpose4/5

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

The description clearly states the verb (return competitors) and resource (companies tracked by IndustryLens) and mentions the output format. However, it does not explicitly differentiate from sibling tools like 'get_comparison' or 'list_competitor_moves', leaving some ambiguity.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool vs. siblings. The description only explains what it does, not when it should be preferred or what prerequisites exist. The list of sibling tools is provided but not leveraged for comparison.

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

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

No annotations provided; description indicates a read operation (fetch) and mentions return payload, but lacks disclosure on side effects, rate limits, or prerequisites (e.g., authentication).

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 concise sentences: first states core action and output, second details return structure. No redundant information.

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 a simple single-parameter fetch tool with no output schema, the description sufficiently covers purpose, parameter origin, and output structure. Slight lack of metadata details, but adequate.

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 has 100% description coverage; the slug parameter is described as 'Comparison slug from list_comparisons' in both schema and description. Description does not add meaningful extra semantics 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 clearly states the action ('fetch'), the resource ('full structured body of a published competitor comparison'), and the method ('by slug'). It distinguishes from sibling 'list_comparisons' which lists slugs, and the output details help differentiate from 'get_report'.

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?

Implies usage after obtaining a slug from 'list_comparisons', but does not explicitly state when to use or not use this tool nor mention alternatives beyond implicit context from sibling names.

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?

With no annotations, the description carries the full burden. It discloses output structure: firmographics, recent strategic moves (with existence and summary), links to reports, and the '{ covered: false }' case for untracked companies. It omits potential behavioral details like rate limits or authentication, but these are not critical for a read-only lookup.

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 with no waste. Front-loaded with use cases, followed by input/output details and an edge case. Every sentence serves a purpose.

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 lack of an output schema, the description covers key output components (firmographics, moves, reports) and special return value. While it doesn't enumerate all firmographics fields, it provides sufficient detail for typical use. The context of sibling tools helps define boundaries.

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 parameters are already documented. The description adds value by explaining input preference (domain over name) and fallback behavior. It reinforces 'Input a company domain or name,' complementing the schema without redundancy.

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 retrieves a competitive profile for a company, specifying use cases (who competes, competitor activity, competitive overview) and output (firmographics, strategic moves, reports). It distinguishes from siblings like 'find_competitors' by focusing on a detailed profile rather than just listing competitors.

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 use cases (user asking about competitors, competitor actions, or overview) and explains input options (domain preferred, name fallback). It does not directly exclude alternatives or state when not to use, but the context of sibling tools implies when to choose this over others.

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 states returns { covered: false } with a CTA for untracked companies, and emphasizes dates are real analysis dates never fabricated. Does not mention side effects (implied read-only), limit behavior, or pagination, but adequately covers key behavioral aspects.

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 concise sentences, front-loaded with the main purpose. Every sentence provides essential information without redundancy.

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 4 parameters, no output schema, and no annotations, the description covers the return value, filtering, edge case of untracked companies, and ordering (newest-first). Could mention search behavior (fuzzy or exact) or more detail on the 'change feed' format, but overall fairly complete.

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%, baseline 3. Description adds value by explaining preference for domain over name ('Preferred — most precise'), and clarifies that 'since' accepts an ISO date and filters moves analyzed on/after that date. Adds meaning beyond 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?

Clearly states it returns a 'dated CHANGE-FEED' for one competitor, describing the content as 'real was→now strategic shifts' detected by IndustryLens, newest-first. This distinguishes it from sibling tools like list_competitor_moves (likely lists all moves) and get_comparison (comparison between competitors).

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?

Explicitly states when to use: when user asks what changed, what's new, or wants a timeline. Mentions optional since-date filtering. Does not explicitly say when not to use but the context from sibling names implies alternatives.

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'.
Behavior4/5

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

Discloses return structure including the hub, players, market_news, and the 'covered: false' case for untracked markets. With no annotations, the description carries the disclosure burden well, though it omits mentions of latency, auth, or rate limits.

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

Conciseness4/5

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

Description is front-loaded with core purpose and returns, then details output components. Slightly verbose but every sentence adds value; no redundant information.

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 provides a comprehensive overview of return values. It lacks details on error handling beyond the untracked case, but it is sufficient for a tool with one parameter and simple output structure.

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 has 100% coverage, and description adds value by explaining the parameter 'market' can be a vertical slug or name with examples ('sales-intelligence' or 'sales intelligence'), clarifying format beyond the schema's 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?

Description uses specific verb 'return the published category overview plus every player' and resource 'market', clearly stating it is the whole-category map rather than a self-selected competitor set, which distinguishes it from siblings like 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 Guidelines5/5

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

Explicitly states when to use ('given a market'), what returns when market is not tracked, and directs to use list_markets to discover slugs, which provides clear guidance on alternatives.

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

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

No annotations provided, so description bears full burden. It discloses output structure and filtering behavior but does not mention mutation status, authorization, rate limits, or data freshness. Some behavioral context is given, but gaps remain.

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: first describes output, second explains parameter usage, third adds uniqueness claim. No waste, front-loaded with key information.

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?

Tool has 3 params, no output schema, no annotations. Description explains output fields and parameter usage well. It does not mention pagination or ordering, but the field list helps agents anticipate response structure. Reasonably complete given complexity.

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%, baseline 3. The description adds value for the competitor parameter by explaining its effect (scope to one company vs market-wide). For limit and since, the schema already covers defaults, so description does not repeat but does not contradict.

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 it returns 'structured pricing/packaging changes' with specific fields (change_type, severity, materiality score, summary, date). It distinguishes from sibling tools like find_competitors or get_comparison by focusing on recent pricing changes detected by IndustryLens.

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 explicitly says to pass a competitor to scope to one company or omit for market-wide feed, and claims uniqueness. It doesn't explicitly exclude alternatives like get_competitor_moves_diff, but the 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_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').
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It discloses that the tool returns structured fields plus content_html and mentions PDF handling. However, it does not explicitly state that it is a read-only operation, nor does it address potential errors or authentication needs.

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 concise: two sentences, no superfluous content. The first sentence clearly states purpose, the second adds important PDF guidance. Every sentence is necessary and front-loaded.

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 single-parameter tool with no output schema, the description is fairly complete. It covers how to obtain the slug, what is returned, and PDF handling. However, it lacks any note on error handling or that the operation is read-only, which would improve completeness.

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?

The only parameter (slug) has 100% schema coverage with an example. The description adds little beyond the schema, simply restating usage. The PDF guidance is about output rather than the parameter itself, so minimal added value for parameter semantics.

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 'Fetch the full body of a published report by slug', specifying the verb (fetch), resource (report), and scoping (published). It also distinguishes from siblings like list_reports (which lists reports) and get_comparison (a different resource).

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 guidance on using the slug from list_reports and how to obtain a PDF version. It implicitly guides usage for the primary case, but does not explicitly state when not to use this tool or mention alternatives among siblings.

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).
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It implies a read-only list operation ('Browse'), but does not explicitly state that it is non-destructive, nor does it disclose ordering, pagination, or rate limits. The mention of 'ILIKE' matching is useful but assumes SQL knowledge.

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 concise sentences with front-loaded purpose, filter option, and cross-reference to get_comparison. Every sentence adds value; 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?

No output schema exists, so description should explain return values. It mentions 'Each item has a slug' but does not describe other fields, pagination, ordering, or total count. For a simple list tool with two optional params, this is adequate but leaves gaps for an agent needing comprehensive understanding.

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 both parameters have descriptions already. The description adds no new parameter meaning beyond the schema—it rephrases the competitor filter as 'matches either side' and mentions the slug indirectly. Baseline 3 is appropriate as the schema already documents the 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 tool lists 'competitor-vs-competitor breakdowns', uses the verb 'Browse' which implies listing, and distinguishes itself from sibling tool 'get_comparison' by mentioning that each item has a slug for that tool. This provides specific resource and action identification.

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 states an optional filter by competitor name and explains how to use the slug with get_comparison, giving clear context for when to use this tool versus its sibling. However, it does not explicitly mention when not to use it or alternative tools, but the guidance is still effective.

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').
Behavior5/5

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

No annotations exist, so the description fully covers behavioral traits: newest-first order, was→now summary, real analysis date, and edge cases (returning {covered: false} for untracked companies, empty list for tracked but no moves). This is comprehensive.

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

Conciseness4/5

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

The description is a single sentence that packs significant detail efficiently. It is front-loaded with the core purpose. Slight room for improvement by separating edge cases, but still concise.

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?

No output schema, so description compensates by detailing return formats for various scenarios (untracked, no moves). It explains the structure of each move (existence, summary, date). However, it could clarify what constitutes a 'move' more explicitly.

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 has 100% coverage with descriptions for both parameters. The description does not add new parameter-level details beyond what's in the schema; it instead focuses on output structure, which is acceptable but not enhancing parameter understanding.

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 title and description clearly state the tool lists recent strategic moves for a single competitor, newest-first. It distinguishes itself from siblings by focusing on tracked moves for one competitor, with specific return behaviors.

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 use for getting moves of a specific competitor but does not explicitly state when to use versus alternatives like find_competitors or get_comparison. No when-not guidance or alternative suggestions.

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?

The description indicates a read operation ('List'), but with no annotations provided, it fails to disclose behavioral traits like read-only status, side effects, or permissions. The description is minimal and relies on inference rather than explicit disclosure.

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 succinct sentences (30 words) that are front-loaded with the main action. Every sentence adds value: the first lists what the tool does, the second details an important property of the items.

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?

The description mentions slug and ordering by name, but does not specify the full return structure (e.g., what other fields like 'name' or 'id' are present). Without an output schema, more detail on the item format would improve completeness for an agent.

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 tool has zero parameters, so the schema provides no information. The description adds meaning by explaining that items contain a slug (usable with get_market_landscape) and are ordered by name, fulfilling the needed context beyond the empty 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?

The description clearly states it lists B2B SaaS markets (categories) monitored by IndustryLens, specifies that items contain a slug for use with another tool, and notes ordering by name. This is specific and distinguishes it from sibling tools like list_reports or list_competitor_moves.

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 for obtaining a list of markets and hints at a workflow (slug for get_market_landscape), but does not explicitly state when to use or not use this tool compared to alternatives. No exclusion criteria or prerequisites are mentioned.

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?

No annotations provided, but the description discloses ordering behavior, filtering, and the URL pattern. It doesn't mention pagination or default limit, which is partially covered by the schema. Overall, it gives a good sense of what to expect.

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 concise, under 50 words, and front-loads the purpose. Every sentence adds value without redundancy.

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 hints at the returned structure (slug, presumably title/date) but doesn't list all fields. For a list tool with clear filtering and ordering, this is adequate but could be slightly more explicit about the result fields.

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 covers all three parameters with descriptions (100% coverage). The description adds context that results are ordered newest-first and that the slug is usable with get_report, which is valuable beyond 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?

The description clearly states the tool browses published competitive-intelligence reports, with filtering by industry or target_role. It distinguishes itself from siblings like get_report (specific report by slug) and list_comparisons.

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 filtering options and ordering (newest-first), and hints at chaining with get_report via slug. However, it doesn't explicitly state when to use this tool versus alternatives like get_report or list_comparisons.

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 provided, so description carries full burden. It discloses the subscription action, consent requirement, and source attribute. Could add detail on immediate effect or confirmation, but sufficient for a simple 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?

Three clear sentences: purpose, usage guideline, parameter detail. No fluff, front-loaded, and each 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 the simplicity (2 params, no output schema), the description covers the core action and consent. Missing details like immediate vs. confirmed subscription, but overall adequate for agent usage.

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 has 100% coverage with descriptions for both parameters. The tool description adds minimal extra context (e.g., 'recorded for attribution' for source). Baseline 3, as it does not significantly enhance 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?

The description clearly states the verb 'Sign the user up' and the resource 'IndustryLens's weekly intelligence-report newsletter,' differentiating it from sibling tools like 'get_comparison' which are for retrieving reports.

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 instructs to use only after explicit user consent and not to subscribe without direct, informed consent. Provides clear when-to-use guidance and a warning against misuse.

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!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources