Why-Now Deal Intelligence Agent powered by Bright Data + Claude. MCP-compatible server that analyzes companies for sales/GTM intelligence using web signals (news, funding, hiring, product launches, competitor activity).
Three tools with complete input schemas and descriptions. Naming follows verb_noun pattern (analyze_, get_, compare_). Descriptions are detailed (150-250 chars) and explain WHAT/WHEN/HOW. However, output schemas are entirely undocumented, LLMs cannot plan downstream calls or extract structured data. Parameters lack type constraints (enums, ranges). Error handling is absent from tool specs. No tool annotations (readOnlyHint present in metadata but not in schema). Missing pagination guidance for get_evidence despite returning 'evidence rows'.
Run the full SignalScout AI Why-Now intelligence pipeline for one company. Fires Bright Data SERP API (×2) and Web Unlocker live in request for news/funding/product signals, competitor discovery, and full article text extraction. Hiring data is loaded from a pre-warmed Bright Data Web Scraper snapshot if available (fresh Web Scraper jobs are triggered out-of-band via /warmup or /scraper/refresh, never blocking /analyze). Returns deterministic scores from scoring.py (research-informed heuristic, not LLM) plus an LLM-synthesized executive summary.
Compare two companies side-by-side. Returns score deltas across Why-Now / Buying Intent / Expansion / Competitor Threat dimensions, plus attribution of which signal kinds drive the difference.
Return live evidence rows for a company, optionally filtered by signal kind. Each row links to the source URL pulled from Bright Data — fully auditable.
Output schemas completely undocumented. Tool descriptions mention 'returns deterministic scores', 'evidence rows', 'score deltas' but no structured schema is provided. LLMs cannot plan multi-step workflows or extract typed fields.
get_evidence accepts 'signal_kind' as free-form string with inline enum hint ('hiring|funding|product|...') in description. Should be formal enum constraint in schema for LLM clarity and validation.
No pagination parameters (limit, offset, page, cursor) on get_evidence despite returning 'evidence rows'. Large result sets will blow context window. Missing total_count or next_cursor in undocumented output.
No error handling guidance in tool specs. What happens if company name is not found? Is it retryable? Should the agent ask the user? No recovery hints provided.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Tool annotations (readOnlyHint, destructiveHint, idempotentHint) not present in TOOLS_SPEC schemas. All three tools are read-only but this is not formally declared in the schema.