freshcontext-mcp 0.3.13 → 0.3.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/HANDOFF.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # FreshContext — Handoff Document
2
- **Version:** 0.3.11
3
- **Date:** 2026-03-20
2
+ **Version:** 0.3.14 (npm) / 0.21 (Apify)
3
+ **Spec:** v1.1
4
+ **Date:** 2026-04-09
4
5
  **Author:** Immanuel Gabriel (Prince Gabriel), Grootfontein, Namibia
5
6
  **Contact:** gimmanuel73@gmail.com
6
7
 
@@ -8,17 +9,53 @@
8
9
 
9
10
  ## What You Are Receiving
10
11
 
11
- FreshContext is a web intelligence engine for AI agents. It wraps every piece of
12
- retrieved web data in a structured freshness envelope — exact retrieval timestamp,
13
- publication date estimate, freshness confidence (high/medium/low), and a 0-100
14
- numeric score with domain-specific decay rates.
12
+ FreshContext is a **data freshness layer for AI agents** an open standard and reference implementation that makes retrieved data trustworthy.
15
13
 
16
- 15 tools. No API keys required. Deployed globally on Cloudflare's edge. Listed on
17
- Anthropic's official MCP Registry, npm, and Apify Store.
14
+ Every piece of web data an AI agent retrieves has an age. Most tools ignore it. FreshContext surfaces it wrapping every result in a structured envelope:
18
15
 
19
- The two tools that exist nowhere else: extract_govcontracts (US federal contract
20
- intelligence via USASpending.gov) and extract_changelog (product release velocity
21
- from any GitHub repo, npm package, or website).
16
+ ```
17
+ [FRESHCONTEXT]
18
+ Source: https://github.com/owner/repo
19
+ Published: 2024-11-03
20
+ Retrieved: 2026-04-05T09:19:00Z
21
+ Confidence: high
22
+ ---
23
+ ... content ...
24
+ [/FRESHCONTEXT]
25
+ ```
26
+
27
+ **20 tools. No API keys. Deployed globally on Cloudflare's edge.**
28
+
29
+ Listed on the official MCP Registry, npm, and Apify Store. The FreshContext Specification v1.1 is published as an open standard under MIT license — any tool that wraps retrieved data in this envelope is FreshContext-compatible.
30
+
31
+ **npm downloads (first week, zero marketing): 191**
32
+
33
+ ---
34
+
35
+ ## The 20 Tools
36
+
37
+ ### Standard (11)
38
+ `extract_github`, `extract_hackernews`, `extract_scholar`, `extract_arxiv`,
39
+ `extract_reddit`, `extract_yc`, `extract_producthunt`, `search_repos`,
40
+ `package_trends`, `extract_finance`, `search_jobs`
41
+
42
+ ### Composite Landscapes (5)
43
+ | Tool | Sources | What it delivers |
44
+ |---|---|---|
45
+ | `extract_landscape` | 6 | YC + GitHub + HN + Reddit + Product Hunt + npm |
46
+ | `extract_idea_landscape` | 6 | HN + YC + GitHub + Jobs + npm + Product Hunt — full idea validation |
47
+ | `extract_gov_landscape` | 4 | Gov contracts + HN + GitHub + changelog |
48
+ | `extract_finance_landscape` | 5 | Finance + HN + Reddit + GitHub + changelog |
49
+ | `extract_company_landscape` | 5 | SEC + govcontracts + GDELT + changelog + finance |
50
+
51
+ ### Unique — Not Available in Any Other MCP Server (5)
52
+ | Tool | Source | What it delivers |
53
+ |---|---|---|
54
+ | `extract_changelog` | GitHub Releases API / npm / auto-discover | Update history from any repo, package, or website |
55
+ | `extract_govcontracts` | USASpending.gov | US federal contract awards — company, amount, agency, period |
56
+ | `extract_sec_filings` | SEC EDGAR | 8-K filings — legally mandated material event disclosures |
57
+ | `extract_gdelt` | GDELT Project | Global news intelligence — 100+ languages, every country, 15-min updates |
58
+ | `extract_gebiz` | data.gov.sg | Singapore Government procurement tenders — open dataset, no auth |
22
59
 
23
60
  ---
24
61
 
@@ -27,46 +64,60 @@ from any GitHub repo, npm package, or website).
27
64
  ### 1. GitHub Repository
28
65
  URL: https://github.com/PrinceGabriel-lgtm/freshcontext-mcp
29
66
  Branch: main
