mcp-server-madeonsol 1.10.1 → 1.10.3

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 CHANGED
@@ -13,6 +13,8 @@ MCP server for [MadeOnSol](https://madeonsol.com) Solana KOL intelligence API. U
13
13
 
14
14
  > Real-time Solana trading intelligence: track 1,069 KOL wallets with <3s latency, score 23,000+ Pump.fun deployers, surface deshred deploy signals **~500ms before on-chain confirmation**, detect multi-KOL coordination, and stream every DEX trade across 9+ programs. Free tier: 200 requests/day at [madeonsol.com/pricing](https://madeonsol.com/pricing) — no credit card required.
15
15
 
16
+ > **New in 1.10.3** — **Dump-cluster detection.** `madeonsol_token_buyer_quality` breakdown now includes `dump_cluster_count` (3+ dump-cluster wallets in the first-20 → 94% historical dump rate vs 61% base) and `recycled_early_buyer_count`. Full breakdown is returned on all tiers. Also: the API now pushes every pump.fun graduation in real time (`token:graduations` WS channel).
17
+
16
18
  > **New in 1.10** — **Deshred Sniper Alerts.** `madeonsol_sniper_recent` surfaces pump.fun deploys from shred-level data ~500ms before on-chain confirmation. PRO: elite/good deployers. ULTRA: all tiers + custom watchlist. Use `sniper:deploys` WebSocket or `sniper:deploy` webhook for live push.
17
19
  >
18
20
  > **New in 1.9** — **Price alerts, scout leaderboard, coordination history.** `madeonsol_price_alerts_*` CRUD (PRO=5, ULTRA=25). `madeonsol_scout_leaderboard` ranks top scouts by first-touch follow-on rate. `madeonsol_coordination_history` and `madeonsol_peak_history` expose the historical record. `madeonsol_wallet_stats` now returns `derived`: win_rate, roi, verdict, biggest_miss.
@@ -252,10 +254,9 @@ CRUD for token dip/recovery price alerts. Fires when a token's market cap crosse
252
254
 
253
255
  | Tier | Price | Wallets tracked | Requests/day |
254
256
  |------|-------|-----------------|--------------|
255
- | Free | $0 | 10 | 200 |
256
- | BASIC | $29/mo | 10 | 200 (all endpoints) |
257
- | Pro | $99/mo | 50 | 10,000 |
258
- | Ultra | $299/mo | 100 + WS events | 100,000 |
257
+ | BASIC (free) | $0 | 10 | 200 |
258
+ | PRO | $49/mo ($490/yr) | 50 | 10,000 |
259
+ | ULTRA | $149/mo ($1,490/yr) | 100 + WS events | 100,000 |
259
260
 
260
261
  Free tier returns the full REST response shape on every endpoint — real wallets, TX signatures, full precision. Paid tiers unlock webhooks, WebSockets, rule engines, and ULTRA-only data depth. Get a key at [madeonsol.com/pricing](https://madeonsol.com/pricing).
261
262
 
package/dist/index.js CHANGED
@@ -11,7 +11,7 @@ const PORT = parseInt(process.env.PORT || "3100", 10);
11
11
  const MODE = process.env.MCP_TRANSPORT || "stdio"; // "stdio" or "http"
12
12
  let authMode = "none";
13
13
  let paidFetch = fetch;
14
- const UA = "mcp-server-madeonsol/1.10.0";
14
+ const UA = "mcp-server-madeonsol/1.10.2";
15
15
  function apiKeyHeaders() {
16
16
  const h = { "User-Agent": UA };
17
17
  if (authMode === "madeonsol") {
@@ -542,7 +542,7 @@ function registerTools(server) {
542
542
  server.tool("madeonsol_token_cap_table", "First non-deployer early buyers for a token, enriched with PnL, KOL identity, and bot flags. PRO=top 10 (truncated wallets), ULTRA=top 20 (full). BASIC: 403.", { mint: z.string().describe("Token mint address (base58)") }, { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true }, async ({ mint }) => ({
543
543
  content: [{ type: "text", text: await restQuery("GET", `/tokens/${encodeURIComponent(mint)}/cap-table`) }],
544
544
  }));
545
- server.tool("madeonsol_token_buyer_quality", "0–100 buyer-quality score for a token's first-buyer cohort. 5-min cached. BASIC: score+signal only. PRO/ULTRA: full breakdown.", { mint: z.string().describe("Token mint address (base58)") }, { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true }, async ({ mint }) => ({
545
+ server.tool("madeonsol_token_buyer_quality", "0–100 buyer-quality score for a token's first-buyer cohort. 5-min cached. Full breakdown on all tiers, incl. dump_cluster_count (3+ dump-cluster wallets in the first-20 → 94% historical dump rate vs 61% base) and recycled_early_buyer_count.", { mint: z.string().describe("Token mint address (base58)") }, { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true }, async ({ mint }) => ({
546
546
  content: [{ type: "text", text: await restQuery("GET", `/tokens/${encodeURIComponent(mint)}/buyer-quality`) }],
547
547
  }));
548
548
  server.tool("madeonsol_tokens_batch_buyer_quality", "Bulk buyer-quality scoring for up to 50 mints in one call. Shares the 5-min LRU cache with the single-mint endpoint — already-warm mints return at ~zero cost. Response includes cache_hits counter.", { mints: z.array(z.string()).min(1).max(50).describe("1–50 base58 Solana token mints") }, { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true }, async ({ mints }) => ({
@@ -866,7 +866,7 @@ async function main() {
866
866
  res.end(JSON.stringify({
867
867
  name: "madeonsol",
868
868
  description: "Solana KOL trading intelligence and deployer analytics. Real-time data from 1,000+ KOL wallets, 6,700+ Pump.fun deployers, 47,000+ scored alpha wallets, copy-trade rules, and wallet tracker. Supports MadeOnSol API key (msk_) or x402 micropayments.",
869
- version: "1.10.0",
869
+ version: "1.10.2",
870
870
  tools: [
871
871
  { name: "madeonsol_kol_feed", description: "Get real-time Solana KOL trades from 1,000+ tracked wallets." },
872
872
  { name: "madeonsol_kol_coordination", description: "Get KOL convergence signals — tokens multiple KOLs are accumulating." },
@@ -948,7 +948,7 @@ async function main() {
948
948
  transport = new StreamableHTTPServerTransport({
949
949
  sessionIdGenerator: undefined,
950
950
  });
951
- const server = new McpServer({ name: "madeonsol", version: "1.10.0" });
951
+ const server = new McpServer({ name: "madeonsol", version: "1.10.2" });
952
952
  registerTools(server);
953
953
  await server.connect(transport);
954
954
  }
@@ -986,7 +986,7 @@ async function main() {
986
986
  }
987
987
  else {
988
988
  // Stdio transport for local use (Claude Desktop, Cursor, Claude Code)
989
- const server = new McpServer({ name: "madeonsol", version: "1.10.0" });
989
+ const server = new McpServer({ name: "madeonsol", version: "1.10.2" });
990
990
  registerTools(server);
991
991
  const transport = new StdioServerTransport();
992
992
  await server.connect(transport);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-server-madeonsol",
3
- "version": "1.10.1",
3
+ "version": "1.10.3",
4
4
  "mcpName": "io.github.LamboPoewert/madeonsol",
5
5
  "description": "MCP server for MadeOnSol Solana KOL intelligence API — use from Claude, Cursor, or any MCP client",
6
6
  "type": "module",