FRESH — Shared URL Freshness Intelligence

io.github.GSterlingPressPublished by GitHub account GSterlingPressv0.1.3Updated Oct 25, 2026

Decide whether an agent should reuse cached URL knowledge or fetch the resource again.

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingKnowledge & Memory

Overview

AI-generated overview

A remote MCP service that tells an assistant whether a previously seen URL is probably still fresh enough to reuse or should be fetched again.

What you can do
Check a URL before retrieving it again and get a REUSE, REFETCH or UNKNOWN decision based on shared change history and a tolerance window. Report freshness evidence after a retrieval, such as timestamps, ETag, Last-Modified and content hash, so the shared history improves. Decisions are conservative: UNKNOWN is returned when evidence is insufficient.
When to use it
Useful when an assistant caches or embeds web content and wants to avoid re-fetching, re-scraping, re-rendering or re-embedding pages that are probably unchanged. Best suited to workflows that repeatedly revisit the same URLs and want a cheap second opinion before spending a retrieval.
Requirements
A remote streamable HTTP endpoint; no local package, account, API key or environment variable is declared. Network access to the hosted service is required. The check call takes a URL, a last-seen timestamp and a tolerance in seconds; the observe call takes a URL, observation time and optional ETag, Last-Modified and content hash.
Before you install
The service is described as experimental production infrastructure at an early version, so decisions may be unreliable. URLs you submit are stored as one-way hashes with aggregate observation metadata, so the host still learns which URLs are being checked. Do not send raw page content, cookies, target-site credentials or customer payloads; the service says it does not need them.

Installation

In SourceWeft

  1. Open FRESH — Shared URL Freshness Intelligence in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.GSterlingPress%2Ffresh/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "fresh-shared-url-freshness-intelligence": {
      "type": "http",
      "url": "https://fresh-api-production-c783.up.railway.app/mcp"
    }
  }
}

README

FRESH

Know whether to fetch again.

FRESH is shared URL freshness intelligence for AI agents. Before re-fetching, re-scraping, re-rendering, or re-embedding a URL, ask whether the previously seen version is probably still fresh enough to reuse.

Production base URL: https://fresh-api-production-c783.up.railway.app

MCP endpoint: https://fresh-api-production-c783.up.railway.app/mcp

FRESH returns one of three decisions:

  • REUSE — cached knowledge is probably still fresh enough
  • REFETCH — the URL is likely stale enough to justify another retrieval
  • UNKNOWN — evidence is insufficient; FRESH prefers uncertainty over false confidence

Why FRESH exists

A local cache knows when you last fetched something. It does not know whether the outside resource changed since then, nor what other callers recently observed. FRESH builds shared, privacy-safe URL change history from timestamps, ETags, Last-Modified values, and content hashes.

REST

POST /v1/check

json
{"url":"https://example.com/docs/api","lastSeenAt":"2026-08-13T12:00:00Z","toleranceSeconds":3600}

POST /v1/observe

json
{"url":"https://example.com/docs/api","observedAt":"2026-08-13T13:00:00Z","etag":"abc123","lastModified":"Wed, 13 Aug 2026 12:45:00 GMT","contentHash":"sha256:..."}

Raw page content is not required.

MCP

  • fresh_check — decide whether to retrieve a URL again
  • fresh_observe — report privacy-safe freshness evidence after retrieval

Privacy

FRESH does not need raw page contents, cookies, target-site credentials, or customer payloads. URL keys are stored as one-way hashes with aggregate observation metadata.

Stranger verification

A core-tool invocation is evidence of use, not automatically proof of a genuine stranger. FRESH classifies candidate activity as KNOWN_VALIDATOR, LIKELY_VALIDATOR, CONTROLLED_TEST, UNKNOWN_MACHINE, or CREDIBLE_REAL_USE. Only CREDIBLE_REAL_USE advances stranger milestones.

Our acceptance/smoke traffic uses X-Tollbooth-Internal: 1 or X-Fresh-Internal: 1 so it cannot earn stranger credit.

Production acceptance gate

Every Railway deployment now performs live internal checks against the running service before /health can return 200. The gate exercises REST, UNKNOWN, REUSE, REFETCH, persistent observation reload, MCP initialize, MCP tool discovery, MCP fresh_check, and verifies that the controlled self-test does not increase the verified-stranger count.

Status

v0.1.2 experimental production infrastructure. Priorities: conservative decisions, low latency, sub-penny economics, privacy-safe shared learning, REST + MCP, durable observations, and auditable real-use analytics.

Source: README.md at commit 12137c0

Tools

2

fresh_check

Should I Fetch This URL Again?

Return REUSE, REFETCH, or UNKNOWN before retrieving a URL again.

ParametersurlrequiredlastSeenAtrequiredtoleranceSeconds

fresh_observe

Report URL Observation

Report privacy-safe freshness metadata from a completed retrieval.

ParametersurlrequiredetagobservedAtcontentHashlastModified

Version history

1
  1. v0.1.3LatestSep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.