30
- Transfer method: GitHub Settings > Transfer ownership
31
- What it contains: All source code, Dockerfile, specs, session saves, roadmap
67
+ Transfer method: GitHub Settings Transfer ownership
68
+ Contents: All TypeScript source, Dockerfile, specs, session saves, roadmap, CI/CD
32
69
 
33
70
  ### 2. npm Package
34
- Package: freshcontext-mcp (v0.3.11)
71
+ Package: `freshcontext-mcp` (v0.3.14)
35
72
  URL: https://www.npmjs.com/package/freshcontext-mcp
36
73
  Account: immanuel-gabriel on npmjs.com
37
- Transfer method: npm owner add new-username freshcontext-mcp
38
- Note: Published automatically via GitHub Actions on every push to main
74
+ Transfer method: `npm owner add new-username freshcontext-mcp`
75
+ Note: Auto-published via GitHub Actions on every push to main
39
76
 
40
77
  ### 3. Cloudflare Account
41
- What lives here:
42
- Worker: freshcontext-mcp (the live MCP endpoint)
43
- D1: freshcontext-db (ID: d9898d65-f67e-4dcb-abdc-7f7b53f2d444)
44
- KV: RATE_LIMITER and CACHE (IDs in wrangler.jsonc)
45
- Cron: 0 */6 * * * (every 6 hours, runs automatically)
46
- Endpoint: https://freshcontext-mcp.gimmanuel73.workers.dev/mcp
78
+ | Resource | Details |
79
+ |---|---|
80
+ | Worker | freshcontext-mcp the live MCP endpoint |
81
+ | D1 | freshcontext-db ID: d9898d65-f67e-4dcb-abdc-7f7b53f2d444 |
82
+ | KV | RATE_LIMITER and CACHE IDs in wrangler.jsonc |
83
+ | Cron | `0 */6 * * *` — runs automatically every 6 hours |
84
+ | Endpoint | https://freshcontext-mcp.gimmanuel73.workers.dev/mcp |
47
85
 
48
86
  Transfer method: Add new account as Super Administrator, remove original.
49
- D1 export: wrangler d1 export freshcontext-db --output=dump.sql
87
+ D1 export: `wrangler d1 export freshcontext-db --output=dump.sql`
88
+
89
+ Features live on the Worker:
90
+ - KV response caching (adapter-specific TTLs)
91
+ - Global rate limiting (60 req/min per IP across all edge nodes)
92
+ - 6-hour cron scraper with relevancy scoring (0-100, noise below 35 filtered)
93
+ - Hash-based deduplication on all cron results
50
94
 
51
95
  ### 4. Apify Actor
52
- Actor: prince_gabriel/freshcontext-mcp
53
- URL: https://apify.com/prince_gabriel/freshcontext-mcp
96
+ Actor: `prince_gabriel/freshcontext-mcp`
97
+ Version: 0.21 (build 0.21.2 — tested and confirmed working April 2026)
98
+ URL: https://apify.com/prince_gabriel/freshcontext-mcp
54
99
  Monetization: $50.00 per 1,000 results (Pay per event)
55
- Transfer method: Re-publish under new Apify account
100
+ Transfer method: Re-publish under new Apify account using `apify push`
101
+ Note: Use `apify push` from local — GitHub cloning is blocked on Apify's build servers
56
102
 
57
103
  ### 5. MCP Registry Listing
58
- Entry: io.github.PrinceGabriel-lgtm/freshcontext
59
- Config: server.json in the GitHub repo
104
+ Entry: `io.github.PrinceGabriel-lgtm/freshcontext`
105
+ Config: `server.json` in the GitHub repo
60
106
  Transfer method: Update server.json with new repo URL and re-submit
61
107
 
62
108
  ### 6. GitHub Actions CI/CD
63
- File: .github/workflows/publish.yml
64
- Action: On every push to main — npm ci > tsc > npm publish
65
- Secret: NPM_TOKEN (granular access token from npmjs.com, renew annually)
109
+ File: `.github/workflows/publish.yml`
110
+ Action: On every push to main — `npm ci` `tsc` `npm publish`
111
+ Secret: `NPM_TOKEN` (granular access token from npmjs.com, renew annually)
112
+
113
+ ### 7. PitchHut Listing
114
+ URL: https://pitchhut.com/project/freshcontext-mcp-tools
115
+ Account: gimmanuel73@gmail.com
116
+ Status: Claimed April 2026
66
117
 
67
118
  ---
68
119
 
69
- ## Credentials Map (categories only — not values)
120
+ ## Credentials Map
70
121
 
