Skip to main content
Glama
mambalabsdev

Website Phrase and Business Model Classifier MCP Server

Classify company websites

classify_website
Read-only

Classify company websites as B2B, B2C, SaaS, ecommerce, agency, manufacturer, wholesaler, distributor, or marketplace, and match your buyer phrases by reading pages and returning quoted evidence.

Instructions

Classify company websites from their own pages. Give domains (up to 500) and optionally your own phrases. For each domain the actor reads the homepage and up to 5 linked pages (about, products, services, wholesale, manufacturing, industries, pricing) and returns one row: business_model b2b, b2c, both, or unknown with the signals found; is_saas, is_ecommerce, is_agency, is_manufacturer, is_wholesaler, is_distributor, is_marketplace; phrases_matched and phrases_negated; and top_evidence_text with top_evidence_url quoting the page. Rules are deterministic, no language model. Unreachable, blocked, robots.txt disallowed, and empty sites come back free with a row_status saying so. A run that does not succeed is returned as an error with its run ID. Read-only; requires an APIFY_TOKEN; Apify charges per domain classified.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
domainNoOne company domain, for example lodgecastiron.com.
domainsNoCompany domains or website addresses, up to 500.
phrasesNoYour buyer phrases to look for, for example clay agency or private label. Whole words, plurals included, case ignored; a hit inside a negation does not count. Up to 25.
max_pagesNoPages read per site, homepage included, 1 to 10. Default 6.
categoriesNoBusiness categories to test. Empty means all seven.
proxy_modeNoauto (default) retries a refusing site through the Apify proxy at no extra cost; direct never uses a proxy.
max_charge_usdNoOptional. The run stops before a charge would pass this amount.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations (readOnly, openWorld, non-idempotent, non-destructive): it discloses that rules are deterministic with no language model, that failed runs surface as errors carrying a run ID, that an APIFY_TOKEN is required, and that Apify charges per domain classified. This is exactly the cost/auth/behavior context an agent needs before invoking.

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?

Effectively one dense paragraph, but it is front-loaded with the core action and every clause carries new information (inputs, crawl scope, output fields, edge cases, auth, billing) with no filler. Slightly heavy to scan as a single block, which keeps it off a 5.

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 7-parameter tool with no output schema, the description enumerates the returned fields (business_model values, the seven boolean category flags, phrases_matched/phrases_negated, top_evidence_text/url, row_status) and covers failure and billing behavior. Nothing an agent needs in order to call it correctly is missing.

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 the baseline is 3, but the description adds real meaning: it spells out the page types read, how phrase matching works (whole words, plurals included, case ignored, hits inside negations do not count), and the domain cap of 500. It adds enough beyond the schema to merit a 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?

States a specific verb and resource ('Classify company websites from their own pages') and immediately defines the input unit (domains) and the output unit (one row per domain). No siblings exist, so no differentiation is needed, and the purpose is unambiguous.

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?

Gives clear operating context: supply up to 500 domains, optionally your own phrases, and notes that unreachable/blocked/robots-disallowed/empty sites are returned free rather than failing. It does not state any explicit when-not-to-use condition, but with no siblings there is little to exclude.

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

Deploy Server

Other Tools