Exposes the BrunoSan AI News intelligence layer as MCP tools. Provides access to 88,000+ AI and tech articles from 10,500+ curated sources with 77,000+ tracked entities. Read-layer only for article search, trending analysis, entity tracking, and signal strength scoring.
Strong foundation with 8 well-named, verb-prefixed tools and comprehensive parameter schemas. All tools have descriptions (avg 156 chars) and input schemas with types, defaults, and constraints. However, output schemas are not documented in the source code, LLMs cannot see what fields to expect from responses. Parameter descriptions are solid but lack dependency hints and recovery guidance. Error handling is minimal; no guidance on retryability or next steps. Security: API keys are correctly exposed as parameters (per spec for MCP), but no mention of rate limiting or input sanitization.
Retrieve the fact profile (structured metadata) for a specific article. Returns article details, extracted entities, topics, and relevance scores.
Search for entities (companies, people, products, regions) by name. Returns matching entities with type and mention count.
Retrieve a daily digest of top trending clusters for a given date. Returns a summary of the day's major news stories with representative articles.
Retrieve recent articles mentioning a specific entity (person, company, product, region). Returns articles with title, teaser, source, URL, and publication date.
Search the BrunoSan news database by keyword. Returns matching articles with title, teaser, source, URL, and publication date.
Retrieve articles scored by signal strength (relevance to AI, business, regulation, risk, cost, operations, or Mittelstand impact). Returns high-signal articles from the last N days.
Output schemas not documented. LLMs cannot see what fields responses contain (e.g., does news_search return 'source_url' or 'url'? 'publication_date' or 'published_at'?). This forces agents to guess field names and breaks tool chaining.
No error handling guidance. Tools lack descriptions of failure modes, retryability, or recovery steps. E.g., if news_search returns 0 results, should the agent retry with a broader query or try entity_search instead?
Parameter descriptions lack dependency hints. E.g., news_trending accepts an optional 'date' but does not explain what happens if the date has no data, or how to discover available dates. article_fact_profile requires 'article_id' (UUID format) but does not explain how to obtain one.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 69 | 2026-07-28+ | v2 |
Retrieve the top news sources by article count. Returns source domain and number of articles published.
Retrieve trending news clusters for a given date. Each cluster represents a story with multiple articles. Returns cluster ID, representative title, member count, and top articles.
news_digest and news_sources lack pagination parameters (limit/offset). If the API returns many results, LLMs cannot control response size, risking context window exhaustion.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are read-only, but this is not declared in the schema, forcing LLMs to infer safety from descriptions.