71
122
  | Credential | Where Used | Location |
72
123
  |---|---|---|
@@ -74,109 +125,187 @@ Secret: NPM_TOKEN (granular access token from npmjs.com, renew annually)
74
125
  | ANTHROPIC_KEY | Synthesis/briefing endpoint | Cloudflare env var |
75
126
  | GITHUB_TOKEN | GitHub API rate limit bypass | Cloudflare env var |
76
127
  | NPM_TOKEN | GitHub Actions auto-publish | GitHub secret |
128
+ | Stripe keys | Catatonica payments | Supabase / Cloudflare env |
77
129
 
78
130
  ---
79
131
 
80
132
  ## Codebase Map
81
133
 
82
- src/server.ts — MCP stdio server, all 15 tools registered here
83
- src/apify.ts — Apify Actor entry point (read input, call adapter, exit)
84
- src/security.ts URL validation, SSRF prevention
85
- src/types.ts — FreshContext, AdapterResult, ExtractOptions interfaces
86
- src/adapters/ One file per data source (13 files)
87
- changelog.ts UNIQUE: GitHub Releases API + npm + auto-discover
88
- govcontracts.ts UNIQUE: USASpending.gov federal contract awards
89
- src/tools/
90
- freshnessStamp.ts Score calculation, JSON form, text envelope
91
- worker/src/worker.ts — Cloudflare Worker: 15 tools + KV cache + rate limit
92
- + D1 cron scraper + briefing formatter
93
- .actor/Dockerfile — Apify build config (Node 20, runs dist/apify.js)
94
- .actor/actor.json — Apify Actor metadata
95
- FRESHCONTEXT_SPEC.md The open standard (MIT license)
134
+ ```
135
+ src/
136
+ server.ts MCP stdio server, all 20 tools registered here
137
+ apify.ts — Apify Actor entry point (read input, call adapter, exit)
138
+ security.ts URL validation, SSRF prevention, domain allowlists
139
+ types.ts FreshContext, AdapterResult, ExtractOptions interfaces
140
+ adapters/ One file per data source (18 files)
141
+ changelog.ts UNIQUE: GitHub Releases API + npm + auto-discover
142
+ govcontracts.ts UNIQUE: USASpending.gov federal contract awards
143
+ secFilings.ts UNIQUE: SEC EDGAR 8-K filings
144
+ gdelt.ts UNIQUE: GDELT global news intelligence
145
+ gebiz.ts UNIQUE: Singapore GeBIZ procurement
146
+ tools/
147
+ freshnessStamp.ts Score calculation, JSON form, text envelope
148
+
149
+ worker/src/worker.ts — Cloudflare Worker: 20 tools + KV cache + rate limit
150
+ + D1 cron scraper + relevancy scoring + briefing formatter
151
+
152
+ .actor/
153
+ Dockerfile — apify/actor-node-playwright-chrome:20 base image
154
+ actor.json — version: "0.21", Apify Actor metadata
155
+
156
+ FRESHCONTEXT_SPEC.md — The open standard v1.1 (MIT license)
96
157
  ROADMAP.md — 10-layer product vision
158
+ HANDOFF.md — This file
159
+ SESSION_SAVE_V6.md — Most recent session save (April 2026)
97
160
  server.json — MCP Registry listing
98
161
  .github/workflows/
99
162
  publish.yml — GitHub Actions CI/CD
163
+ ```
100
164
 
101
165
  ---
102
166
 
103
- ## The 15 Tools
167
+ ## D1 Database Schema
104
168
 
105
- Standard (11):
106
- extract_github, extract_hackernews, extract_scholar, extract_arxiv,
107
- extract_reddit, extract_yc, extract_producthunt, search_repos,
108
- package_trends, extract_finance, search_jobs
169
+ ```
170
+ watched_queries 18 active monitored topics
171
+ id, adapter, query, label, filters, enabled, last_run_at
109
172
 
110
- Composite landscapes (3):
111
- extract_landscape — YC + GitHub + HN + Reddit + Product Hunt + npm
112
- extract_gov_landscape — govcontracts + HN + GitHub + changelog
113
- extract_finance_landscape — finance + HN + Reddit + GitHub + changelog
173
+ scrape_results Raw results, deduplicated by content hash
174
+ id, watched_query_id, adapter, query, raw_content, result_hash,
175
+ is_new, scraped_at, relevancy_score
114
176
 
115
- Unique not in any other MCP server (2):
116
- extract_changelog — release history from any repo, package, or website
117
- extract_govcontracts — US federal contract awards from USASpending.gov
177
+ briefings Formatted intelligence reports per cron run
178
+ id, user_id, summary, new_results_count, adapters_run, created_at
179
+
180
+ user_profiles Personalization data for briefing synthesis
181
+ id, name, skills, certifications, targets, location, context
182
+ ```
118
183
 
