freshcontext-mcp
Summary: FreshContext is a context-integrity MCP server that judges how fresh, attributable, and usable caller-supplied context is, plus a set of read-only adapters that fetch timestamped public data from many sources.
Evaluate candidate context (
evaluate_context) — pass up to 100 signals (title, content, source, dates, semantic score) with a source profile and intent profile; get back decision, meaning, action, warnings, freshness, rank score, utility, confidence, and a human-readable "why". It never fetches, crawls, scrapes, or reads folders itself.Temporal ranking — applies Decay-Adjusted Relevancy with source-specific decay constants so stale documents don't outrank fresh ones, via profiles like
academic_research,jobs_opportunities,market_finance,official_docs,product_research.Intent-aware judgments —
citation_check,student_research,developer_adoption,job_search,market_watch,business_due_diligence,medical_literature_triage.Code & repo intelligence — GitHub README/stars/forks/topics/last commit, keyword repo search ranked by stars with activity signals.
Research & community — arXiv papers, Google Scholar results, Hacker News stories/search, Reddit posts and sentiment, Product Hunt launches.
Maintenance & dependency health — npm/PyPI version history and release cadence, changelogs/releases from any GitHub repo or npm package.
Jobs — real-time listings with freshness badges and max-age filtering (Remotive, RemoteOK, The Muse, HN "Who is Hiring").
Market data — no-key stock quotes via Stooq (close, OHLC, volume, timestamp) for up to 5 tickers.
Official/regulatory sources — US federal contract awards (USASpending), SEC EDGAR 8-K material disclosures, GDELT global news (100+ languages), Singapore GeBIZ tenders.
Composite landscape tools — one call across many sources:
extract_landscape,extract_idea_landscape(idea validation),extract_gov_landscape,extract_finance_landscape,extract_company_landscape.Structured output — content wrapped in FreshContext envelopes (source, published, retrieved, confidence); results marked read-only and timestamped for downstream agents.
Caveats —
extract_ycis withdrawn in 0.5.3 and returns an error; adapters use network access only when invoked; FreshContext judges freshness/citation readiness, it does not certify truth.
Provides tools to extract research papers via the official arXiv API, including titles, authors, years, and snippets with precise timestamped metadata.
Provides tools to extract repository metadata, READMEs, star/fork counts, and activity signals, as well as tracking release history and changelogs via the GitHub API.
Provides tools to extract npm package metadata, version history, and release cadence to monitor dependency maintenance and update intelligence.
Provides tools to extract information about recent product launches and trends by topic.
Provides tools to extract Python package metadata and version history for research and dependency tracking.
Provides tools to extract posts and monitor community sentiment from specific subreddits.
This server has a remotely hosted endpoint. Open its connector listing for connection details, authentication requirements, and setup instructions:
FreshContext
This package is no longer developed. 0.5.3 is the last release of
freshcontext-mcp. It and every earlier release stay available under the MIT License, as is; there will be no further feature releases. For FreshContext services, see https://freshcontext.dev. Security reports: see SECURITY.md.
I asked Claude to help me find a job. It gave me a list of openings. I applied to three of them. Two didn't exist anymore. One had been closed for two years.
Claude had no idea. It presented everything with the same confidence.
That's the problem freshcontext fixes.
This repository is the integrated FreshContext Core/MCP package.
Category: context integrity infrastructure. FreshContext sits between context acquisition and agent action. Its job is to decide whether information entering an AI workflow is still fresh, attributable and coherent enough for the system to rely on. Core is the reusable engine that scores, ranks, explains and turns candidate context into decision-ready context, with signed verdicts recorded in a verifiable ledger. MCP is the first live host interface over that engine — one interface over the methodology, not the product itself.
Live demo: api.freshcontext.dev/demo — same model, same query, two completely different answers. Only the temporal layer changed.
Integrate it into an existing stack: freshcontext.dev/integration — start with one bounded RAG, agent, retrieval, or governance workflow and objective acceptance criteria.
The problem
Large language models retrieve web data semantically. Cosine similarity finds the documents that match a query best — but cosine doesn't know when a document was written.
So a 2022 blog post and a 2026 paper can score nearly identically. The model gets a context window full of stale documents and faithfully summarizes 2022 advice for a 2026 question.
That's not hallucination. That's correct summarization of corrupted retrieval.
Most RAG pipelines rank context correctly semantically but incorrectly temporally.
Related MCP server: Anakin
The layer
FreshContext is context integrity infrastructure for AI agents and retrieval systems. It sits between retrieval and reasoning:
candidate context
-> FreshContext Core
-> decision-ready context
-> model / agent / appFreshContext evaluates freshness, source profile, confidence, utility, provenance material, and failure honesty before context reaches the LLM. The temporal core uses Decay-Adjusted Relevancy:
R_t = R_0 · e^(−λt)R_0— base semantic relevancy (whatever your retriever already gives you)λ— source-specific decay constant (HN ≈14h half-life, blogs ≈29d, academic papers ≈1.6y)t— hours elapsed since publicationR_t— decay-adjusted relevancy at query time
That's the core correction. No model swap. No re-embedding. No re-indexing. The layer drops onto whatever retrieval pipeline you already have.
The layer is the product. The named adapters shipped with this repo demonstrate compatibility across different source classes. The DAR engine, the freshness envelope, Source Profiles, and the FreshContext Specification are the moat.
The standard
Every FreshContext-compatible response wraps content in a structured envelope:
[FRESHCONTEXT]
Source: https://github.com/owner/repo
Published: 2024-11-03
Retrieved: 2026-03-05T09:19:00Z
Confidence: high
---
... content ...
[/FRESHCONTEXT]When it was retrieved. Where it came from. How confident we are the date is accurate.
The FreshContext Specification v1.2 is published as an open standard under MIT licence. Any tool, agent, or system that wraps retrieved data in this envelope is FreshContext-compatible. → Read the spec · Read the methodology
Architecture boundary
FreshContext Core is the reusable center of the current integrated package. It owns signal normalization, freshness scoring, Source Profiles, decision output, envelope formatting, failure guards, shared types, rank/explain primitives, and the context-conditioned utility primitive.
MCP is the primary reference/interface implementation over Core. Claude Desktop is supported, but not required. The MCP tool surface exposes named reference adapters and a live interface for using the system.
The production Cloudflare Worker now uses Core-backed envelope generation. Worker-specific concerns remain outside Core: MCP transport, runtime guards, KV cache policy, cache metadata injection, JSON parse/replace cache helpers, D1 feeds, cron, rate limiting, and Store/feed scoring/provenance.
See Architecture for the layer boundaries, the package surface, and what is not yet separated.
Core import path
FreshContext Core is also available directly from the current MCP package:
import {
evaluateSignals,
interpretEvaluations,
getSourceProfile,
normalizeSignal,
calculateHaPriV2,
} from "freshcontext-mcp/core";This is a Core subpath export inside freshcontext-mcp, not a standalone freshcontext-core package yet. The root package and freshcontext-mcp binary remain the MCP reference host.
Primary MCP interface
The clearest MCP path is evaluate_context.
It accepts candidate context from any retriever, agent, database, local script, note parser, or adapter output:
{
"profile": "academic_research",
"intent": "citation_check",
"signals": [
{
"title": "Example source",
"content": "Candidate context text...",
"source": "https://example.com/source",
"source_type": "arxiv",
"published_at": "2026-05-24T12:00:00.000Z",
"retrieved_at": "2026-05-24T13:00:00.000Z",
"semantic_score": 0.92
}
]
}FreshContext returns decision-first output:
Decision
Meaning
Action
Warnings
Source
Freshness
Rank score
Utility
Confidence
Why
Structured results also include a readable object for humans:
{
"decision": "cite_as_primary",
"label": "Cite as primary",
"readable": {
"label": "Primary source",
"summary": "This source is strong enough to use as main evidence.",
"why": [
"Strong semantic match and current freshness for arxiv.",
"source profile academic_research uses lenient date policy",
"intent profile citation_check selected"
],
"action": "Use this as main evidence while preserving citation and provenance.",
"warnings": [
"FreshContext judges citation readiness and context usefulness; it does not certify truth."
]
}
}The readable object translates Core decisions into user-facing language. It does not change ranking, decision labels, utility scoring, or source intake. Utility helps explain usefulness for the current question; it remains explanatory and does not control default decision labels or ranking.
FreshContext does not certify truth. It records why context was used, supported, questioned, refreshed, watched, or excluded before it reaches a model.
evaluate_context does not fetch URLs, crawl, scrape, browse, read folders, or call adapters. It only evaluates candidate context the caller provides.
Current boundary: evaluate_context ships in the npm/local stdio MCP server. The hosted Cloudflare Worker MCP endpoint is a separate deployment surface and is verified independently — check /v1/health for its live version and tool count rather than assuming parity with the package. The Worker remains a separate deployment surface, so future package interfaces should be re-verified remotely before being claimed live.
Network Boundary
FreshContext's primary evaluate_context path does not fetch, crawl, scrape, browse, read folders, or call adapters. The MCP package also includes read-only reference adapters that use network access only when those adapter tools are invoked. Supply-chain scanners may therefore report package network access; that applies to the optional adapter surface, not to caller-provided context evaluation.
Advanced Worker/feed surface
Beyond the per-call Core/MCP paths, the production Worker deployment exposes a continuous, decay-scored, deduplicated feed. This is an advanced deployment surface, not the required way to use FreshContext Core:
GET /v1/intel/feed/:profile_id?limit=20&min_rt=0Every signal is stamped with base_score, rt_score, entropy_level (low / stable / high), ha_pri_sig (Ha-Pri v1 SHA-256 provenance reference), semantic_fingerprint (cross-adapter dedup), and published_at. Ready for direct LLM or agent consumption — no synthesis required.
Production endpoint: https://api.freshcontext.dev
Reference adapters
The repo ships named reference adapters that demonstrate how different source classes can become FreshContext-compatible. Each adapter keeps its own name because it represents a source boundary; the adapter count is operational proof, not the product headline.
Intelligence
Adapter | What it returns |
| README, stars, forks, language, topics, last commit |
| Top stories or search results with scores and timestamps |
| Research papers — titles, authors, years, snippets |
| arXiv papers via official API |
| Posts and community sentiment from any subreddit |
Competitive research
Adapter | What it returns |
| YC company listings by keyword |
| Recent launches by topic |
| GitHub repos ranked by stars with activity signals |
| npm and PyPI metadata — version history, release cadence |
Market data
Adapter | What it returns |
| No-key Stooq quote data — close, OHLC, volume, quote timestamp, source. Up to 5 tickers. |
| Remote job listings from Remotive, RemoteOK, HN "Who is Hiring" |
Composites — multiple sources, one call
Adapter | Sources | Purpose |
| 6 | YC + GitHub + HN + Reddit + Product Hunt + npm in parallel |
| 6 | HN + YC + GitHub + Jobs + npm + Product Hunt — full idea validation |
| 4 | Gov contracts + HN + GitHub + changelog |
| 5 | Finance + HN + Reddit + GitHub + changelog |
| 5 | The full picture on any company |
Official, regulatory, and procurement sources
Adapter | Source | What it returns |
| GitHub Releases / npm / auto-discover | Update history from any repo, package, or website |
| USASpending.gov | US federal contract awards — company, amount, agency, period |
| SEC EDGAR | 8-K filings — legally mandated material event disclosures |
| GDELT Project | Global news intelligence — 100+ languages, 15-min updates |
| data.gov.sg | Singapore Government procurement tenders — open dataset |
Quick start
For Claude Desktop, Codex, npx, global npm, and source-checkout setup, see the concise client setup guide.
Cloud (no install)
Add to your Claude Desktop config and restart:
Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"freshcontext": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.freshcontext.dev/mcp"]
}
}
}Restart Claude. Done.
Prefer a guided setup? Visit freshcontext.dev — 3 steps, no terminal.
Local (full Playwright)
Requires: Node.js 20+ (nodejs.org)
git clone https://github.com/PrinceGabriel-lgtm/freshcontext-mcp
cd freshcontext-mcp
npm install
npx playwright install chromium
npm run buildAdd to Claude Desktop config:
Mac:
{
"mcpServers": {
"freshcontext": {
"command": "node",
"args": ["/Users/YOUR_USERNAME/path/to/freshcontext-mcp/dist/server.js"]
}
}
}Windows:
{
"mcpServers": {
"freshcontext": {
"command": "node",
"args": ["C:\\Users\\YOUR_USERNAME\\path\\to\\freshcontext-mcp\\dist\\server.js"]
}
}
}Mac troubleshooting
"command not found: node" — Use the full path:
which node # copy this output, replace "node" in configConfig file doesn't exist:
mkdir -p ~/Library/Application\ Support/Claude
touch ~/Library/Application\ Support/Claude/claude_desktop_config.jsonUsage examples
The npm run demo:* commands below are source-checkout workflows for contributors and evaluators using a cloned repository. The published npm package is the MCP server/runtime package and does not include repo-only source examples or tests.
From an installed npm package, the supported runtime entrypoints are npm start and the freshcontext-mcp binary. Repo-only scripts such as tests, demos, smoke checks, and trust scans print a source-checkout notice when their source files are not present.
The Apify Actor entrypoint remains available in the source checkout for separate actor packaging, but it is intentionally not part of the published MCP npm runtime package.
Release trust gate
Run the local release gate before a release, package review, demo, or PR review:
npm run trust:gateThe gate runs the Trust Scanner with repo-map reporting, npm package-boundary inspection, deterministic claim checks, and --fail-on fail. It is local-only, does not publish or deploy, does not send telemetry, and does not replace dedicated security scanners.
Generate review reports when you need a shareable summary:
npm run trust:report
npm run trust:report:jsonTo write a Markdown report file explicitly:
npm run trust:report -- --output TRUST_SCAN_REPORT.mdBring your own source list
FreshContext can evaluate candidate context you provide as a local JSON file:
npm run demo:evaluate:fileTo pass a different file:
npm run demo:evaluate:file -- path/to/sources.jsonIncluded examples:
npm run demo:evaluate:file -- examples/sources.academic.example.json
npm run demo:evaluate:file -- examples/sources.jobs.example.jsonMinimal shape:
{
"profile": "academic_research",
"intent": "citation_check",
"signals": [
{
"title": "...",
"content": "...",
"source": "...",
"source_type": "arxiv",
"published_at": "...",
"retrieved_at": "...",
"semantic_score": 0.92
}
]
}This local demo does not fetch URLs, crawl, or read folders. It evaluates candidate context you provide and returns decision-first output: Decision, Meaning, Action, Warnings, and supporting metrics.
In an MCP client, use evaluate_context when you already have candidate context from another retriever, database, agent, or script:
Use evaluate_context with profile "academic_research", intent "citation_check", and these candidate signals: [...]Use the named reference adapters when you want FreshContext's current MCP package to fetch public source examples for you.
Should I build this idea?
Use extract_idea_landscape with idea "procurement intelligence saas"Returns funding signal, pain signal, crowding signal, market signal, ecosystem signal, and launch signal — all timestamped.
Full company intelligence in one call:
Use extract_company_landscape with company "Palantir" and ticker "PLTR"SEC filings + federal contracts + global news + changelog + market data.
Did that company just disclose something material?
Use extract_sec_filings with url "Palantir Technologies"8-K filings are legally mandated within 4 business days of any material event — CEO change, acquisition, breach, major contract.
Is this dependency still actively maintained?
Use extract_changelog with url "https://github.com/org/repo"Returns the last 8 releases with exact dates. If the last release was 18 months ago, you'll know before you pin the version.
Deployment & infrastructure
The reference implementation runs on Cloudflare's global edge:
Endpoint | Method | Purpose |
| GET | Service info + endpoint list |
| GET | Liveness check |
| POST | MCP JSON-RPC transport |
| GET | Live before/after demo (no auth token required) |
| GET | Latest stored briefing |
| GET | DAR-scored intelligence feed |
| GET | List all watched queries |
| GET | Published Ed25519 verification keys (active + retired) |
D1 database — 18 watched queries running on 6-hour cron with relevancy scoring
KV-backed rate limiting — 60 req/min per IP across all edge nodes
Defensive valves — clock-skew rejection (5min tolerance), hard floor at R_t<5, lazy decay at read time
Provenance — feed signals still carry legacy Ha-Pri v1 SHA-256 provenance references; separately, ledger-backed context verdicts are signed with Ed25519 V4 and independently verifiable
Schema migrations — promise-gated, idempotent, run on first request after deploy
Production: https://api.freshcontext.dev
Deployment modes
The engine is deliberately separable from the interface it is reached through. The same Core runs in each of these without a rewrite:
Mode | What it means |
Standalone | FreshContext runs as its own context-integrity service, as it does today. |
Embedded subsystem | Core runs inside an existing AI, data or security platform, invisible to that platform's users. |
SDK / API | Integrity primitives are consumed programmatically; no MCP involved. |
MCP infrastructure layer | FreshContext evaluates and governs context around MCP-enabled workflows — the live path in this repo. |
Gateway / control-plane component | Core operates at the policy boundary, before context is admitted into agent execution. |
White-label | The engine is surfaced under another product's branding and API. |
Only the MCP and standalone modes are exercised in production today. The others are integration seams the architecture already supports, not shipped configurations.
Roadmap
Split three ways so that genuine engineering risk is never filed as optionality. Nothing outside Production core is a live product claim.
Production core — built, running, testable
FreshContext Specification v1.2 published (MIT, open standard)
DAR engine with source-specific lambda constants
Ha-Pri v1 provenance signatures on stored signals
Ha-Pri v2 Core helper and deterministic golden vectors
Public
/v1/verifyendpoint — ledger-backed verdict verification, answering for both the legacy HMAC path and Ed25519, and reporting which was used viaverification_methodGeneric MCP
evaluate_contexttool for caller-provided candidate contextCore-backed envelope generation shared by npm/MCP and the Cloudflare Worker
Semantic deduplication via fingerprinting
Named reference adapters across intelligence, competitive research, market data, and composites
Cloudflare Workers deployment — global edge, KV cache, atomic rate limiting
Live before/after demo at
/demoMETHODOLOGY.md — methodology and engineering documentation
Published on npm and listed for MCP usage; Apify/feed assets separated from the MCP runtime package
Trusted release publishing workflow — manual
workflow_dispatchonly, OIDC-backed, provenance-enabled, and gated by version/verification checks. One explicit run publishes npm first, verifies it, then publishes the matching manifest to the official MCP Registry with GitHub OIDCIndependently verifiable Ed25519 attestation (E-2). Every new verdict row in the ledger is signed
FRESHCONTEXT_HA_PRI_V4with Ed25519. A third party can verify a verdict with no FreshContext account, no API key and no call to FreshContext — using the key document the Worker publishes at/.well-known/freshcontext-signing-keys.jsonand either verifier shipped in the npm tarball:scripts/verify-offline.mjs(Node, standard library) orscripts/verify_offline.py(Python, no dependencies at all). Written up for the sceptic rather than the maintainer in VERIFYING.md.Signing key
fc-2026-09-ceced1abpublished and active. Keys are append-only, so a rotation never invalidates a verdict signed under a key that has since been retired.attestation-proof.yml— obtains a live verdict, verifies it with both shipped verifiers, runs tampered-payload and tampered-signature negative controls, and confirms the stored ledger row is V4 rather than only the emitted response block. On demand and daily; every input it uses is public, so it needs no credentials to run.
In flight on the core, not an expansion surface:
Ha-Pri v2 Worker/D1 production enforcement for stored signals — the feed rows, which still carry Ha-Pri v1 SHA-256 stamps. This is a separate path from the verdict ledger above: verdicts are V4/Ed25519 today, signals are not. Design document complete; hard tamper enforcement on the signals path is not live.
Expansion surfaces — deliberately open, not built
These are integration seams the architecture supports and the engine does not yet implement. Stated in future tense on purpose.
Context safety harness. Policy enforcement before context reaches an agent: pass / warn / refresh / quarantine / block, with evidence attached to each decision. Today
evaluate_contextemits decisions and warnings; the enforcement state machine does not exist —quarantineandblockare not implemented anywhere in the codebase.Enterprise control plane. Dashboard over source health, trust score, context drift and provenance lineage. The verdict ledger is the data contract this would read from; the UI is unbuilt.
Observability telemetry. Historical integrity state, incidents, upstream degradation and remediation history.
Autonomous remediation. Automatic refresh, source substitution and re-evaluation — closed-loop rather than detection-only.
Vertical policy packs. Domain-specific integrity thresholds for regulated workflows.
Webhook triggers — push high-entropy signals on threshold
Research frontier — exploration, not commitment
GKG upgrade for
extract_gdelt— tone scores, goldstein scale, event codesContradiction detection across concurrent sources
Future work is organized in FreshContext Future Lanes. Roadmap items are not live product claims until implemented and validated.
Contributing
PRs welcome. The highest-value contributions improve the caller-provided context path, decision output, host integrations, and FreshContext-compatible signal quality. New reference adapters are useful when they preserve source boundaries and emit timestamped, failure-honest context — see src/adapters/ for examples and FRESHCONTEXT_SPEC.md for the compatibility contract.
If you're building something FreshContext-compatible, open an issue and we'll add you to the ecosystem list.
Trust and security
License
MIT
Built by Immanuel Gabriel — Namibia 🇳🇦 "The work isn't gone. It's just waiting to be continued."
Also on: MCP Registry · npm
Available Tools
22 toolsevaluate_contextARead-onlyInspect
Evaluate caller-provided candidate context and return decision-ready output. This is the primary FreshContext judgment path: it does not fetch, crawl, scrape, browse, read folders, or call adapters.
Inputs: intent (required), profile (required), signals (required), now.
extract_arxivARead-onlyInspect
Search arXiv for research papers via the official API. Pass a topic, keyword, or full arXiv API URL. Returns titles, authors, publication dates, primary category, and abstracts — all timestamped.
Inputs: url (required), max_length.
extract_changelogARead-onlyInspect
Extract update history from a repo or package. Accepts a GitHub repository URL (uses the Releases API) or an npm package name. Returns version numbers, release dates, and entry content — all timestamped. Use this to check if a tool is actively maintained, when a feature shipped, or how fast a team moves.
Inputs: url (required), max_length.
extract_company_landscapeARead-onlyInspect
Composite company intelligence tool. The most complete single-call company analysis available. Simultaneously queries 5 unique sources: (1) SEC EDGAR for 8-K material event filings — what the company legally just disclosed, (2) USASpending.gov for federal contract footprint — who is giving them government money, (3) GDELT for global news intelligence — what the world is saying about them right now, (4) their product changelog — are they actually shipping, (5) Stooq quote data — what the market is pricing in. Returns a unified 5-source timestamped report. Unique: this combination is not available in any other MCP server.
Inputs: company (required), ticker, github_url, max_length, +1 more.
extract_financeARead-onlyInspect
No-key stock quote data via Stooq — close, open, high, low, volume, quote timestamp, and source. Accepts up to 5 comma-separated tickers. Returns timestamped freshcontext only for successful observations.
Inputs: url (required), max_length.
extract_finance_landscapeARead-onlyInspect
Composite financial intelligence tool for developers. Given one or more ticker symbols, simultaneously queries: (1) Stooq for no-key quote data, (2) Hacker News for developer community sentiment, (3) Reddit for investor and tech community discussion, (4) GitHub for repo ecosystem activity around the company's tech, and (5) their product changelog for release velocity as a company health signal. Answers: What's the price? What are developers saying? Is the company actually shipping? Returns a unified 5-source timestamped report.
Inputs: tickers (required), max_length, company_name, github_query, +1 more.
extract_gdeltARead-onlyInspect
Fetch global news intelligence from the GDELT Project. GDELT monitors broadcast, print, and web news from every country in 100+ languages, updated every 15 minutes. Returns articles with title, source domain, country of origin, language, and publication date — covering news worldwide that Western sources miss. Free, no auth. Pass any company name, topic, or keyword. Unique: not available in any other MCP server.
Inputs: url (required), max_length.
extract_gebizARead-onlyInspect
Fetch Singapore Government procurement opportunities from GeBIZ via the data.gov.sg open API (Ministry of Finance official dataset). Returns open tenders, awarded contracts, agencies, amounts, and closing dates. Search by keyword (e.g. 'software', 'AI', 'data analytics'), agency name (e.g. 'GovTech', 'MOH'), or leave blank for all recent tenders. Free, no auth. Unique: not available in any other MCP server.
Inputs: url (required), max_length.
extract_githubARead-onlyInspect
Extract real-time data from a GitHub repository — README, stars, forks, language, topics, last commit. Returns timestamped freshcontext.
Inputs: url (required), max_length.
extract_govcontractsARead-onlyInspect
Fetch US federal government contract awards from USASpending.gov. No API key required. Search by company name (e.g. 'Palantir'), keyword (e.g. 'AI infrastructure'), or NAICS code (e.g. '541511'). Returns award amounts, dates, awarding agency, NAICS code, and contract descriptions — all timestamped. Use this to find buying intent signals (a company that just won a $5M DoD contract is actively hiring and spending), competitive intelligence, or GTM targeting.
Inputs: url (required), max_length.
extract_gov_landscapeARead-onlyInspect
Composite government intelligence tool. Given a company name, keyword, or NAICS code, simultaneously queries: (1) USASpending.gov for federal contract awards, (2) GitHub for the company's repo activity, (3) Hacker News for developer community awareness, and (4) their product changelog for release velocity. Answers: Who is winning government contracts in this space? Are they actually building? Does the dev community know about them? Returns a unified 4-source timestamped report. Unique — not available in any other MCP server.
Inputs: query (required), github_url, max_length, min_freshness_score.
extract_hackernewsARead-onlyInspect
Extract top stories or search results from Hacker News. Accepts an HN/Algolia URL or a plain search query while preserving the url field for compatibility.
Inputs: url (required), max_length.
extract_idea_landscapeARead-onlyInspect
Idea validation composite tool for developers and founders. Given a project idea or keyword, simultaneously queries 6 sources to answer: Is this problem real? Is the market crowded? Is there funding? Are companies hiring? What just launched? Sources: (1) Hacker News — what developers are actively complaining about and discussing, (2) YC companies — who has already received funding in this space, (3) GitHub repos — how crowded the open source landscape is, (4) Job listings — hiring signal showing real company spend around this problem, (5) npm/PyPI package trends — ecosystem adoption and velocity, (6) Product Hunt — what just launched and how it was received. Returns a unified 6-source idea validation report.
Inputs: idea (required), max_length, min_freshness_score.
extract_landscapeARead-onlyInspect
Composite intelligence tool. Given a project idea or keyword, simultaneously queries YC startups, GitHub repos, HN, Reddit, Product Hunt, and package registries to answer: Who is building this? Is it funded? What's getting traction? Returns a unified 6-source timestamped landscape report.
Inputs: topic (required), max_length.
extract_producthuntARead-onlyInspect
Recent Product Hunt launches by keyword or topic. Uses the Product Hunt GraphQL API (with HTML scrape fallback). Returns names, taglines, vote counts, comment counts, topics, and launch dates — all timestamped.
Inputs: url (required), max_length.
extract_redditARead-onlyInspect
Extract posts and community sentiment from Reddit via the public JSON API. Accepts a subreddit URL (https://www.reddit.com/r/MachineLearning/.json), a search URL, or a subreddit shorthand ('r/MachineLearning'). Returns titles, authors, scores, comment counts, and per-post timestamps.
Inputs: url (required), max_length.
extract_scholarARead-onlyInspect
Extract research results from a Google Scholar search URL. Returns titles, authors, publication years, and snippets — all timestamped.
Inputs: url (required), max_length.
extract_sec_filingsARead-onlyInspect
Fetch SEC 8-K filings for any public company from the SEC EDGAR full-text search API. 8-K filings are legally mandated disclosures of material corporate events — CEO changes, acquisitions, data breaches, major contracts, regulatory actions — filed within 4 business days. Free, no auth, real-time. Pass a company name, ticker, or keyword. Unique: not available in any other MCP server.
Inputs: url (required), max_length.
extract_ycARead-onlyInspect
Withdrawn in 0.5.3 pending review of source terms. Returns an error; kept so existing clients get a clear answer.
Inputs: url (required), max_length.
package_trendsARead-onlyInspect
Look up npm and PyPI package metadata — version history, release cadence, last updated. Use to gauge ecosystem activity around a tool or dependency. Supports comma-separated list of packages.
Inputs: packages (required), max_length.
search_jobsARead-onlyInspect
Search for real-time job listings with freshness badges on every result — so you never apply to a role that closed months ago. Sources: Remotive + RemoteOK + The Muse + HN 'Who is Hiring'. Supports location filtering, remote-only mode, keyword spotting (e.g. FIFO), and max age filtering. Returns timestamped freshcontext sorted freshest first.
Inputs: query (required), keywords, location, max_length, +2 more.
search_reposBRead-onlyInspect
Search GitHub for repositories matching a keyword or topic. Returns top results by stars with activity signals. Use to find competitors, similar tools, or related projects.
Inputs: query (required), max_length.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 22 tools
The single-source extract_* tools are reasonably distinct, but the five composite 'landscape' tools overlap heavily. extract_landscape and extract_idea_landscape are near-duplicates (both take a project idea and query YC, GitHub, HN, Reddit, Product Hunt, and packages), and greed_landscape/gov_landscape/company_landscape share USASpending/changelog/GDELT sources, making selection ambiguous.
Almost everything follows snake_case verb_noun (extract_x, search_x, package_trends, evaluate_context), with a systematic extract_ prefix for data tools and a _landscape suffix for composites. Minor deviation in that the composite naming isn't applied uniformly, but overall the pattern is predictable.
22 tools is on the heavy end and the redundancy among composites inflates the count beyond the useful surface. extract_yc is a dead tool that only returns an error, which is a wasted slot for clients.
The surface covers a wide range of data sources (code, research, finance, jobs, gov contracts, news) plus a dedicated evaluation path, so most intelligence-gathering needs are met. The main gap is the disabled extract_yc leaving YC data only reachable indirectly via the composite tools.
Maintenance
Related MCP Connectors
Web data for agents: YouTube transcripts, screenshots, Google News, WHOIS, jobs, tech stack, more.
Live web data for AI agents: structured JSON from 248 websites through one API key.
Fetch any RSS/Atom feed as clean JSON or extract article text from any URL. Built for AI agents.
Web scraping, search, crawling, structured extraction and research for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceReal-time curated knowledge API for AI agents. Updated Mon/Wed/Fri from 31 sources covering AI/tech, startups, alternative markets, and emerging markets — no scraping or storage required.1MIT

Anakinofficial
AlicenseAqualityCmaintenanceWeb data for AI agents: scrape, crawl, search, deep research, site monitoring, browser automation2273 npm3Apache 2.0- AlicenseAqualityNot gradedmaintenanceEnables AI agents to extract clean, structured web content (articles, tables, links, visual layouts) optimized for LLM token efficiency, with fast response times and optional JavaScript support.583 npmMIT
- AlicenseAqualityBmaintenanceProvenance-first web access for AI agents, delivering clean content with verifiable source metadata and SEC EDGAR financial data.889 npmMIT