agent402-mcp 0.12.7 → 0.12.9
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/README.md +1 -1
- package/index.js +47 -4
- package/output-schemas.js +5 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# agent402-mcp
|
|
2
2
|
|
|
3
|
-
MCP server for [Agent402](https://agent402.tools) - a catalog of **500+: 400+ pay-per-call web tools + 100+ curated multi-tool skill packs** for AI agents (every one tested, priced, and settled on-chain; every one earns its place), paid per call in USDC via the [x402 protocol](https://www.x402.org), or **with compute (proof-of-work)** when no wallet is configured. (The hosted API is dual-stack: it also accepts [MPP](https://agent402.tools/what-is-mpp) clients on the same 402, settling on Base/Celo or natively on Tempo; this package pays via x402.) Built by [Havok Holdings LLC](https://github.com/MikeyPetrillo/Agent402).
|
|
3
|
+
MCP server for [Agent402](https://agent402.tools), the applied layer of [Agentic Finance (AIFI)](https://agent402.tools/agentic-finance) - a catalog of **500+: 400+ pay-per-call web tools + 100+ curated multi-tool skill packs** for AI agents (every one tested, priced, and settled on-chain; every one earns its place), paid per call in USDC via the [x402 protocol](https://www.x402.org), or **with compute (proof-of-work)** when no wallet is configured. (The hosted API is dual-stack: it also accepts [MPP](https://agent402.tools/what-is-mpp) clients on the same 402, settling on Base/Celo or natively on Tempo; this package pays via x402.) Built by [Havok Holdings LLC](https://github.com/MikeyPetrillo/Agent402).
|
|
4
4
|
|
|
5
5
|
Your agent gets browser rendering, screenshots, PDF text extraction, URL→markdown, live web search **+ web answers with citations**, live **financial/crypto/macro data** (Yahoo stock quotes, CoinGecko, FRED, ECB FX, World Bank, yield curve), **SEC EDGAR filings** (10-K/10-Q text, XBRL, insider, 13F, IPO calendar), **deterministic stats & forecasting** (Pearson correlation, OLS, Holt-Winters), **compression** (gzip/brotli), DNS/TLS/WHOIS + email-deliverability checks, wallet-keyed shared memory, and 200+ deterministic pure-CPU utilities - plus 100+ **skill packs** like `security-audit`, `trend-analysis`, `structured-scrape`, `decode-blob`, and `forecasting-bake-off` callable as MCP prompts. Payment handled invisibly underneath the MCP calls. No signup, no API key.
|
|
6
6
|
|
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"],
|
|
@@ -616,8 +617,8 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
|
616
617
|
npm: "npx -y agent402-mcp",
|
|
617
618
|
maintainer: "Havok Holdings LLC",
|
|
618
619
|
},
|
|
619
|
-
positioning:
|
|
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.",
|
|
620
|
+
positioning: `Deterministic tools layer beside LLM gateways: flagship search/answer first, 500+ long-tail tools via catalog.find / catalog.search / catalog.call. Agent402 is the applied layer of Agentic Finance (AIFI): agents that pay and get paid per request over x402 or MPP (Machine Payments Protocol), both on the same 402 - ${BASE}/agentic-finance, ${BASE}/glossary.`,
|
|
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") {
|
|
@@ -625,6 +626,7 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
|
625
626
|
service: BASE,
|
|
626
627
|
connector: "stdio npm package (agent402-mcp)",
|
|
627
628
|
maintainer: "Havok Holdings LLC",
|
|
629
|
+
positioning: `Agent402 is the applied layer of Agentic Finance (AIFI): software agents that pay and get paid on their own, per request, over x402 or MPP (Machine Payments Protocol) - both answered on the same 402. ${BASE}/agentic-finance, ${BASE}/glossary.`,
|
|
628
630
|
startHere: {
|
|
629
631
|
firstJob: "Search the web and answer questions. Call web.search or web.answer directly, or catalog.find with your task.",
|
|
630
632
|
mode: HAS_WALLET ? "usdc" : "proof-of-work",
|
|
@@ -641,6 +643,47 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
|
641
643
|
docs: `${BASE}/llms.txt`,
|
|
642
644
|
});
|
|
643
645
|
}
|
|
646
|
+
if (name === "sellers.list" && args.wire === "mpp") {
|
|
647
|
+
// Thin pass-through to /api/mpp-leaderboard (free, unpaywalled), same
|
|
648
|
+
// compact row shape as the hosted connector's wire=mpp branch.
|
|
649
|
+
const limit = Math.min(Math.max(parseInt(args.limit, 10) || 10, 1), 50);
|
|
650
|
+
const sort = args.sort === "usd" ? "usd" : "calls";
|
|
651
|
+
const include = args.include === "all" ? "all" : "external";
|
|
652
|
+
const res = await fetch(`${BASE}/api/mpp-leaderboard`);
|
|
653
|
+
if (!res.ok) {
|
|
654
|
+
return { content: [{ type: "text", text: `Failed to fetch the MPP leaderboard from ${BASE}: HTTP ${res.status}` }], isError: true };
|
|
655
|
+
}
|
|
656
|
+
const lb = await res.json();
|
|
657
|
+
let board = (Array.isArray(lb.rows) ? lb.rows : []).filter((r) => r.transfers > 0 || (r.d30?.transfers || 0) > 0);
|
|
658
|
+
if (include === "external") board = board.filter((r) => !r.self);
|
|
659
|
+
board = board.slice().sort((a, b) => sort === "usd"
|
|
660
|
+
? ((b.d7?.volumeUsdc || 0) - (a.d7?.volumeUsdc || 0)) || (b.transfers - a.transfers)
|
|
661
|
+
: ((b.d7?.transfers || 0) - (a.d7?.transfers || 0)) || (b.transfers - a.transfers)).slice(0, limit);
|
|
662
|
+
const rows = board.map((r, i) => ({
|
|
663
|
+
rank: i + 1,
|
|
664
|
+
name: r.self ? "this host" : (r.sellers || []).map((s) => s.name).join(", ") || "unnamed recipient",
|
|
665
|
+
network: "eip155:4217",
|
|
666
|
+
wallet: r.recipient,
|
|
667
|
+
homepage: r.sellers?.[0]?.url || null,
|
|
668
|
+
transfersWindow: r.transfers,
|
|
669
|
+
transfers7d: r.d7?.transfers || 0,
|
|
670
|
+
transfers30d: r.d30?.transfers || 0,
|
|
671
|
+
payersWindow: r.payers,
|
|
672
|
+
volumeUsdc7d: Math.round((r.d7?.volumeUsdc || 0) * 10000) / 10000,
|
|
673
|
+
routable: !!r.routable,
|
|
674
|
+
}));
|
|
675
|
+
return mcpJsonResult({
|
|
676
|
+
wire: "mpp",
|
|
677
|
+
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",
|
|
678
|
+
window: lb.window ? `~${lb.window.approxHours}h (${lb.window.blocks} blocks)` : null,
|
|
679
|
+
asOf: lb.generatedAt || null,
|
|
680
|
+
sort, include,
|
|
681
|
+
totalSellers: Array.isArray(lb.rows) ? lb.rows.length : 0,
|
|
682
|
+
results: rows,
|
|
683
|
+
...(lb.stale ? { note: "Leaderboard is stale or still warming - retry in a few minutes." } : {}),
|
|
684
|
+
source: `${BASE}/api/mpp-leaderboard`,
|
|
685
|
+
});
|
|
686
|
+
}
|
|
644
687
|
if (name === "sellers.list") {
|
|
645
688
|
const limit = Math.min(Math.max(parseInt(args.limit, 10) || 10, 1), 50);
|
|
646
689
|
const sort = args.sort === "calls" ? "calls" : "usd";
|
package/output-schemas.js
CHANGED
|
@@ -99,7 +99,7 @@ export const FLAGSHIP_WRITERS = new Set(["memory-write"]);
|
|
|
99
99
|
|
|
100
100
|
/** initialize.serverInfo description (MCP Implementation.description). */
|
|
101
101
|
export const MCP_SERVER_DESCRIPTION =
|
|
102
|
-
"
|
|
102
|
+
"Agentic Finance (AIFI) applied layer - deterministic pay-per-call tools for AI agents: live web search and cited answers, news, browser render, market data, speech-to-text, wallet-keyed memory, plus 500+ long-tail tools via catalog.find. Settle in USDC via x402 or MPP (Machine Payments Protocol) on the same 402, or free via proof-of-work. Maintained by Havok Holdings LLC.";
|
|
103
103
|
|
|
104
104
|
/** initialize.serverInfo.websiteUrl */
|
|
105
105
|
export const MCP_SERVER_WEBSITE = "https://agent402.tools";
|
|
@@ -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"] },
|
|
@@ -505,7 +507,7 @@ export function mcpInitializeInstructions(baseUrl) {
|
|
|
505
507
|
const install = mcpInstallHints(baseUrl);
|
|
506
508
|
const hosted = install.hostedUrl;
|
|
507
509
|
return [
|
|
508
|
-
"Agent402 is a deterministic tools layer for AI agents (Havok Holdings LLC).",
|
|
510
|
+
"Agent402 is a deterministic tools layer for AI agents (Havok Holdings LLC) - the applied layer of Agentic Finance (AIFI): agents that pay and get paid per request over x402 or MPP, or free via proof-of-work.",
|
|
509
511
|
"Front door: call web.search or web.answer for live web search and cited answers.",
|
|
510
512
|
"Also listed: web.news, browser.render, market.quote, audio.transcribe, memory.read, memory.write.",
|
|
511
513
|
"Long catalog (500+ tools): call catalog.find with your task, or catalog.search then catalog.call.",
|
package/package.json
CHANGED