119
184
  ---
120
185
 
121
- ## D1 Database Schema
186
+ ## The FreshContext Specification v1.1
122
187
 
123
- watched_queries — 18 active monitored topics
124
- id, adapter, query, label, filters, enabled, last_run_at
188
+ `FRESHCONTEXT_SPEC.md` is the open standard, MIT license, authored March 2026, updated April 2026.
125
189
 
126
- scrape_results — raw results, deduplicated by content hash
127
- id, watched_query_id, adapter, query, raw_content, result_hash, is_new, scraped_at
190
+ Key additions in v1.1 vs v1.0:
191
+ - Domain-specific decay rate table (financial: 5.0 → academic: 0.3)
192
+ - Composite Adapters section — defines how multi-source tools handle envelopes
193
+ - Compatibility Levels: compatible / aware / scored
194
+ - Reference implementation updated to 20 adapters
128
195
 
129
- briefings — formatted intelligence reports per cron run
130
- id, user_id, summary, new_results_count, adapters_run, created_at
196
+ Any implementation returning the `[FRESHCONTEXT]...[/FRESHCONTEXT]` envelope or the structured JSON form with `freshcontext.retrieved_at` and `freshcontext.freshness_confidence` is FreshContext-compatible.
131
197
 
132
- user_profiles — personalization data for briefing synthesis
133
- id, name, skills, certifications, targets, location, context
198
+ **The spec is the durable asset. The code is the reference implementation.**
134
199
 
135
200
  ---
136
201
 
137
- ## The FreshContext Specification
202
+ ## The Best Demo
203
+
204
+ Run this in Claude with FreshContext connected:
205
+
206
+ ```
207
+ Use extract_company_landscape with company "Palantir" and ticker "PLTR"
208
+ ```
138
209
 
139
- FRESHCONTEXT_SPEC.md is the open standard, MIT license, authored March 2026.
140
- Any implementation returning the [FRESHCONTEXT]...[/FRESHCONTEXT] envelope
141
- or the structured JSON form with freshcontext.retrieved_at and
142
- freshcontext.freshness_confidence is FreshContext-compatible.
210
+ Returns in one call, all timestamped:
211
+ - Q4 2025 SEC 8-K filing — revenue $1.407B (+70% YoY), Rule of 40 score 127%
212
+ - $1.1B+ in federal contracts from USASpending.gov across DoD, DHS, VA, DoE
213
+ - Global news coverage from GDELT — ICE/Medicaid controversy, UK MoD warning
214
+ - Live PLTR price, market cap ~$370B, P/E 244x from Yahoo Finance
143
215
 
144
- The spec is the durable asset. The code is the reference implementation.
216
+ Bloomberg Terminal doesn't read commit history as a company health signal. FreshContext does.
145
217
 
146
218
  ---
147
219
 
148
220
  ## What Keeps Running Without You
149
221
 
150
- The Cloudflare cron fires every 6 hours automatically. Every run scrapes all 18
151
- watched queries, deduplicates by content hash, stores new signals in D1, and
152
- generates a briefing. The dataset accumulates indefinitely. No action required.
222
+ The Cloudflare cron fires every 6 hours automatically. Every run:
223
+ 1. Scrapes all 18 watched queries across all adapters
224
+ 2. Deduplicates results by content hash
225
+ 3. Scores each result for relevancy (0-100)
226
+ 4. Filters noise below 35
227
+ 5. Stores new signals in D1
228
+ 6. Formats a briefing sorted by relevancy score
229
+
230
+ The dataset accumulates indefinitely. No action required.
153
231
 
154
232
  ---
155
233
 
156
- ## Pending Items at Time of Handoff
234
+ ## Valuation Reference
157
235
 
158
- Apify Playwright — extract_reddit, extract_yc, extract_producthunt may error on
159
- Apify. Fix: add RUN npx playwright install chromium --with-deps to .actor/Dockerfile.
236
+ ### FreshContext
237
+ | Deal type | Ask | Accept | Walk below |
238
+ |---|---|---|---|
239
+ | White-label licence | $8K/mo | $2–3K/mo | $1,500/mo |
240
+ | Full acquisition | $500K | $80–150K | $50K |
160
241
 
