kaito-mcp-server 0.1.9 → 0.2.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 CHANGED
@@ -1,6 +1,8 @@
1
1
  # kaito-mcp-server
2
2
 
3
- MCP server for [Kaito AI](https://kaito.ai) crypto market intelligence API. Provides 12 tools, 2 resources, and 2 prompt templates for accessing Kaito's sentiment analysis, mindshare tracking, social intelligence, and more.
3
+ [![npm](https://img.shields.io/npm/v/kaito-mcp-server)](https://www.npmjs.com/package/kaito-mcp-server)
4
+
5
+ MCP server for [Kaito AI](https://kaito.ai) crypto market intelligence API. Provides 16 tools, 2 resources, and 2 prompt templates for accessing Kaito's sentiment analysis, mindshare tracking, social intelligence, and more.
4
6
 
5
7
  ## Getting Started
6
8
 
@@ -15,7 +17,7 @@ The following config works across most MCP clients (Claude Desktop, Cursor, Wind
15
17
  "mcpServers": {
16
18
  "kaito": {
17
19
  "command": "npx",
18
- "args": ["-y", "kaito-mcp-server"],
20
+ "args": ["-y", "kaito-mcp-server@latest"],
19
21
  "env": {
20
22
  "KAITO_API_KEY": "your-api-key"
21
23
  }
@@ -38,7 +40,7 @@ Add the [standard config](#standard-configuration) to your `claude_desktop_confi
38
40
  ### Claude Code
39
41
 
40
42
  ```bash
41
- claude mcp add kaito -e KAITO_API_KEY=your-api-key -- npx -y kaito-mcp-server
43
+ claude mcp add kaito -e KAITO_API_KEY=your-api-key -- npx -y kaito-mcp-server@latest
42
44
  ```
43
45
 
44
46
  ### VS Code
@@ -51,7 +53,7 @@ Add the following to your User Settings (JSON) or `.vscode/settings.json`:
51
53
  "servers": {
52
54
  "kaito": {
53
55
  "command": "npx",
54
- "args": ["-y", "kaito-mcp-server"],
56
+ "args": ["-y", "kaito-mcp-server@latest"],
55
57
  "env": {
56
58
  "KAITO_API_KEY": "your-api-key"
57
59
  }
@@ -70,7 +72,7 @@ Go to **Cursor Settings → MCP → Add new MCP Server**, and paste the [standar
70
72
  For any MCP-compatible client, the server can be started with:
71
73
 
72
74
  ```bash
73
- KAITO_API_KEY=your-api-key npx -y kaito-mcp-server
75
+ KAITO_API_KEY=your-api-key npx -y kaito-mcp-server@latest
74
76
  ```
75
77
 
76
78
  The transport is **stdio**. Use this command in your client's MCP server configuration.
@@ -99,12 +101,15 @@ The transport is **stdio**. Use this command in your client's MCP server configu
99
101
  |------|-------------|
100
102
  | `kaito_smart_followers` | Smart follower count or list for a user |
101
103
  | `kaito_smart_following` | Latest 100 smart accounts followed by a user |
104
+ | `kaito_kol_token_mindshare` | Top KOLs ranked by mindshare for a token |
105
+ | `kaito_market_smart_following` | Accounts that smart followers have recently followed |
102
106
 
103
107
  ### Rankings
104
108
 
105
109
  | Tool | Description |
106
110
  |------|-------------|
107
111
  | `kaito_mindshare_arena` | Project rankings by mindshare (use `pre_tge=true` for Pre-TGE rankings) |
112
+ | `kaito_mindshare_delta` | Top gainers and losers by mindshare change |
108
113
 
109
114
  ### Events
110
115
 
@@ -124,8 +129,8 @@ The transport is **stdio**. Use this command in your client's MCP server configu
124
129
 
125
130
  | Prompt | Description |
126
131
  |--------|-------------|
127
- | `analyze_token` | Comprehensive token analysis workflow (sentiment → mindshare → mentions → engagement → events → search) |
128
- | `discover_trending` | Trending discovery workflow (mindshare arena → search) |
132
+ | `analyze_token` | Comprehensive token analysis workflow (sentiment → mindshare → mentions → engagement → events → KOL mindshare → search) |
133
+ | `discover_trending` | Trending discovery workflow (mindshare arena → delta movers → smart money signals → search) |
129
134
 
130
135
  ## Development
131
136
 
@@ -136,7 +141,19 @@ npm install
136
141
  npm run build
137
142
  ```
138
143
 
139
- Test with the MCP Inspector:
144
+ ### Testing
145
+
146
+ Smoke tests hit the real Kaito API to verify all endpoints are reachable:
147
+
148
+ ```bash
149
+ KAITO_API_KEY=your-key npm test # run all 18 smoke tests
150
+ KAITO_API_KEY=your-key npm test -- -t "sentiment" # run a single test
151
+ KAITO_API_KEY=your-key npm test -- -t "Social" # run a describe group
152
+ ```
153
+
154
+ Resource tests (`tokens`, `narratives`) run without an API key; all others are skipped if `KAITO_API_KEY` is not set.
155
+
156
+ ### MCP Inspector
140
157
 
141
158
  ```bash
142
159
  KAITO_API_KEY=your-key npx @modelcontextprotocol/inspector node build/index.js
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=smoke.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smoke.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/smoke.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,94 @@
1
+ import { describe, it, expect, beforeEach } from "vitest";
2
+ import { KaitoClient } from "../client.js";
3
+ const SKIP_REASON = "KAITO_API_KEY not set";
4
+ const hasApiKey = !!process.env.KAITO_API_KEY;
5
+ const client = new KaitoClient();
6
+ // Rate limit protection: 100ms between each test (API limit: 5 req/s)
7
+ beforeEach(() => new Promise((r) => setTimeout(r, 100)));
8
+ describe.skipIf(!hasApiKey)("Market Data", () => {
9
+ it("sentiment", async () => {
10
+ const result = await client.request("sentiment", { token: "BTC" });
11
+ expect(result).toBeDefined();
12
+ });
13
+ it("mindshare", async () => {
14
+ const result = await client.request("mindshare", { token: "BTC" });
15
+ expect(result).toBeDefined();
16
+ });
17
+ it("narrative_mindshare", async () => {
18
+ const result = await client.request("narrative_mindshare", {
19
+ narrative: "AI",
20
+ });
21
+ expect(result).toBeDefined();
22
+ });
23
+ it("mentions", async () => {
24
+ const result = await client.request("mentions", { token: "BTC" });
25
+ expect(result).toBeDefined();
26
+ });
27
+ it("engagement", async () => {
28
+ const result = await client.request("engagement", { token: "BTC" });
29
+ expect(result).toBeDefined();
30
+ });
31
+ });
32
+ describe.skipIf(!hasApiKey)("Search", () => {
33
+ it("advanced_search", async () => {
34
+ const result = await client.request("advanced_search", { tokens: "BTC" });
35
+ expect(result).toBeDefined();
36
+ });
37
+ });
38
+ describe.skipIf(!hasApiKey)("Social", () => {
39
+ it("smart_followers", async () => {
40
+ const result = await client.request("smart_followers", {
41
+ username: "VitalikButerin",
42
+ });
43
+ expect(result).toBeDefined();
44
+ });
45
+ it("smart_following", async () => {
46
+ const result = await client.request("smart_following", {
47
+ username: "VitalikButerin",
48
+ });
49
+ expect(result).toBeDefined();
50
+ });
51
+ it("kol_token_mindshare", async () => {
52
+ const result = await client.request("kol_token_mindshare", {
53
+ token: "BTC",
54
+ });
55
+ expect(result).toBeDefined();
56
+ });
57
+ it("market_smart_following", async () => {
58
+ const result = await client.request("market_smart_following", {});
59
+ expect(result).toBeDefined();
60
+ });
61
+ });
62
+ describe.skipIf(!hasApiKey)("Rankings", () => {
63
+ it("mindshare_arena", async () => {
64
+ const result = await client.request("mindshare_arena", {});
65
+ expect(result).toBeDefined();
66
+ });
67
+ it("mindshare_delta", async () => {
68
+ const result = await client.request("mindshare_delta", {});
69
+ expect(result).toBeDefined();
70
+ });
71
+ });
72
+ describe.skipIf(!hasApiKey)("Events", () => {
73
+ it("events", async () => {
74
+ const result = await client.request("events", { token: "BTC" });
75
+ expect(result).toBeDefined();
76
+ });
77
+ it("tweet_engagement_info", async () => {
78
+ const result = await client.request("tweet_engagement_info", {
79
+ tweet_id: "2029089398625845359",
80
+ });
81
+ expect(result).toBeDefined();
82
+ });
83
+ });
84
+ describe("Resources (no auth)", () => {
85
+ it("tokens", async () => {
86
+ const result = await client.request("tokens", {}, { requireAuth: false });
87
+ expect(result).toBeDefined();
88
+ });
89
+ it("narratives", async () => {
90
+ const result = await client.request("narratives", {}, { requireAuth: false });
91
+ expect(result).toBeDefined();
92
+ });
93
+ });
94
+ //# sourceMappingURL=smoke.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smoke.test.js","sourceRoot":"","sources":["../../src/__tests__/smoke.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/prompts/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,QAkFhD"}
1
+ {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/prompts/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,QAwFhD"}
@@ -24,11 +24,13 @@ export function registerPrompts(server) {
24
24
  3. **Mentions**: Call kaito_mentions for ${token} to track mention volume across sources.
25
25
  4. **Engagement**: Call kaito_engagement for ${token} to measure total and smart engagement.
26
26
  5. **Events**: Call kaito_events for ${token} to find upcoming catalysts.
27
- 6. **News & Discussion**: Call kaito_advanced_search with tokens=${token} to find the most relevant recent content.
27
+ 6. **KOL Mindshare**: Call kaito_kol_token_mindshare for ${token} to see which KOLs are driving the conversation.
28
+ 7. **News & Discussion**: Call kaito_advanced_search with tokens=${token} to find the most relevant recent content.
28
29
 
29
30
  After gathering all data, provide a structured analysis covering:
30
31
  - Overall sentiment trend (bullish/bearish/neutral)
31
32
  - Mindshare trajectory (growing/declining/stable)
33
+ - Top KOLs and their influence on the token's narrative
32
34
  - Key events and catalysts ahead
33
35
  - Notable discussions and news
34
36
  - Summary assessment with key takeaways`,
@@ -38,7 +40,7 @@ After gathering all data, provide a structured analysis covering:
38
40
  };
39
41
  });
40
42
  server.registerPrompt("discover_trending", {
41
- description: "Discover trending crypto projects and narratives using mindshare rankings and recent content.",
43
+ description: "Discover trending crypto projects and narratives using mindshare rankings, delta movers, smart money signals, and recent content.",
42
44
  argsSchema: {
43
45
  duration: z
44
46
  .string()
@@ -57,10 +59,14 @@ After gathering all data, provide a structured analysis covering:
57
59
 
58
60
  1. **Mindshare Arena**: Call kaito_mindshare_arena with duration=${window} to see top projects by mindshare.
59
61
  2. **Pre-TGE Arena**: Call kaito_mindshare_arena with duration=${window}, pre_tge=true to find trending pre-token projects.
60
- 3. **Trending Content**: Call kaito_advanced_search in discovery mode (no tokens/keyword) to see what's trending.
62
+ 3. **Mindshare Movers**: Call kaito_mindshare_delta with duration=${window} to find biggest gainers and losers.
63
+ 4. **Smart Money Signal**: Call kaito_market_smart_following with duration=${window} to see who smart followers are newly following.
64
+ 5. **Trending Content**: Call kaito_advanced_search in discovery mode (no tokens/keyword) to see what's trending.
61
65
 
62
66
  After gathering all data, provide:
63
67
  - Top 10 projects by mindshare with their scores
68
+ - Biggest mindshare gainers and losers
69
+ - Accounts attracting smart follower attention
64
70
  - Notable Pre-TGE projects gaining attention
65
71
  - Key trending topics and discussions
66
72
  - Any emerging narratives or themes
@@ -1 +1 @@
1
- {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/prompts/workflows.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,MAAM,CAAC,cAAc,CACnB,eAAe,EACf;QACE,WAAW,EACT,gHAAgH;QAClH,UAAU,EAAE;YACV,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;YAC1D,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,2CAA2C,CAAC;SACzD;KACF,EACD,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;QAClB,MAAM,QAAQ,GAAG,IAAI,IAAI,IAAI,CAAC;QAC9B,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,yDAAyD,KAAK,mBAAmB,QAAQ;;6CAEhE,KAAK;6CACL,KAAK;2CACP,KAAK;+CACD,KAAK;uCACb,KAAK;mEACuB,KAAK;;;;;;;wCAOhC;qBAC3B;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,cAAc,CACnB,mBAAmB,EACnB;QACE,WAAW,EACT,+FAA+F;QACjG,UAAU,EAAE;YACV,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,uDAAuD,CAAC;SACrE;KACF,EACD,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,QAAQ,IAAI,KAAK,CAAC;QACjC,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,wDAAwD,MAAM;;mEAEf,MAAM;iEACR,MAAM;;;;;;;;qCAQlC;qBACxB;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/prompts/workflows.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,MAAM,CAAC,cAAc,CACnB,eAAe,EACf;QACE,WAAW,EACT,gHAAgH;QAClH,UAAU,EAAE;YACV,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;YAC1D,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,2CAA2C,CAAC;SACzD;KACF,EACD,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;QAClB,MAAM,QAAQ,GAAG,IAAI,IAAI,IAAI,CAAC;QAC9B,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,yDAAyD,KAAK,mBAAmB,QAAQ;;6CAEhE,KAAK;6CACL,KAAK;2CACP,KAAK;+CACD,KAAK;uCACb,KAAK;2DACe,KAAK;mEACG,KAAK;;;;;;;;wCAQhC;qBAC3B;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,cAAc,CACnB,mBAAmB,EACnB;QACE,WAAW,EACT,mIAAmI;QACrI,UAAU,EAAE;YACV,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,uDAAuD,CAAC;SACrE;KACF,EACD,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,QAAQ,IAAI,KAAK,CAAC;QACjC,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,wDAAwD,MAAM;;mEAEf,MAAM;iEACR,MAAM;oEACH,MAAM;6EACG,MAAM;;;;;;;;;;qCAU9C;qBACxB;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
package/build/server.js CHANGED
@@ -13,7 +13,7 @@ export function createServer() {
13
13
  version: "0.1.0",
14
14
  });
15
15
  const client = new KaitoClient();
16
- // 13 Tools
16
+ // 16 Tools
17
17
  registerMarketDataTools(server, client);
18
18
  registerSearchTools(server, client);
19
19
  registerSocialTools(server, client);
@@ -1 +1 @@
1
- {"version":3,"file":"rankings.d.ts","sourceRoot":"","sources":["../../src/tools/rankings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,QAoD3E"}
1
+ {"version":3,"file":"rankings.d.ts","sourceRoot":"","sources":["../../src/tools/rankings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,QAkF3E"}
@@ -45,5 +45,30 @@ export function registerRankingsTools(server, client) {
45
45
  });
46
46
  return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
47
47
  });
48
+ server.registerTool("kaito_mindshare_delta", {
49
+ description: "Get top gainers and losers by mindshare change over a time window. Use sort_type='desc' for biggest gainers, 'asc' for biggest losers.",
50
+ inputSchema: {
51
+ duration: z
52
+ .enum(["24h", "48h", "7d", "30d", "3m", "6m", "12m", "all"])
53
+ .optional()
54
+ .describe("Time window (default: 24h)"),
55
+ sort_type: z
56
+ .enum(["desc", "asc"])
57
+ .optional()
58
+ .describe("'desc' for gainers, 'asc' for losers (default: desc)"),
59
+ limit: z
60
+ .number()
61
+ .optional()
62
+ .describe("Number of results to return"),
63
+ },
64
+ annotations: { readOnlyHint: true, openWorldHint: true },
65
+ }, async ({ duration, sort_type, limit }) => {
66
+ const data = await client.request("mindshare_delta", {
67
+ duration,
68
+ sort_type,
69
+ limit: limit?.toString(),
70
+ });
71
+ return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
72
+ });
48
73
  }
49
74
  //# sourceMappingURL=rankings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rankings.js","sourceRoot":"","sources":["../../src/tools/rankings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,qBAAqB,CAAC,MAAiB,EAAE,MAAmB;IAC1E,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,WAAW,EACT,uSAAuS;QACzS,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC;iBACR,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;iBAC3D,QAAQ,EAAE;iBACV,QAAQ,CAAC,4BAA4B,CAAC;YACzC,QAAQ,EAAE,CAAC;iBACR,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;iBACzC,QAAQ,EAAE;iBACV,QAAQ,CAAC,gCAAgC,CAAC;YAC7C,UAAU,EAAE,CAAC;iBACV,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;iBAC7B,QAAQ,EAAE;iBACV,QAAQ,CAAC,sCAAsC,CAAC;YACnD,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,qCAAqC,CAAC;YAClD,WAAW,EAAE,CAAC;iBACX,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,oDAAoD,CAAC;YACjE,QAAQ,EAAE,CAAC;iBACR,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,4CAA4C,CAAC;YACzD,GAAG,EAAE,CAAC;iBACH,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,uCAAuC,CAAC;SACrD;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;KACzD,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE;QAChF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE;YACnD,QAAQ;YACR,QAAQ;YACR,UAAU;YACV,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;YAC5B,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE;YACpC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE;YAC9B,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE;SACrB,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;AAEJ,CAAC"}
1
+ {"version":3,"file":"rankings.js","sourceRoot":"","sources":["../../src/tools/rankings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"social.d.ts","sourceRoot":"","sources":["../../src/tools/social.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,QAmEzE"}
1
+ {"version":3,"file":"social.d.ts","sourceRoot":"","sources":["../../src/tools/social.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,QAiKzE"}
@@ -55,5 +55,87 @@ export function registerSocialTools(server, client) {
55
55
  });
56
56
  return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
57
57
  });
58
+ server.registerTool("kaito_kol_token_mindshare", {
59
+ description: "Get top KOLs ranked by mindshare for a given token. Shows which key opinion leaders are driving the conversation around a specific project.",
60
+ inputSchema: {
61
+ token: z.string().describe("Token ticker (e.g. BTC, ETH)"),
62
+ duration: z
63
+ .enum(["24h", "48h", "7d", "30d", "3m", "6m", "12m", "all"])
64
+ .optional()
65
+ .describe("Time window (default: 24h)"),
66
+ top_n: z
67
+ .number()
68
+ .optional()
69
+ .describe("Number of top KOLs to return"),
70
+ },
71
+ annotations: { readOnlyHint: true, openWorldHint: true },
72
+ }, async ({ token, duration, top_n }) => {
73
+ const data = await client.request("kol_token_mindshare", {
74
+ token,
75
+ duration,
76
+ top_n: top_n?.toString(),
77
+ });
78
+ return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
79
+ });
80
+ server.registerTool("kaito_market_smart_following", {
81
+ description: "Get accounts that smart followers have recently followed — a market-level social signal showing where smart money attention is flowing.",
82
+ inputSchema: {
83
+ duration: z
84
+ .enum(["24h", "48h", "7d", "30d", "all_dates"])
85
+ .optional()
86
+ .describe("Time window (default: 30d)"),
87
+ from: z
88
+ .number()
89
+ .optional()
90
+ .describe("Pagination offset"),
91
+ sort_by: z
92
+ .enum(["earliest_time", "smart_followers", "followers_change", "change_ratio"])
93
+ .optional()
94
+ .describe("Sort field"),
95
+ sort_order: z
96
+ .enum(["asc", "desc"])
97
+ .optional()
98
+ .describe("Sort direction"),
99
+ filter_smart_followers_operator: z
100
+ .enum(["gte", "lte"])
101
+ .optional()
102
+ .describe("Smart followers filter operator"),
103
+ filter_smart_followers_value: z
104
+ .number()
105
+ .optional()
106
+ .describe("Smart followers filter threshold"),
107
+ user_status: z
108
+ .enum(["new", "existing", "all"])
109
+ .optional()
110
+ .describe("Filter by user status"),
111
+ user_tag_individual_or_organization: z
112
+ .enum(["Individual", "Organization", "all"])
113
+ .optional()
114
+ .describe("Filter by account type"),
115
+ user_type: z
116
+ .enum(["kkol", "non_kkol", "all"])
117
+ .optional()
118
+ .describe("Filter by KOL status"),
119
+ user_web3_relevance: z
120
+ .enum(["relevant", "irrelevant"])
121
+ .optional()
122
+ .describe("Filter by web3 relevance"),
123
+ },
124
+ annotations: { readOnlyHint: true, openWorldHint: true },
125
+ }, async ({ duration, from, sort_by, sort_order, filter_smart_followers_operator, filter_smart_followers_value, user_status, user_tag_individual_or_organization, user_type, user_web3_relevance }) => {
126
+ const data = await client.request("market_smart_following", {
127
+ duration,
128
+ from: from?.toString(),
129
+ sort_by,
130
+ sort_order,
131
+ filter_smart_followers_operator,
132
+ filter_smart_followers_value: filter_smart_followers_value?.toString(),
133
+ user_status,
134
+ user_tag_individual_or_organization,
135
+ user_type,
136
+ user_web3_relevance,
137
+ });
138
+ return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
139
+ });
58
140
  }
59
141
  //# sourceMappingURL=social.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"social.js","sourceRoot":"","sources":["../../src/tools/social.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,MAAmB;IACxE,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,WAAW,EACT,+KAA+K;QACjL,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,0DAA0D,CAAC;YACvE,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,2DAA2D,CAAC;YACxE,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,6DAA6D,CAAC;YAC1E,IAAI,EAAE,CAAC;iBACJ,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;iBACxB,QAAQ,EAAE;iBACV,QAAQ,CAAC,0EAA0E,CAAC;SACxF;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;KACzD,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE;YACnD,OAAO;YACP,QAAQ;YACR,IAAI;YACJ,IAAI;SACL,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,WAAW,EACT,+FAA+F;QACjG,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,0DAA0D,CAAC;YACvE,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,2DAA2D,CAAC;YACxE,QAAQ,EAAE,CAAC;iBACR,IAAI,CAAC,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;iBAC3C,QAAQ,EAAE;iBACV,QAAQ,CAAC,wBAAwB,CAAC;SACtC;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;KACzD,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QACxC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE;YACnD,OAAO;YACP,QAAQ;YACR,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"social.js","sourceRoot":"","sources":["../../src/tools/social.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kaito-mcp-server",
3
- "version": "0.1.9",
3
+ "version": "0.2.0",
4
4
  "description": "MCP server for Kaito AI crypto market intelligence API",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -14,6 +14,7 @@
14
14
  "build": "tsc",
15
15
  "dev": "tsc --watch",
16
16
  "start": "node build/index.js",
17
+ "test": "vitest run",
17
18
  "preversion": "npm run build",
18
19
  "postversion": "node scripts/sync-manifest-version.js && git add manifest.json && git commit --amend --no-edit && git push"
19
20
  },
@@ -23,6 +24,7 @@
23
24
  },
24
25
  "devDependencies": {
25
26
  "@types/node": "^22",
26
- "typescript": "^5.7.0"
27
+ "typescript": "^5.7.0",
28
+ "vitest": "^4.0.18"
27
29
  }
28
30
  }