agent402-mcp 0.12.6 → 0.12.8

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/index.js CHANGED
@@ -492,13 +492,14 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
492
492
  title: "List top x402 sellers",
493
493
  annotations: { title: "List top x402 sellers", ...SAFE },
494
494
  description:
495
- "List the x402 sellers earning the most USDC (or serving the most calls) on Base in the last ~24h, derived from on-chain USDC transfers. Useful for agents discovering the live x402 economy: who's getting paid, which networks, and where to point demand. Free to call (no payment, no proof-of-work). Defaults: top 10, sort by USDC, exclude this service's own wallet.",
495
+ "List ranked sellers from the on-chain leaderboards. wire=x402 (default): x402 sellers earning the most USDC (or serving the most calls) on Base in the last ~24h, derived from on-chain USDC transfers. wire=mpp: MPP (Machine Payments Protocol) sellers ranked by inbound USDC.e transfers on Tempo to the recipient their live 402 names (window, rolling 7d/30d, distinct payers, volume; routable = the host's router will pay them). Useful for agents discovering the live x402 / MPP economy: who's getting paid, which networks, and where to point demand. Free to call (no payment, no proof-of-work). Defaults: top 10, sort by USDC, exclude this service's own wallet.",
496
496
  inputSchema: {
497
497
  type: "object",
498
498
  properties: {
499
499
  limit: { type: "number", description: "Max rows to return (default 10, max 50)" },
500
- sort: { type: "string", enum: ["usd", "calls"], description: "Rank by USDC settled (default) or by call count" },
500
+ sort: { type: "string", enum: ["usd", "calls"], description: "Rank by USDC settled (default) or by call count (mpp: 7-day volume / 7-day transfers, default calls)" },
501
501
  include: { type: "string", enum: ["external", "all"], description: "'external' (default) hides this service's own wallet; 'all' includes it" },
502
+ wire: { type: "string", enum: ["x402", "mpp"], description: "Which leaderboard: x402 (default) or mpp" },
502
503
  },
503
504
  },
504
505
  outputSchema: META_OUTPUT_SCHEMAS["sellers.list"],
@@ -617,7 +618,7 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
617
618
  maintainer: "Havok Holdings LLC",
618
619
  },
619
620
  positioning: "Deterministic tools layer beside LLM gateways: flagship search/answer first, 500+ long-tail tools via catalog.find / catalog.search / catalog.call.",
620
- ecosystem: "Call sellers.list to see which x402 sellers (any wallet, not just this host) are settling the most USDC (primarily on Base) in the last 24h - discovers the live economy beyond this catalog.",
621
+ ecosystem: "Call sellers.list to see which x402 sellers (any wallet, not just this host) are settling the most USDC (primarily on Base) in the last 24h, or sellers.list with wire=mpp for MPP sellers ranked by on-chain USDC.e transfers on Tempo - discovers the live economy beyond this catalog.",
621
622
  });
622
623
  }
623
624
  if (name === "server.describe") {
@@ -641,6 +642,47 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
641
642
  docs: `${BASE}/llms.txt`,
642
643
  });
643
644
  }