161
- Synthesis endpoint — /briefing/now is paused. Needs ANTHROPIC_KEY in Worker env
162
- and credits loaded at console.anthropic.com. Infrastructure is fully built.
242
+ ### Catatonica
243
+ | Deal type | Ask | Accept | Walk below |
244
+ |---|---|---|---|
245
+ | White-label licence | $5K/mo | $1.5–2.5K/mo | $800/mo |
246
+ | Full acquisition | $250K | $30–75K | $20K |
163
247
 
164
- Agnost AI analytics — free MCP analytics offered by Apify. Sign up at app.agnost.ai,
165
- add one line to server.ts. Gives tool call tracking and usage dashboards.
248
+ ---
166
249
 
167
- Apify GitHub Actions trigger npm publish is automated but Apify rebuild is
168
- manual. Add a workflow step calling Apify's API to auto-rebuild on push.
250
+ ## Active Outreach at Time of Handoff (April 2026)
251
+
252
+ ### FreshContext — AGI Leasing Pitch Sent
253
+ OpenAI (partner form submitted + partnerships@openai.com),
254
+ Anthropic (partnerships@anthropic.com),
255
+ Google (partnerships@google.com),
256
+ xAI (partnerships@x.ai),
257
+ Cohere (partnerships@cohere.com),
258
+ Meta AI (ai-partnerships@meta.com),
259
+ Perplexity (partnerships@perplexity.ai),
260
+ Mistral (partnerships@mistral.ai),
261
+ Hugging Face (partnerships@huggingface.co),
262
+ DeepSeek (partnerships@deepseek.com)
263
+
264
+ ### FreshContext — Other
265
+ Palantir, GovTech Singapore (GeBIZ adapter delivered),
266
+ LangChain, LlamaIndex, CrewAI, Zalando, Celonis, Vercel,
267
+ FactSet, Morningstar, LSEG, PatSnap, Klarna, MiniMax,
268
+ Apify, Cloudflare Startups
269
+
270
+ ### Catatonica — Wellness / Wearables
271
+ Calm (+ partnership form submitted via Monday.com),
272
+ Headspace, Whoop, Oura, WellHub, Eight Sleep
273
+
274
+ ### Catatonica — Japan
275
+ Recruit Holdings, LY Corporation (LINE), Mercari,
276
+ DeNA, KDDI, Meiji Yasuda Life
277
+
278
+ ### LinkedIn Activity
279
+ Profile post live (origin story), 3 group posts live across
280
+ AI/ML groups — 107+ impressions. Stephen Petersilge
281
+ (Head of BizOps, OpenAI) messaged directly.
169
282
 
170
283
  ---
171
284
 
172
- ## Outreach Status at Time of Handoff
285
+ ## Pending Items
286
+
287
+ | Item | Notes |
288
+ |---|---|
289
+ | Synthesis endpoint `/briefing/now` | Paused — needs ANTHROPIC_KEY in Worker env + credits at console.anthropic.com. Infrastructure fully built. |
290
+ | Apify store description | Still shows old tool count — update to 20 tools |
291
+ | Dashboard (Layer 5) | React frontend for D1 pipeline — designed, not yet built |
292
+ | `extract_gdelt` GKG upgrade | Tone scores, Goldstein scale, event codes — planned |
293
+ | Agnost AI analytics | Free MCP analytics via Apify. Sign up at app.agnost.ai |
294
+
295
+ ---
296
+
297
+ ## Also Built: Catatonica
298
+
299
+ A second project by the same author.
173
300
 
174
- 19 confirmed delivered emails across US, Singapore, China, and Europe.
175
- Cloudflare for Startups awaiting reply (10 business day window).
176
- GovTech Singapore auto-acknowledged, reply expected by March 25, 2026.
177
- All othersfirst contact sent, no replies yet.
301
+ Live at: https://catatonica.pages.dev
302
+ Stack: Vanilla HTML/CSS/JS, Cloudflare Pages, Supabase (magic link auth), Stripe
303
+ Pricing: Free / $9/mo Deep / $29/mo The Order
304
+ Philosophy: The Art of Doing Nothing structured stillness practice for high-intensity minds
305
+ Mechanics: Situations → Sessions → Catatons → Planned Obsolescence → Chronicle
178
306
 
179
- HN post live: https://news.ycombinator.com/user?id=Prince-Gabriel
307
+ Catatonica is available for separate acquisition or white-label arrangement.
308
+ See HANDOFF.md valuation section above.
180
309
 
181
310
  ---
182
311