Config-driven news harvester for OSINT. RSS + HTML scraping with built-in dedup and LLM-ready digest.
This is a TypeScript library, not an MCP server. It exports 5 utility functions for RSS/HTML harvesting and article digestion, but has NO MCP protocol implementation. No tool registration, no MCP transport, no schema exposure via MCP. The functions are well-structured internally but are not exposed as MCP tools. Scoring reflects library quality only; protocol readiness is 0 because there is no MCP server.
Applies full digest pipeline to articles: dedup by title similarity, sort by recency/relevance, apply tag-based budget limits, truncate content, apply token budget. Returns deduplicated and budget-constrained articles with statistics.
Creates a harvester instance configured with sources, digest options, request settings, and error/warning callbacks. Returns a Harvester object with methods to fetch articles from RSS/HTML sources.
Deduplicate articles by title similarity using Jaccard similarity. When two articles are similar above the threshold, the one with more content wins.
Fetches HTML from a URL and parses articles using CSS selectors defined in HtmlSourceConfig. Returns Article objects extracted from the HTML.
Fetches and parses RSS feed from a source URL, converts feed items to Article objects with deduplication by URL hash.
Not an MCP server, no MCP protocol implementation detected. This is a standalone TypeScript library with no tool registration, transport, or MCP schema exposure.
Input schemas lack formal JSON Schema type definitions. Parameters are described in prose but not registered with explicit 'type', 'properties', 'required' fields. Functions accept callbacks (onError, onWarning, fetch) which cannot be serialized as MCP tool parameters.
Output schemas not documented. Functions return complex objects (Harvester, Article[], DigestResult) but no schema describes the structure, field types, or nested properties that an LLM would need to parse results.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 32 | 2026-07-28+ | v2 |
Callback parameters (onError, onWarning, fetch, known) are functions, not serializable values. MCP tools cannot accept function parameters, these must be refactored into configuration objects or separate tool calls.
No error handling guidance. Functions may throw or return partial results on network failures, parse errors, or invalid configs, but descriptions do not explain recovery steps or error categories (retryable vs fatal).