A multi-server MCP ecosystem for competitive intelligence research, consisting of 4 specialized servers: news-mcp (Google News RSS), reddit-mcp (Reddit & Hacker News), techstack-mcp (website tech detection), and wayback-mcp (Wayback Machine snapshots). Orchestrated by a Python LangGraph agent with FastAPI streaming API.
7 tools with clear naming (verb_noun pattern) and reasonable descriptions (avg 180 chars). However, critical gaps: input schemas are NOT visible in source code, only inferred from the tool descriptions provided. Parameter types and constraints are documented in descriptions but not in explicit JSON Schema definitions. No output schemas documented. Error handling is absent. Tool composition is sound (each does one thing), but lack of visible schema definitions and error guidance significantly limits production readiness.
Compares the two most recent Wayback Machine snapshots of a page to detect what changed. Particularly useful for competitor pricing pages, feature pages, and homepages. Detects pricing changes, added/removed keywords, and major content rewrites.
Detects the technology stack of a competitor's website by inspecting HTTP response headers and HTML source. Reveals their CDN, hosting, analytics tools, CRM, frontend framework, cloud provider, and payment processors. Changes in tech stack signal strategic shifts.
Returns a history of when the Wayback Machine archived a specific page. Use this to see how frequently a competitor updates a key page (pricing, features, homepage) and when the most recent changes happened.
Searches Google News RSS for recent articles about a competitor company. Returns titles, sources, and publish dates. Use this to find press coverage, product launches, funding news, and executive changes.
Searches Hacker News for stories and discussions about a company or technology. HN is read by founders, engineers, and investors — high traction here signals strong industry mindshare. Useful for spotting technical criticism, acquisition rumors, and product launches discussed by insiders.
Input schemas not visible in source code. Tool definitions inferred from descriptions only; no explicit JSON Schema registration found in mcp-servers/ TypeScript files.
No output schemas documented. Tools return text results (via call_mcp_tool wrapper), but structured output format is not specified. LLMs cannot plan downstream tool chains or extract typed fields.
No error handling or recovery guidance. Tools return raw text or 'MCP server error' with stderr dump. No categorization of errors as retryable, user-fixable, or fatal. No actionable error messages.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
Searches Reddit for posts mentioning a company or topic. Returns post titles, scores, comment counts, and previews. High scores and comment counts indicate strong community sentiment — positive or negative. Useful for finding user complaints, feature requests, and competitor comparisons.
Searches Google News RSS for a broader topic or keyword — useful for industry trends, regulatory news, or technology shifts that affect a competitor's market. E.g. 'buy now pay later regulation' or 'fintech layoffs 2025'.
Descriptions contain example values (e.g., 'PayPal', 'Stripe', 'notion.so/pricing'). LLMs tend to reuse examples literally rather than adapt to context, risking incorrect tool invocations.
No pagination or result limits enforced in tool descriptions. search_* tools accept max_results (1-10) but no guidance on what happens if API returns fewer results or if pagination is needed for large datasets.