AI Business Intelligence MCP Server — competitive analysis, web presence scoring, review analysis, and market research
The server defines 8 tools with complete Zod schemas and descriptions. However, there are systematic quality gaps: (1) Tool names lack clear action verbs, 'analyze_competitors', 'industry_research', 'swot_analysis' read more as nouns or descriptive phrases than imperative actions; (2) Descriptions are present but generic, averaging ~150 chars with minimal context on WHEN to use each tool or what differentiates it from similar tools; (3) Pro-tier tools are gated at runtime but not clearly marked in schema or naming, forcing the LLM to discover tier requirements via error messages; (4) Output schemas are NOT documented, we see Zod input validation but no description of what fields clients should expect in responses; (5) Error handling is minimal, the code shows tier-gating errors but no guidance for recovery or actionable next steps; (6) Tool composition is weak, many tools appear to overlap (analyze_competitors vs swot_analysis both analyze a business; industry_research vs market_trends both study industries), yet there is no clear guidance on which to call when. On the positive side: all tools have input schemas with types and descriptions, parameter constraints are reasonably explicit (e.g., 'format: url' for website_url), and there are no missing required parameters in the visible definitions.
Analyze the competitive landscape for a business. Returns competitor profiles, market positioning, strengths/weaknesses, and strategic recommendations.
🔒 [Business] Generate professional business plan sections with real market data. Covers executive summary, market analysis, financial projections, operations, and more.
🔒 [Pro] Build detailed customer personas with demographics, psychographics, buying behavior, and pain points. Uses real market data to create actionable buyer profiles.
Research any industry in depth. Returns market size, growth trends, key players, customer segments, opportunities, challenges, and strategic recommendations.
🔒 [Pro] Deep local market intelligence. Analyzes competition density, demographics, demand indicators, and growth opportunities in a specific geographic area.
Tool names lack imperative action verbs. Most are nouns or descriptive phrases (industry_research, swot_analysis, market_trends, customer_persona, pricing_analysis, local_market_analysis, business_plan_section). LLMs struggle to infer intent from noun-based names and cannot disambiguate similar-sounding tools.
Output schemas are not documented. All tools return { content: [{ type: 'text', text: result }] } but the structure and content of 'result' (the actual response data) is not specified. LLMs cannot plan downstream operations or extract fields without knowing what fields are returned.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 61 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 32 | - | v1 |
Track emerging market trends for any industry. Analyzes growth patterns, technology shifts, consumer behavior changes, and competitive dynamics.
🔒 [Pro] Analyze competitive pricing strategies. Compare market rates, identify pricing opportunities, and get data-backed pricing recommendations.
Generate a comprehensive SWOT analysis for any business. Evaluates strengths, weaknesses, opportunities, and threats using real-time competitive data.
No error handling guidance. Tools return tier-gating errors at runtime ('requires Pro or Business tier subscription') but do not guide the LLM on recovery (e.g., 'Upgrade at https://...', 'Try a free-tier tool instead'). Errors should be actionable per pattern:recovery-guide.
Tool composition is unclear. Multiple tools appear to overlap: analyze_competitors vs swot_analysis (both analyze a business), industry_research vs market_trends (both research industries). Descriptions do not explain which to call when, forcing the LLM to try both or guess.
Enum constraints are incomplete. section_type values are listed in the description ('executive_summary', 'market_analysis', ...) but not formalized as z.enum([...]) in the Zod schema. This allows hallucinated values and requires the LLM to infer valid options from free-text description rather than machine-readable constraint.
Tier-gating is embedded in descriptions and enforced at runtime, not declared in schema. Pro-tier tools are labeled with emoji and [Pro] tag in descriptions but have no schema annotation (e.g., toolAnnotations for readOnlyHint or destructiveHint might signal tier-sensitive nature). LLM must discover tier requirements via failed execution.
Descriptions are generic and do not clearly explain WHEN to use each tool. All tools claim to do 'comprehensive' or 'deep' analysis, but lack differentiation. For example, market_trends and industry_research both mention 'growth trends' and 'key players'; descriptions do not clarify which to prefer for a given user intent.