mcp-server-madeonsol 0.3.0 → 0.3.2
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 +49 -0
- package/glama.json +28 -8
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
MCP server for [MadeOnSol](https://madeonsol.com) Solana KOL intelligence API. Use from Claude Desktop, Cursor, or any MCP-compatible client.
|
|
4
4
|
|
|
5
|
+
> Real-time Solana trading intelligence: track 1,000+ KOL wallets with <3s latency, score 6,700+ Pump.fun deployers by reputation, detect multi-KOL coordination signals, and stream every DEX trade. Free tier: 200 requests/day at [madeonsol.com/developer](https://madeonsol.com/developer) — no credit card required.
|
|
6
|
+
|
|
5
7
|
## Authentication
|
|
6
8
|
|
|
7
9
|
Three options (in priority order):
|
package/dist/index.js
CHANGED
|
@@ -111,6 +111,51 @@ function registerTools(server) {
|
|
|
111
111
|
}, readOnlyAnnotations, async ({ limit, offset }) => ({
|
|
112
112
|
content: [{ type: "text", text: await query("/api/x402/deployer-hunter/alerts", { limit, offset }) }],
|
|
113
113
|
}));
|
|
114
|
+
server.tool("madeonsol_kol_pairs", "KOL affinity matrix — discover which KOLs frequently co-trade the same tokens within a time window.", {
|
|
115
|
+
period: z.enum(["7d", "30d"]).default("7d").describe("Time period: 7d or 30d"),
|
|
116
|
+
min_shared: z.number().min(1).max(20).default(3).describe("Minimum number of shared tokens to qualify as a pair"),
|
|
117
|
+
limit: z.number().min(1).max(50).default(20).describe("Number of KOL pairs to return"),
|
|
118
|
+
}, readOnlyAnnotations, async ({ period, min_shared, limit }) => ({
|
|
119
|
+
content: [{ type: "text", text: await query("/api/x402/kol/pairs", { period, min_shared, limit }) }],
|
|
120
|
+
}));
|
|
121
|
+
server.tool("madeonsol_kol_timing", "KOL entry/exit timing profile — hold duration, exit speed, and activity patterns for a specific KOL.", {
|
|
122
|
+
wallet: z.string().describe("KOL wallet address (base58)"),
|
|
123
|
+
period: z.enum(["7d", "30d"]).default("30d").describe("Time period: 7d or 30d"),
|
|
124
|
+
}, readOnlyAnnotations, async ({ wallet, period }) => {
|
|
125
|
+
const hasRestAuth = authMode === "madeonsol" || authMode === "rapidapi";
|
|
126
|
+
if (hasRestAuth) {
|
|
127
|
+
const headers = { ...apiKeyHeaders() };
|
|
128
|
+
const res = await fetch(`${BASE_URL}/api/v1/kol/${wallet}/timing?period=${period}`, { headers });
|
|
129
|
+
if (!res.ok) {
|
|
130
|
+
const body = await res.text().catch(() => "");
|
|
131
|
+
return { content: [{ type: "text", text: `Error ${res.status}: ${body}` }] };
|
|
132
|
+
}
|
|
133
|
+
return { content: [{ type: "text", text: JSON.stringify(await res.json(), null, 2) }] };
|
|
134
|
+
}
|
|
135
|
+
return { content: [{ type: "text", text: "KOL timing requires API key or RapidAPI key auth." }] };
|
|
136
|
+
});
|
|
137
|
+
server.tool("madeonsol_deployer_trajectory", "Deployer skill curve — streaks, rolling bond rate, improvement trend, and deployment cadence for a Pump.fun deployer.", {
|
|
138
|
+
wallet: z.string().describe("Deployer wallet address (base58)"),
|
|
139
|
+
}, readOnlyAnnotations, async ({ wallet }) => {
|
|
140
|
+
const hasRestAuth = authMode === "madeonsol" || authMode === "rapidapi";
|
|
141
|
+
if (hasRestAuth) {
|
|
142
|
+
const headers = { ...apiKeyHeaders() };
|
|
143
|
+
const res = await fetch(`${BASE_URL}/api/v1/deployer-hunter/${wallet}/trajectory`, { headers });
|
|
144
|
+
if (!res.ok) {
|
|
145
|
+
const body = await res.text().catch(() => "");
|
|
146
|
+
return { content: [{ type: "text", text: `Error ${res.status}: ${body}` }] };
|
|
147
|
+
}
|
|
148
|
+
return { content: [{ type: "text", text: JSON.stringify(await res.json(), null, 2) }] };
|
|
149
|
+
}
|
|
150
|
+
return { content: [{ type: "text", text: "Deployer trajectory requires API key or RapidAPI key auth (Pro/Ultra)." }] };
|
|
151
|
+
});
|
|
152
|
+
server.tool("madeonsol_kol_hot_tokens", "KOL momentum tokens — tokens with accelerating KOL buy interest, early signals before coordination triggers.", {
|
|
153
|
+
period: z.enum(["1h", "6h"]).default("6h").describe("Time period: 1h or 6h"),
|
|
154
|
+
min_kols: z.number().min(1).max(20).default(1).describe("Minimum KOL buyers to include a token"),
|
|
155
|
+
limit: z.number().min(1).max(50).default(20).describe("Number of hot tokens to return"),
|
|
156
|
+
}, readOnlyAnnotations, async ({ period, min_kols, limit }) => ({
|
|
157
|
+
content: [{ type: "text", text: await query("/api/x402/kol/tokens/hot", { period, min_kols, limit }) }],
|
|
158
|
+
}));
|
|
114
159
|
server.tool("madeonsol_discovery", "List all available MadeOnSol API endpoints with prices and parameter docs. Free, no auth required.", {}, { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false }, async () => {
|
|
115
160
|
const res = await fetch(new URL("/api/x402", BASE_URL).toString());
|
|
116
161
|
const data = await res.json();
|
|
@@ -218,6 +263,10 @@ async function main() {
|
|
|
218
263
|
{ name: "madeonsol_kol_coordination", description: "Get KOL convergence signals — tokens multiple KOLs are accumulating." },
|
|
219
264
|
{ name: "madeonsol_kol_leaderboard", description: "Get KOL performance rankings by PnL and win rate." },
|
|
220
265
|
{ name: "madeonsol_deployer_alerts", description: "Get elite Pump.fun deployer alerts with KOL enrichment." },
|
|
266
|
+
{ name: "madeonsol_kol_pairs", description: "KOL affinity matrix — which KOLs co-trade the same tokens." },
|
|
267
|
+
{ name: "madeonsol_kol_timing", description: "KOL entry/exit timing profile. Pro/Ultra." },
|
|
268
|
+
{ name: "madeonsol_deployer_trajectory", description: "Deployer skill curve — streaks, trend. Pro/Ultra." },
|
|
269
|
+
{ name: "madeonsol_kol_hot_tokens", description: "KOL momentum tokens — accelerating buy interest." },
|
|
221
270
|
{ name: "madeonsol_discovery", description: "List all available endpoints with prices. Free." },
|
|
222
271
|
{ name: "madeonsol_create_webhook", description: "Register a webhook for real-time push notifications. Pro/Ultra." },
|
|
223
272
|
{ name: "madeonsol_list_webhooks", description: "List your registered webhooks. Pro/Ultra." },
|
package/glama.json
CHANGED
|
@@ -1,33 +1,53 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-server-madeonsol",
|
|
3
3
|
"display_name": "MadeOnSol",
|
|
4
|
-
"description": "Solana KOL trading intelligence and deployer analytics
|
|
5
|
-
"version": "0.
|
|
4
|
+
"description": "Solana KOL trading intelligence and deployer analytics. Real-time data from 950+ KOL wallets and 6,700+ Pump.fun deployers. Supports free API key, RapidAPI, or x402 micropayments.",
|
|
5
|
+
"version": "0.3.0",
|
|
6
6
|
"homepage": "https://madeonsol.com/solana-api",
|
|
7
7
|
"repository": "https://github.com/LamboPoewert/mcp-server-madeonsol",
|
|
8
8
|
"license": "MIT",
|
|
9
9
|
"categories": ["blockchain", "finance", "web3"],
|
|
10
|
-
"tags": ["solana", "kol", "trading", "x402", "micropayments", "defi"],
|
|
10
|
+
"tags": ["solana", "kol", "trading", "x402", "micropayments", "defi", "api", "deployer", "pump-fun"],
|
|
11
11
|
"tools": [
|
|
12
12
|
{
|
|
13
13
|
"name": "madeonsol_kol_feed",
|
|
14
|
-
"description": "Get real-time Solana KOL trades from
|
|
14
|
+
"description": "Get real-time Solana KOL trades from 950+ tracked wallets."
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
"name": "madeonsol_kol_coordination",
|
|
18
|
-
"description": "Get KOL convergence signals — tokens multiple KOLs are accumulating.
|
|
18
|
+
"description": "Get KOL convergence signals — tokens multiple KOLs are accumulating."
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
"name": "madeonsol_kol_leaderboard",
|
|
22
|
-
"description": "Get KOL performance rankings by PnL and win rate.
|
|
22
|
+
"description": "Get KOL performance rankings by PnL and win rate."
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
25
|
"name": "madeonsol_deployer_alerts",
|
|
26
|
-
"description": "Get elite Pump.fun deployer alerts with KOL enrichment.
|
|
26
|
+
"description": "Get elite Pump.fun deployer alerts with KOL enrichment."
|
|
27
27
|
},
|
|
28
28
|
{
|
|
29
29
|
"name": "madeonsol_discovery",
|
|
30
|
-
"description": "List all available endpoints with prices. Free."
|
|
30
|
+
"description": "List all available endpoints with prices. Free, no auth required."
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "madeonsol_create_webhook",
|
|
34
|
+
"description": "Register a webhook for real-time push notifications. Pro/Ultra."
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "madeonsol_list_webhooks",
|
|
38
|
+
"description": "List your registered webhooks. Pro/Ultra."
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "madeonsol_delete_webhook",
|
|
42
|
+
"description": "Delete a webhook by ID. Pro/Ultra."
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "madeonsol_test_webhook",
|
|
46
|
+
"description": "Send a test payload to verify a webhook. Pro/Ultra."
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "madeonsol_stream_token",
|
|
50
|
+
"description": "Get a 24h WebSocket streaming token. Pro/Ultra."
|
|
31
51
|
}
|
|
32
52
|
],
|
|
33
53
|
"transports": ["stdio", "http"],
|
package/package.json
CHANGED