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 +45 -3
- package/output-schemas.js +3 -1
- package/package.json +8 -3
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
|
-
|
|
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.
|
|
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": "
|
|
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": {
|