mcp-server-madeonsol 0.6.0 → 0.7.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.
Files changed (3) hide show
  1. package/README.md +4 -1
  2. package/dist/index.js +13 -14
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -20,13 +20,16 @@ Add to `claude_desktop_config.json`:
20
20
  "madeonsol": {
21
21
  "command": "mcp-server-madeonsol",
22
22
  "env": {
23
- "SVM_PRIVATE_KEY": "your_solana_private_key_base58"
23
+ "SVM_PRIVATE_KEY": "your_solana_private_key_base58",
24
+ "MADEONSOL_API_KEY": "msk_your_api_key_here"
24
25
  }
25
26
  }
26
27
  }
27
28
  }
28
29
  ```
29
30
 
31
+ `SVM_PRIVATE_KEY` enables x402 micropayments. `MADEONSOL_API_KEY` (get one free at [madeonsol.com/developer](https://madeonsol.com/developer)) enables webhook, streaming, and alpha wallet intelligence tools.
32
+
30
33
  ### Cursor
31
34
 
32
35
  Add to MCP settings with the same command and env vars.
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ import { z } from "zod";
6
6
  import { createServer } from "node:http";
7
7
  const BASE_URL = process.env.MADEONSOL_API_URL || "https://madeonsol.com";
8
8
  const PRIVATE_KEY = process.env.SVM_PRIVATE_KEY;
9
- const RAPIDAPI_KEY = process.env.RAPIDAPI_KEY; // For webhook/streaming features (Pro/Ultra)
9
+ const MADEONSOL_API_KEY = process.env.MADEONSOL_API_KEY; // For webhook/streaming/alpha features (Pro/Ultra)
10
10
  const PORT = parseInt(process.env.PORT || "3100", 10);
11
11
  const MODE = process.env.MCP_TRANSPORT || "stdio"; // "stdio" or "http"
12
12
  let paidFetch = fetch;
@@ -84,12 +84,11 @@ function registerTools(server) {
84
84
  const data = await res.json();
85
85
  return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
86
86
  });
87
- // ── Webhook & Streaming tools (require RAPIDAPI_KEY env var) ──
88
- if (RAPIDAPI_KEY) {
87
+ // ── Webhook & Streaming tools (require MADEONSOL_API_KEY env var) ──
88
+ if (MADEONSOL_API_KEY) {
89
89
  const restHeaders = {
90
90
  "Content-Type": "application/json",
91
- "x-rapidapi-key": RAPIDAPI_KEY,
92
- "x-rapidapi-host": "madeonsol-solana-kol-tracker-tools-api.p.rapidapi.com",
91
+ "Authorization": `Bearer ${MADEONSOL_API_KEY}`,
93
92
  };
94
93
  async function restQuery(method, path, body) {
95
94
  const res = await fetch(`${BASE_URL}/api/v1${path}`, {
@@ -104,7 +103,7 @@ function registerTools(server) {
104
103
  return JSON.stringify(await res.json(), null, 2);
105
104
  }
106
105
  const webhookAnnotations = { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: true };
107
- server.tool("madeonsol_create_webhook", "Register a webhook URL to receive real-time push notifications for KOL trades and deployer alerts. Requires RapidAPI Pro/Ultra.", {
106
+ server.tool("madeonsol_create_webhook", "Register a webhook URL to receive real-time push notifications for KOL trades and deployer alerts. Requires MADEONSOL_API_KEY (Pro/Ultra).", {
108
107
  url: z.string().url().describe("HTTPS webhook URL to receive events"),
109
108
  events: z.array(z.enum(["kol:trade", "kol:coordination", "deployer:alert", "deployer:bond"])).min(1).describe("Event types to subscribe to"),
110
109
  min_sol: z.number().optional().describe("Optional: minimum SOL amount filter (for kol:trade)"),
@@ -120,7 +119,7 @@ function registerTools(server) {
120
119
  filters.deployer_tier = deployer_tier;
121
120
  return { content: [{ type: "text", text: await restQuery("POST", "/webhooks", { url, events, filters }) }] };
122
121
  });
123
- server.tool("madeonsol_list_webhooks", "List all your registered webhooks with delivery status and failure counts. Requires RAPIDAPI_KEY env var.", {}, { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true }, async () => ({
122
+ server.tool("madeonsol_list_webhooks", "List all your registered webhooks with delivery status and failure counts. Requires MADEONSOL_API_KEY env var.", {}, { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true }, async () => ({
124
123
  content: [{ type: "text", text: await restQuery("GET", "/webhooks") }],
125
124
  }));
126
125
  server.tool("madeonsol_delete_webhook", "Delete a webhook by ID. Permanently removes the webhook and its delivery history.", {
@@ -165,10 +164,10 @@ function registerTools(server) {
165
164
  }, readOnlyAnnotations, async ({ mint }) => ({
166
165
  content: [{ type: "text", text: await restQuery("GET", `/tokens/${encodeURIComponent(mint)}/buyer-quality`) }],
167
166
  }));
168
- console.error("[madeonsol-mcp] Webhook, streaming & alpha tools enabled (RAPIDAPI_KEY set)");
167
+ console.error("[madeonsol-mcp] Webhook, streaming & alpha tools enabled (MADEONSOL_API_KEY set)");
169
168
  }
170
169
  else {
171
- console.error("[madeonsol-mcp] No RAPIDAPI_KEY — webhook/streaming/alpha tools disabled");
170
+ console.error("[madeonsol-mcp] No MADEONSOL_API_KEY — webhook/streaming/alpha tools disabled");
172
171
  }
173
172
  // Prompts — pre-built analysis templates
174
173
  server.prompt("solana_kol_analysis", "Analyze current Solana KOL trading activity — what are smart money wallets buying and selling?", { period: z.string().default("24h").describe("Time period: 1h, 6h, 24h, or 7d") }, ({ period }) => ({
@@ -216,11 +215,11 @@ async function main() {
216
215
  { name: "madeonsol_kol_leaderboard", description: "Get KOL performance rankings by PnL and win rate. $0.005 USDC/req." },
217
216
  { name: "madeonsol_deployer_alerts", description: "Get elite Pump.fun deployer alerts with KOL enrichment. $0.01 USDC/req." },
218
217
  { name: "madeonsol_discovery", description: "List all available endpoints with prices. Free." },
219
- { name: "madeonsol_create_webhook", description: "Register a webhook for real-time push notifications. Requires RAPIDAPI_KEY." },
220
- { name: "madeonsol_list_webhooks", description: "List your registered webhooks. Requires RAPIDAPI_KEY." },
221
- { name: "madeonsol_delete_webhook", description: "Delete a webhook by ID. Requires RAPIDAPI_KEY." },
222
- { name: "madeonsol_test_webhook", description: "Send a test payload to verify a webhook. Requires RAPIDAPI_KEY." },
223
- { name: "madeonsol_stream_token", description: "Get a 24h WebSocket streaming token. Requires RAPIDAPI_KEY." },
218
+ { name: "madeonsol_create_webhook", description: "Register a webhook for real-time push notifications. Requires MADEONSOL_API_KEY." },
219
+ { name: "madeonsol_list_webhooks", description: "List your registered webhooks. Requires MADEONSOL_API_KEY." },
220
+ { name: "madeonsol_delete_webhook", description: "Delete a webhook by ID. Requires MADEONSOL_API_KEY." },
221
+ { name: "madeonsol_test_webhook", description: "Send a test payload to verify a webhook. Requires MADEONSOL_API_KEY." },
222
+ { name: "madeonsol_stream_token", description: "Get a 24h WebSocket streaming token. Requires MADEONSOL_API_KEY." },
224
223
  ],
225
224
  homepage: "https://madeonsol.com/solana-api",
226
225
  repository: "https://github.com/LamboPoewert/mcp-server-madeonsol",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-server-madeonsol",
3
- "version": "0.6.0",
3
+ "version": "0.7.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",