645
+ if (name === "sellers.list" && args.wire === "mpp") {
646
+ // Thin pass-through to /api/mpp-leaderboard (free, unpaywalled), same
647
+ // compact row shape as the hosted connector's wire=mpp branch.
648
+ const limit = Math.min(Math.max(parseInt(args.limit, 10) || 10, 1), 50);
649
+ const sort = args.sort === "usd" ? "usd" : "calls";
650
+ const include = args.include === "all" ? "all" : "external";
651
+ const res = await fetch(`${BASE}/api/mpp-leaderboard`);
652
+ if (!res.ok) {
653
+ return { content: [{ type: "text", text: `Failed to fetch the MPP leaderboard from ${BASE}: HTTP ${res.status}` }], isError: true };
654
+ }
655
+ const lb = await res.json();
656
+ let board = (Array.isArray(lb.rows) ? lb.rows : []).filter((r) => r.transfers > 0 || (r.d30?.transfers || 0) > 0);
657
+ if (include === "external") board = board.filter((r) => !r.self);
658
+ board = board.slice().sort((a, b) => sort === "usd"
659
+ ? ((b.d7?.volumeUsdc || 0) - (a.d7?.volumeUsdc || 0)) || (b.transfers - a.transfers)
660
+ : ((b.d7?.transfers || 0) - (a.d7?.transfers || 0)) || (b.transfers - a.transfers)).slice(0, limit);
661
+ const rows = board.map((r, i) => ({
662
+ rank: i + 1,
663
+ name: r.self ? "this host" : (r.sellers || []).map((s) => s.name).join(", ") || "unnamed recipient",
664
+ network: "eip155:4217",
665
+ wallet: r.recipient,
666
+ homepage: r.sellers?.[0]?.url || null,
667
+ transfersWindow: r.transfers,
668
+ transfers7d: r.d7?.transfers || 0,
669
+ transfers30d: r.d30?.transfers || 0,
670
+ payersWindow: r.payers,
671
+ volumeUsdc7d: Math.round((r.d7?.volumeUsdc || 0) * 10000) / 10000,
672
+ routable: !!r.routable,
673
+ }));
674
+ return mcpJsonResult({
675
+ wire: "mpp",
676
+ measure: "inbound USDC.e transfers on Tempo (chain 4217) to the recipient each seller's live MPP challenge names - a window read plus rolling 7d/30d, a proxy for settlements, not lifetime",
677
+ window: lb.window ? `~${lb.window.approxHours}h (${lb.window.blocks} blocks)` : null,
678
+ asOf: lb.generatedAt || null,
679
+ sort, include,
680
+ totalSellers: Array.isArray(lb.rows) ? lb.rows.length : 0,
681
+ results: rows,
682
+ ...(lb.stale ? { note: "Leaderboard is stale or still warming - retry in a few minutes." } : {}),
683
+ source: `${BASE}/api/mpp-leaderboard`,
684
+ });
685
+ }
644
686
  if (name === "sellers.list") {
645
687
  const limit = Math.min(Math.max(parseInt(args.limit, 10) || 10, 1), 50);
646
688
  const sort = args.sort === "calls" ? "calls" : "usd";
package/output-schemas.js CHANGED
@@ -251,7 +251,9 @@ export const META_OUTPUT_SCHEMAS = {
251
251
  "sellers.list": {
252
252
  type: "object",
253
253
  properties: {
254
- window: { type: "string" },
254
+ wire: { type: "string", enum: ["x402", "mpp"] },
255
+ measure: { type: "string" },
256
+ window: { type: ["string", "null"] },
255
257
  asOf: { description: "Snapshot timestamp" },
256
258
  sort: { type: "string", enum: ["usd", "calls"] },
257
259
  include: { type: "string", enum: ["external", "all"] },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent402-mcp",
3
- "version": "0.12.6",
3
+ "version": "0.12.8",
4
4
  "mcpName": "io.github.MikeyPetrillo/agent402",
5
5
  "author": "Havok Holdings LLC <mike@agent402.tools> (https://agent402.tools)",
6
6
  "homepage": "https://agent402.tools",
@@ -8,7 +8,7 @@
8
8
  "type": "git",
9
9
  "url": "git+https://github.com/MikeyPetrillo/Agent402.git"
10
10
  },
11
- "description": "Open-source MCP server exposing Agent402.Tools' catalog - 500+ strong: 400+ self-hostable tools + 100+ multi-tool skill packs (security-audit, trend-analysis, structured-scrape, decode-blob, forecasting-bake-off) for AI agents - browser, web search & answers, PDFs, OCR, images, LLM inference, image generation, code execution, STT, embeddings, live financial/crypto/macro data, SEC EDGAR filings, deterministic stats & forecasting, compression, payments. Free via proof-of-work, or pay per call in USDC on Base, Solana, Polygon, Arbitrum, Monad, Celo, Avalanche, Sei, Optimism, Stellar & Algorand - plus USDG on Robinhood Chain (12 chains total) - via the x402 protocol. The hosted API also accepts MPP (Machine Payments Protocol) clients on the same 402: USDC on Base/Celo or PathUSD natively on Tempo.",
11
+ "description": "Agentic Finance (AIFI) MCP server: open-source MCP server exposing Agent402.Tools' catalog - 500+ strong: 400+ self-hostable tools + 100+ multi-tool skill packs (security-audit, trend-analysis, structured-scrape, decode-blob, forecasting-bake-off) for AI agents - browser, web search & answers, PDFs, OCR, images, LLM inference, image generation, code execution, STT, embeddings, live financial/crypto/macro data, SEC EDGAR filings, deterministic stats & forecasting, compression, payments. Free via proof-of-work, or pay per call in USDC on Base, Solana, Polygon, Arbitrum, Monad, Celo, Avalanche, Sei, Optimism, Stellar & Algorand - plus USDG on Robinhood Chain (12 chains total) - via the x402 protocol. The hosted API also accepts MPP (Machine Payments Protocol) clients on the same 402: USDC on Base/Celo or PathUSD natively on Tempo.",
12
12
  "type": "module",
13
13
  "bin": {
14
14
  "agent402-mcp": "index.js"
@@ -59,7 +59,12 @@
59
59
  "optimism",
60
60
  "stellar",
61
61
  "algorand",
62
- "robinhood-chain"
62
+ "robinhood-chain",
63
+ "agentic-finance",
64
+ "aifi",
65
+ "agentic-payments",
66
+ "mpp",
67
+ "machine-payments-protocol"
63
68
  ],
64
69
  "license": "MIT",
65
70
  "dependencies": {