FreshContext
by PrinceGabriel-lgtm · remote · local (npm) · no sign-in to list tools · v0.5.3 · published by GitHub user PrinceGabriel-lgtm
Context integrity for AI agents: evaluate freshness, confidence, provenance, and decision readiness.
22 tools: 19 change things and 3 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things19Claude Code: ask: see these tools
- Only reads3Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http freshcontext https://api.freshcontext.dev/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnevaluate_context
The server marks "evaluate_context" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "evaluate_context" says "evaluate": a word for a change.
The server marks "extract_changelog" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The description's first verb is "update": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
22 tools
Changes things 19Claude Code: ask
evaluate_contextEvaluate caller-provided candidate context and return decision-ready output.1 finding
Why it is in this group
- The name "evaluate_context" says "evaluate": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "evaluate_context" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "evaluate_context" says "evaluate": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
extract_changelogUpdate history for any product.1 finding
Why it is in this group
- The description's first verb is "update": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "extract_changelog" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The description's first verb is "update": a word for a change.
Description, as the server wrote it Update history for any product. Accepts a GitHub repo URL or an npm package name. Returns version numbers, release dates, and entries.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
extract_company_landscapeMost complete single-call company intelligence: SEC 8-K filings + USASpending federal contracts + GDELT global news + product changelog + Stooq quote data.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Most complete single-call company intelligence: SEC 8-K filings + USASpending federal contracts + GDELT global news + product changelog + Stooq quote data. 5 unique sources.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
extract_financeNo-key stock quote data via Stooq.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it No-key stock quote data via Stooq. Accepts comma-separated ticker symbols and returns quote/OHLC/volume observations with timestamps.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
extract_finance_landscapeComposite financial intelligence: Stooq quote data + HN sentiment + Reddit discussion + GitHub ecosystem + product changelog.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Composite financial intelligence: Stooq quote data + HN sentiment + Reddit discussion + GitHub ecosystem + product changelog. 5-source unified report.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
extract_gdeltGlobal news intelligence from GDELT.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Global news intelligence from GDELT. Monitors news from every country in 100+ languages, updated every 15 minutes. Returns articles with source country, language, date.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
extract_gebizSingapore Government procurement opportunities (GeBIZ via data.gov.sg).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Singapore Government procurement opportunities (GeBIZ via data.gov.sg). Search by keyword, agency name, or empty for all recent tenders.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
extract_githubExtract real-time data from a GitHub repository — README, stars, forks, last commit, topics.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Extract real-time data from a GitHub repository — README, stars, forks, last commit, topics. Returns timestamped freshcontext.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
extract_gov_landscapeComposite government intelligence: federal contract awards (USASpending) + dev community awareness (HN) + GitHub repo activity + product release velocity (changelog).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Composite government intelligence: federal contract awards (USASpending) + dev community awareness (HN) + GitHub repo activity + product release velocity (changelog). 4-source unified report.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
extract_govcontractsUS federal contract awards from USASpending.gov.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it US federal contract awards from USASpending.gov. Search by company name (e.g. 'Palantir'), keyword, or NAICS code. Returns amounts, dates, agencies.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
extract_hackernewsExtract top stories or search results from Hacker News.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Extract top stories or search results from Hacker News. The url field accepts an HN/Algolia URL or a plain search query.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
extract_idea_landscapeIdea validation composite: HN pain signals + YC funded competitors + GitHub crowding + jobs market signal + npm/PyPI ecosystem + Product Hunt launches.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Idea validation composite: HN pain signals + YC funded competitors + GitHub crowding + jobs market signal + npm/PyPI ecosystem + Product Hunt launches. 6 sources.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
extract_landscapeComposite tool.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Composite tool. Queries GitHub + HN + npm simultaneously. Returns a unified landscape report with each source's own freshness.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
extract_producthuntExtract recent Product Hunt launches by keyword/topic search or a PH URL.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Extract recent Product Hunt launches by keyword/topic search or a PH URL. Returns name, tagline, votes, comment count, topics, and launch date per result.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
extract_redditExtract recent posts from a subreddit (e.g.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Extract recent posts from a subreddit (e.g. 'r/MachineLearning') or a Reddit search/listing URL. Returns title, subreddit, author, score, comment count, and post date per result.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
extract_scholarExtract research results (title, authors, year, snippet) from a Google Scholar search URL.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Extract research results (title, authors, year, snippet) from a Google Scholar search URL. Scholar exposes only the publication year, not an exact date, so freshness confidence is capped at medium.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
extract_sec_filingsSEC 8-K filings via EDGAR full-text search.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it SEC 8-K filings via EDGAR full-text search. 8-K = legally mandated material event disclosures (CEO changes, M&A, breaches). Pass company name, ticker, or keyword.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
extract_ycWithdrawn in 0.5.3 pending review of source terms.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Withdrawn in 0.5.3 pending review of source terms. Returns an error; kept so existing clients get a clear answer.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
package_trendsnpm and PyPI package metadata — version history, release cadence, last updated.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it npm and PyPI package metadata — version history, release cadence, last updated.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
Only reads 3Claude Code: allow
extract_arxivSearch arXiv for research papers via the official API.No findings
Why it is in this group
- The description's first verb is "search": a word for reading.
Description, as the server wrote it Search arXiv for research papers via the official API. Pass a topic or full arXiv API URL. Returns titles, authors, dates, abstracts.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
search_jobsSearch for real-time job listings with freshness badges on every result.No findings
Why it is in this group
- The name "search_jobs" says "search": a word for reading.
Description, as the server wrote it Search for real-time job listings with freshness badges on every result. Sources: Remotive + HN Who is Hiring.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
search_reposSearch GitHub for repositories matching a keyword.No findings
Why it is in this group
- The name "search_repos" says "search": a word for reading.
Description, as the server wrote it Search GitHub for repositories matching a keyword. Returns top results by stars.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.5.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http freshcontext https://api.freshcontext.dev/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__freshcontext__search_repos",
"mcp__freshcontext__search_jobs",
"mcp__freshcontext__extract_arxiv"
],
"ask": [
"mcp__freshcontext__evaluate_context",
"mcp__freshcontext__extract_github",
"mcp__freshcontext__extract_hackernews",
"mcp__freshcontext__extract_scholar",
"mcp__freshcontext__extract_yc",
"mcp__freshcontext__package_trends",
"mcp__freshcontext__extract_reddit",
"mcp__freshcontext__extract_producthunt",
"mcp__freshcontext__extract_finance",
"mcp__freshcontext__extract_landscape",
"mcp__freshcontext__extract_changelog",
"mcp__freshcontext__extract_gdelt",
"mcp__freshcontext__extract_gebiz",
"mcp__freshcontext__extract_govcontracts",
"mcp__freshcontext__extract_sec_filings",
"mcp__freshcontext__extract_gov_landscape",
"mcp__freshcontext__extract_finance_landscape",
"mcp__freshcontext__extract_company_landscape",
"mcp__freshcontext__extract_idea_landscape"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as freshcontext. Review it before you use it.
