@tensorfeed/mcp-server 1.38.0 → 2.0.0

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/CHANGELOG.md CHANGED
@@ -2,6 +2,104 @@
2
2
 
3
3
  All notable changes to the [TensorFeed.ai MCP server](https://github.com/RipperMercs/tensorfeed-mcp). Free tools work without configuration; premium tools require a bearer token via the `TENSORFEED_TOKEN` env var. Buy credits at [tensorfeed.ai/developers/agent-payments](https://tensorfeed.ai/developers/agent-payments).
4
4
 
5
+ ## 2.0.0 - 2026-06-07
6
+
7
+ Major tool-surface rework. BREAKING: the catalog drops from about 78 tools to
8
+ exactly 24. The old surface had grown wide enough that agents picked the wrong
9
+ tool or stalled across near-duplicate names; 24 sharp tools make tool-selection
10
+ reliable. No HTTP endpoint was removed. Everything still works at
11
+ tensorfeed.ai; this release only changes which slices are first-class MCP tools.
12
+
13
+ ### Migration
14
+
15
+ If your code called any of the names below, switch to the replacement:
16
+
17
+ - The eight signed verdicts collapse from preview plus paid pairs into one tool
18
+ each with a `tier` parameter. `<family>_verdict_preview` and
19
+ `<family>_verdict` are now a single `<family>_verdict`, where `tier` is
20
+ `preview` (free, the default) or `full` (1 credit, AFTA-signed). Affected
21
+ families: route, provider_reliability, x402_settlement, x402_publisher,
22
+ stack_safety, benchmark_trust, failover, ssvc.
23
+ - The four time series collapse from free plus paid pairs into one tool each
24
+ with a `days` parameter. `pricing_series_free` and `pricing_series` are now a
25
+ single `pricing_series`; the same applies to `benchmark_series`,
26
+ `status_uptime`, and `status_leaderboard`. Pass `days` 1 to 7 for the free
27
+ window or 8 to 90 for the paid window.
28
+ - The four watch creators merge into one `create_watch` with a `type`
29
+ parameter. `create_price_watch`, `create_status_watch`, `create_digest_watch`,
30
+ and `create_leaderboard_rank_watch` are now `create_watch` with `type` set to
31
+ `price`, `status`, `digest`, or `leaderboard_rank`.
32
+ - `get_ai_today` folds into `get_ai_news`. Pass `digest: true` for the daily
33
+ brief that `get_ai_today` used to return.
34
+ - `get_account_balance` and `get_account_usage` merge into one `account_status`
35
+ that returns both the balance and the usage view.
36
+
37
+ ### Removed from the tool list (still live as HTTP endpoints)
38
+
39
+ About 40 long-tail standalone tools were dropped from the MCP surface, including
40
+ the model-deprecation, agent-activity, IOC, AFTA-certification,
41
+ agent-reputation, agent-readiness, crawler-access, MCP-registry-snapshot,
42
+ probe, paper and trending feeds, Reddit, OpenRouter, ecosystem-today,
43
+ earthquake, weather-alert, agent-opportunity, AI-CVE, company-filings, x402
44
+ market, and the standalone routing, news-search, cost-projection, and
45
+ agents-directory tools. None of these went away on the server. Each one is
46
+ still callable as an HTTP endpoint on tensorfeed.ai, and the new
47
+ `find_tensorfeed_data` tool helps an agent discover the right one on demand.
48
+
49
+ ### Added
50
+
51
+ - `find_tensorfeed_data`: a discovery tool. Describe the AI-ecosystem data you
52
+ want and it returns the matching TensorFeed endpoints, with the path and
53
+ parameters to call, so an agent can reach the full catalog without a dedicated
54
+ tool for every feed.
55
+
56
+ ### The 24 tools
57
+
58
+ `get_ai_news`, `get_ai_status`, `is_service_down`, `get_model_pricing`,
59
+ `route_verdict`, `provider_reliability_verdict`, `x402_settlement_verdict`,
60
+ `x402_publisher_verdict`, `stack_safety_verdict`, `benchmark_trust_verdict`,
61
+ `failover_verdict`, `ssvc_verdict`, `whats_new`, `compare_models`,
62
+ `provider_deepdive`, `pricing_series`, `benchmark_series`, `status_uptime`,
63
+ `status_leaderboard`, `account_status`, `list_watches`, `create_watch`,
64
+ `delete_watch`, `find_tensorfeed_data`.
65
+
66
+ ## 1.39.0 - 2026-06-04
67
+
68
+ Surfaces TensorFeed's full signed-verdict family in the stdio server. Adds the
69
+ seven verdicts below, each shipping as a free preview tool plus a 1-credit
70
+ ($0.02) signed premium tool with an AFTA-signed receipt. This brings the catalog
71
+ to 79 tools (48 free, 31 premium):
72
+ - `provider_reliability_verdict_preview` / `provider_reliability_verdict`:
73
+ the signed dependability ruling over TensorFeed's own latency and availability
74
+ probes, scoring availability and tail consistency to name the safest provider
75
+ to build on.
76
+ - `x402_settlement_verdict_preview` / `x402_settlement_verdict`: the settlement
77
+ momentum, concentration, and leading-publisher read over the on-chain x402
78
+ index for a 24h, 7d, or 30d window.
79
+ - `x402_publisher_verdict_preview` / `x402_publisher_verdict`: the signed trust
80
+ verdict on one publisher domain (actively settling, recently quiet, registered
81
+ with no settlement, unreachable, no Base payTo, or not indexed) before you
82
+ pay it.
83
+ - `stack_safety_verdict_preview` / `stack_safety_verdict`: the GO, HOLD, or
84
+ BLOCK deploy gate over a list of package@version pins, with the matched-CVE
85
+ and KEV evidence for the worst offender.
86
+ - `benchmark_trust_verdict_preview` / `benchmark_trust_verdict`: the trust band
87
+ and 0 to 100 score for a benchmark or category, flagging saturation,
88
+ contamination, and held-out status.
89
+ - `failover_verdict_preview` / `failover_verdict`: when a provider is degraded,
90
+ the signed ruling on the single best operational provider to fail over to,
91
+ with ranked alternatives.
92
+ - `ssvc_verdict_preview` / `ssvc_verdict`: the CISA SSVC Act, Attend, Track, or
93
+ Track* decision for one CVE, with the decision points and a live KEV
94
+ cross-check.
95
+
96
+ Adds contextual pointers so an agent discovers the matching verdict from a tool
97
+ it already uses: `is_service_down` points to `failover_verdict`,
98
+ `get_ai_cves_latest` points to `ssvc_verdict` and `stack_safety_verdict`,
99
+ `get_x402_publishers` points to `x402_publisher_verdict`, and
100
+ `status_leaderboard_free` points to `provider_reliability_verdict`. No behavior
101
+ change to those four tools.
102
+
5
103
  ## 1.38.0 - 2026-06-03
6
104
 
7
105
  Description-only release. Sharpens the six foundational free tools (get_ai_news,
@@ -290,46 +388,46 @@ All three are backed by the worker endpoints shipped in the same monorepo commit
290
388
  ## 1.11.0 - 2026-04-29
291
389
 
292
390
  ### Added
293
- - `probe_latest` tool — last 24 hours of measured LLM endpoint latency and availability per provider (Anthropic, OpenAI, Google, Mistral, Cohere). TensorFeed pings each provider's chat completion endpoint every 15 min and records ttfb / total / status. The data is unique because it is measured, not self-reported. Free, no auth.
294
- - `probe_series` tool — daily SLA series for one provider with ttfb/total p50/p95/p99 and incident-hour count, 90-day max range. 1 credit per call. Pairs with `premium_routing` for picking a model whose SLA you can verify.
391
+ - `probe_latest` tool: last 24 hours of measured LLM endpoint latency and availability per provider (Anthropic, OpenAI, Google, Mistral, Cohere). TensorFeed pings each provider's chat completion endpoint every 15 min and records ttfb / total / status. The data is unique because it is measured, not self-reported. Free, no auth.
392
+ - `probe_series` tool: daily SLA series for one provider with ttfb/total p50/p95/p99 and incident-hour count, 90-day max range. 1 credit per call. Pairs with `premium_routing` for picking a model whose SLA you can verify.
295
393
 
296
394
  ## 1.10.0 - 2026-04-29
297
395
 
298
396
  ### Added
299
- - `mcp_registry_snapshot` tool — today's summary of the official Model Context Protocol server registry: total servers, by-status breakdown, top namespaces, 1-day deltas (newly added, reactivated, deprecated). Free, no auth.
300
- - `mcp_registry_series` tool — multi-day time series of MCP registry growth and churn. Range capped at 90 days, default 30 days back. 1 credit per call.
397
+ - `mcp_registry_snapshot` tool: today's summary of the official Model Context Protocol server registry: total servers, by-status breakdown, top namespaces, 1-day deltas (newly added, reactivated, deprecated). Free, no auth.
398
+ - `mcp_registry_series` tool: multi-day time series of MCP registry growth and churn. Range capped at 90 days, default 30 days back. 1 credit per call.
301
399
 
302
400
  The new tools are backed by a fresh daily cron capture of registry.modelcontextprotocol.io. The registry itself is open data, but a 30/90-day trend requires daily capture started weeks before the question is asked.
303
401
 
304
402
  ## 1.7.0 - 2026-04-27
305
403
 
306
404
  ### Added
307
- - `compare_models` tool — side-by-side comparison of 2-5 AI models with normalized benchmarks (union-of-keys with null for missing scores) and rankings (cheapest blended, most context, per-benchmark leaderboard). 1 credit per call.
405
+ - `compare_models` tool: side-by-side comparison of 2-5 AI models with normalized benchmarks (union-of-keys with null for missing scores) and rankings (cheapest blended, most context, per-benchmark leaderboard). 1 credit per call.
308
406
 
309
407
  ## 1.6.0 - 2026-04-27
310
408
 
311
409
  ### Added
312
- - `provider_deepdive` tool — one provider's full profile in a single call: live status with components, all models with pricing + tier + benchmark scores joined, recent news, agent traffic. 1 credit per call.
410
+ - `provider_deepdive` tool: one provider's full profile in a single call: live status with components, all models with pricing + tier + benchmark scores joined, recent news, agent traffic. 1 credit per call.
313
411
 
314
412
  ## 1.5.0 - 2026-04-27
315
413
 
316
414
  ### Added
317
- - `create_digest_watch` tool — register a scheduled daily/weekly digest watch. Fires HMAC-signed POST to your callback URL with a curated pricing-changes summary regardless of whether anything dramatic happened. 1 credit per registration.
415
+ - `create_digest_watch` tool: register a scheduled daily/weekly digest watch. Fires HMAC-signed POST to your callback URL with a curated pricing-changes summary regardless of whether anything dramatic happened. 1 credit per registration.
318
416
 
319
417
  ## 1.4.0 - 2026-04-27
320
418
 
321
419
  ### Added
322
- - `forecast` tool — conservative linear-regression forecast for a price field or benchmark score with 95% prediction interval and confidence label. 1 credit per call.
420
+ - `forecast` tool: conservative linear-regression forecast for a price field or benchmark score with 95% prediction interval and confidence label. 1 credit per call.
323
421
 
324
422
  ## 1.3.0 - 2026-04-27
325
423
 
326
424
  ### Added
327
- - `cost_projection` tool — project workload cost across 1-10 AI models with four time horizons and cheapest-monthly ranking. 1 credit per call.
425
+ - `cost_projection` tool: project workload cost across 1-10 AI models with four time horizons and cheapest-monthly ranking. 1 credit per call.
328
426
 
329
427
  ## 1.2.0 - 2026-04-27
330
428
 
331
429
  ### Added
332
- - `news_search` tool — full-text search over the AI news corpus with date/provider/category filters and relevance scoring. 1 credit per call.
430
+ - `news_search` tool: full-text search over the AI news corpus with date/provider/category filters and relevance scoring. 1 credit per call.
333
431
 
334
432
  ## 1.1.0 - 2026-04-27
335
433
 
@@ -339,7 +437,7 @@ The new tools are backed by a fresh daily cron capture of registry.modelcontextp
339
437
  - `mcp-server/server.json` manifest authored against the official MCP registry schema (`ai.tensorfeed/mcp-server`).
340
438
  - README expanded with per-tier tool tables and `env` config examples for Claude Desktop / Code.
341
439
 
342
- ## 1.0.0 — 2026-04-26 (initial release)
440
+ ## 1.0.0 - 2026-04-26 (initial release)
343
441
 
344
442
  ### Added
345
443
  - 5 free tools: `get_ai_news`, `get_ai_status`, `is_service_down`, `get_model_pricing`, `get_ai_today`. No auth, no install beyond `npx -y @tensorfeed/mcp-server`.
package/README.md CHANGED
@@ -43,22 +43,38 @@ Swap `task` for `reasoning`, `creative`, or `general`, or pass `?model=<id-or-na
43
43
 
44
44
  ### The agent path (MCP)
45
45
 
46
- With `@tensorfeed/mcp-server` installed, an agent gets two tools. Call the free one for the pick, then the paid one when it needs to defend the choice:
46
+ With `@tensorfeed/mcp-server` installed, an agent gets one `route_verdict` tool with a `tier` parameter. Call it with the default free tier for the pick, then `tier="full"` when it needs to defend the choice:
47
47
 
48
48
  ```text
49
- # Free taste: the top pick + reasoning, no token (10/IP/day)
50
- route_verdict_preview({ task: "code" })
49
+ # Free taste: the top pick + reasoning, no token (10/IP/day). tier defaults to "preview".
50
+ route_verdict({ task: "code" })
51
51
 
52
52
  # 1 credit: ranked runners-up, constraint filters, AFTA-signed receipt
53
- route_verdict({ task: "code", max_latency_p95_ms: 1500, budget: 8, min_quality: 0.6 })
53
+ route_verdict({ task: "code", tier: "full", max_latency_p95_ms: 1500, budget: 8, min_quality: 0.6 })
54
54
  ```
55
55
 
56
- `route_verdict` adds the ranked runners-up, the constraint filters (`max_latency_p95_ms`, `budget`, `min_quality`, `require_operational`, `exclude_deprecated`), and the AFTA-signed receipt the agent can audit later. Credits come from [tensorfeed.ai/developers/agent-payments](https://tensorfeed.ai/developers/agent-payments).
56
+ `tier="full"` adds the ranked runners-up, the constraint filters (`max_latency_p95_ms`, `budget`, `min_quality`, `require_operational`, `exclude_deprecated`), and the AFTA-signed receipt the agent can audit later. Credits come from [tensorfeed.ai/developers/agent-payments](https://tensorfeed.ai/developers/agent-payments).
57
57
 
58
58
  ### Why it matters
59
59
 
60
60
  Models, prices, and latency move week to week. `route_verdict` is one signed call an agent can act on now and later prove why it routed the way it did, without rebuilding the comparison from scratch each time.
61
61
 
62
+ ## Catalog
63
+
64
+ 24 tools. The core flagships, the eight signed verdicts, the time-series tools, and the webhook watches are dedicated tools; the rest of the 100+ TensorFeed endpoints are reachable through the `find_tensorfeed_data` discovery tool and callable over HTTP. Free tiers need no token; paid tiers charge USDC on Base via x402 and return an AFTA-signed receipt. The full tool reference lives in the [standalone repo](https://github.com/RipperMercs/tensorfeed-mcp).
65
+
66
+ ### Verdict family
67
+
68
+ Eight signed decisions (route_verdict is featured above). Each is a single tool with a `tier` parameter: `tier="preview"` (default) is free, `tier="full"` costs 1 credit ($0.02) and adds the full ranking and an AFTA-signed receipt:
69
+
70
+ - **provider_reliability_verdict**: the safest AI provider to build on, ranked by availability and tail consistency over TensorFeed's own probes.
71
+ - **x402_settlement_verdict**: the x402 settlement momentum, concentration, and leading publisher over a 24h, 7d, or 30d window.
72
+ - **x402_publisher_verdict**: a signed trust verdict on one publisher domain before you pay it.
73
+ - **stack_safety_verdict**: a GO, HOLD, or BLOCK deploy gate over your package@version pins, with the worst CVE or KEV match.
74
+ - **benchmark_trust_verdict**: a trust band and 0 to 100 score for a benchmark, flagging saturation, contamination, and held-out status.
75
+ - **failover_verdict**: when a provider is degraded, the single best operational provider to fail over to, with ranked alternatives.
76
+ - **ssvc_verdict**: the CISA SSVC Act, Attend, Track, or Track* decision for one CVE, with a live KEV cross-check.
77
+
62
78
  ## Publish a new version
63
79
 
64
80
  From the main tensorfeed repo:
@@ -0,0 +1,9 @@
1
+ export interface EndpointRow {
2
+ key: string;
3
+ path: string;
4
+ description: string;
5
+ }
6
+ /** Flatten the /api/meta `api` object ({key: 'path (desc)'}) into rows. */
7
+ export declare function flattenCatalog(meta: unknown): EndpointRow[];
8
+ /** Keyword-overlap score of a query against each row's key + description. Returns top N with score > 0. */
9
+ export declare function scoreEndpoints(rows: EndpointRow[], query: string, limit: number): EndpointRow[];
@@ -0,0 +1,38 @@
1
+ /** Flatten the /api/meta `api` object ({key: 'path (desc)'}) into rows. */
2
+ export function flattenCatalog(meta) {
3
+ const api = meta?.api;
4
+ if (!api || typeof api !== 'object')
5
+ return [];
6
+ const rows = [];
7
+ for (const [key, val] of Object.entries(api)) {
8
+ if (typeof val !== 'string')
9
+ continue;
10
+ const m = val.match(/^(\S+)\s*(.*)$/);
11
+ const path = m ? m[1] : val;
12
+ const description = m ? m[2].replace(/^\(/, '').replace(/\)$/, '') : '';
13
+ rows.push({ key, path, description });
14
+ }
15
+ return rows;
16
+ }
17
+ const STOP = new Set(['the', 'a', 'an', 'for', 'of', 'to', 'and', 'or', 'in', 'on', 'with', 'me', 'get', 'find', 'data', 'i', 'need', 'want', 'my']);
18
+ function tokenize(s) {
19
+ return s.toLowerCase().split(/[^a-z0-9]+/).filter((t) => t.length > 2 && !STOP.has(t));
20
+ }
21
+ /** Keyword-overlap score of a query against each row's key + description. Returns top N with score > 0. */
22
+ export function scoreEndpoints(rows, query, limit) {
23
+ const q = new Set(tokenize(query));
24
+ if (q.size === 0)
25
+ return [];
26
+ const scored = rows
27
+ .map((r) => {
28
+ const hay = tokenize(r.key + ' ' + r.description);
29
+ let score = 0;
30
+ for (const t of hay)
31
+ if (q.has(t))
32
+ score += 1;
33
+ return { r, score };
34
+ })
35
+ .filter((x) => x.score > 0)
36
+ .sort((a, b) => b.score - a.score);
37
+ return scored.slice(0, limit).map((x) => x.r);
38
+ }