mcp-server-madeonsol 1.10.4 → 1.11.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/README.md +2 -0
- package/dist/index.js +13 -4
- package/package.json +1 -1
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.11.0** — `madeonsol_tokens_list` gains three new filter params: `min_liq_mc_ratio`, `max_liq_mc_ratio`, and `deployer_tier`. Response items now include `liquidity_to_mc_ratio` and `deployer_tier`. New tool: `madeonsol_signal_performance` — evaluate signal efficacy (hit rate, sample size, median outcome) before acting on any signal. KOL leaderboard entries now include `median_hold_minutes_30d` and `percentile_early_entry_30d`.
|
|
17
|
+
>
|
|
16
18
|
> **New in 1.10.4** — Deployer alerts/profiles now expose `runner_rate` + `labeled_tokens` (fraction of a deployer's labeled tokens that ran vs dumped, gate on `labeled_tokens` ≥3) plus `avg_time_to_bond_minutes`.
|
|
17
19
|
|
|
18
20
|
> **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).
|
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.
|
|
14
|
+
const UA = "mcp-server-madeonsol/1.11.0";
|
|
15
15
|
function apiKeyHeaders() {
|
|
16
16
|
const h = { "User-Agent": UA };
|
|
17
17
|
if (authMode === "madeonsol") {
|
|
@@ -504,6 +504,9 @@ function registerTools(server) {
|
|
|
504
504
|
max_mev_share_pct: z.number().optional().describe("Maximum MEV-share % of 1h volume (post-filter)"),
|
|
505
505
|
mc_change_1h_min_pct: z.number().optional().describe("Minimum 1h MC change % (post-filter; negative allowed)"),
|
|
506
506
|
mc_change_1h_max_pct: z.number().optional().describe("Maximum 1h MC change % (post-filter)"),
|
|
507
|
+
min_liq_mc_ratio: z.number().optional().describe("Minimum liquidity-to-MC ratio (0-1). Filters out tokens where liquidity is thin relative to market cap."),
|
|
508
|
+
max_liq_mc_ratio: z.number().optional().describe("Maximum liquidity-to-MC ratio (0-1)."),
|
|
509
|
+
deployer_tier: z.enum(["elite", "good", "moderate", "rising", "cold", "unranked"]).optional().describe("Filter by deployer reputation tier."),
|
|
507
510
|
sort: z.enum(["mc_desc", "mc_asc", "last_trade_desc", "liquidity_desc", "cumulative_volume_desc"]).optional().describe("Sort axis (default mc_desc)"),
|
|
508
511
|
limit: z.number().min(1).max(100).optional().describe("Page size (max 100)"),
|
|
509
512
|
offset: z.number().min(0).optional().describe("Pagination offset"),
|
|
@@ -822,6 +825,11 @@ function registerTools(server) {
|
|
|
822
825
|
}, readOnlyAnnotations, async ({ mint }) => ({
|
|
823
826
|
content: [{ type: "text", text: await restQuery("GET", `/tokens/${encodeURIComponent(mint)}/peak-history`) }],
|
|
824
827
|
}));
|
|
828
|
+
server.tool("madeonsol_signal_performance", "Signal performance stats for a named signal — hit rate, sample size, median outcome, and confidence window. Use this to evaluate how well a signal (e.g. 'kol_coordination', 'first_touch') has been predicting token moves before acting on it.", {
|
|
829
|
+
name: z.string().describe("Signal name (e.g. 'kol_coordination', 'first_touch', 'deployer_alert')"),
|
|
830
|
+
}, readOnlyAnnotations, async ({ name }) => ({
|
|
831
|
+
content: [{ type: "text", text: await restQuery("GET", `/signals/${encodeURIComponent(name)}/performance`) }],
|
|
832
|
+
}));
|
|
825
833
|
console.error("[madeonsol-mcp] Webhook & streaming tools enabled");
|
|
826
834
|
}
|
|
827
835
|
else {
|
|
@@ -866,7 +874,7 @@ async function main() {
|
|
|
866
874
|
res.end(JSON.stringify({
|
|
867
875
|
name: "madeonsol",
|
|
868
876
|
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.
|
|
877
|
+
version: "1.11.0",
|
|
870
878
|
tools: [
|
|
871
879
|
{ name: "madeonsol_kol_feed", description: "Get real-time Solana KOL trades from 1,000+ tracked wallets." },
|
|
872
880
|
{ name: "madeonsol_kol_coordination", description: "Get KOL convergence signals — tokens multiple KOLs are accumulating." },
|
|
@@ -933,6 +941,7 @@ async function main() {
|
|
|
933
941
|
{ name: "madeonsol_coordination_history", description: "Past coordination alert fires with score and timing. ULTRA." },
|
|
934
942
|
{ name: "madeonsol_kol_consensus", description: "KOL consensus on a token: buyers/sellers, exit rate, net flow. ULTRA gets wallet arrays." },
|
|
935
943
|
{ name: "madeonsol_peak_history", description: "Peak MC history: ATH, decline %, MC at bond, MC at 1h/6h/24h/7d after bond." },
|
|
944
|
+
{ name: "madeonsol_signal_performance", description: "Signal performance stats for a named signal — hit rate, sample size, median outcome, confidence window." },
|
|
936
945
|
],
|
|
937
946
|
homepage: "https://madeonsol.com/solana-api",
|
|
938
947
|
repository: "https://github.com/LamboPoewert/mcp-server-madeonsol",
|
|
@@ -948,7 +957,7 @@ async function main() {
|
|
|
948
957
|
transport = new StreamableHTTPServerTransport({
|
|
949
958
|
sessionIdGenerator: undefined,
|
|
950
959
|
});
|
|
951
|
-
const server = new McpServer({ name: "madeonsol", version: "1.
|
|
960
|
+
const server = new McpServer({ name: "madeonsol", version: "1.11.0" });
|
|
952
961
|
registerTools(server);
|
|
953
962
|
await server.connect(transport);
|
|
954
963
|
}
|
|
@@ -986,7 +995,7 @@ async function main() {
|
|
|
986
995
|
}
|
|
987
996
|
else {
|
|
988
997
|
// Stdio transport for local use (Claude Desktop, Cursor, Claude Code)
|
|
989
|
-
const server = new McpServer({ name: "madeonsol", version: "1.
|
|
998
|
+
const server = new McpServer({ name: "madeonsol", version: "1.11.0" });
|
|
990
999
|
registerTools(server);
|
|
991
1000
|
const transport = new StdioServerTransport();
|
|
992
1001
|
await server.connect(transport);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-server-madeonsol",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.11.0",
|
|
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",
|