kinetic-mcp 1.3.2 → 1.3.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 +3 -0
- package/build/index.js +12 -5
- package/build/index.js.map +1 -1
- package/package.json +34 -3
package/README.md
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
# Kinetic MCP — Solana Trading for Claude Desktop
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/kinetic-mcp)
|
|
4
|
+
[](https://www.npmjs.com/package/kinetic-mcp)
|
|
5
|
+
[](https://github.com/KineticXYZ/Kinetic-MCP/blob/main/LICENSE)
|
|
6
|
+
[](https://github.com/KineticXYZ/Kinetic-MCP/actions/workflows/ci.yml)
|
|
4
7
|
|
|
5
8
|
An MCP server that lets you check balances and swap tokens on Solana through natural language in Claude Desktop. Runs locally on your machine, powered by the [Kinetic](https://kinetic.xyz) trading platform.
|
|
6
9
|
|
package/build/index.js
CHANGED
|
@@ -62,13 +62,20 @@ async function main() {
|
|
|
62
62
|
const server = new McpServer({
|
|
63
63
|
name: "kinetic-mcp",
|
|
64
64
|
version,
|
|
65
|
+
}, {
|
|
66
|
+
instructions: [
|
|
67
|
+
"This server provides Solana blockchain tools for checking wallet balances, swapping tokens, sending SOL, getting token prices, and viewing transaction history.",
|
|
68
|
+
"WORKFLOW: For swap_tokens and send_sol, ALWAYS call with confirm=false first to preview, then confirm=true to execute. Never skip the preview step.",
|
|
69
|
+
"Token resolution: Use common symbols (SOL, USDC, BONK) or full Solana mint addresses. If a symbol is ambiguous, use the mint address.",
|
|
70
|
+
"Safety: Trades and SOL transfers are both capped at MAX_TRADE_SOL (default 10 SOL equivalent). Slippage is capped at 1000 bps (10%).",
|
|
71
|
+
].join(" "),
|
|
65
72
|
});
|
|
66
73
|
// --- Tool: get_wallet_balance ---
|
|
67
|
-
server.tool("get_wallet_balance", "
|
|
74
|
+
server.tool("get_wallet_balance", "Returns SOL and all SPL token balances for the connected Solana wallet. Includes mint address, symbol (when resolvable), decimals, and human-readable amount for each holding. Read-only query, no confirmation required.", {}, async () => {
|
|
68
75
|
return getWalletBalance();
|
|
69
76
|
});
|
|
70
77
|
// --- Tool: swap_tokens ---
|
|
71
|
-
server.tool("swap_tokens", "
|
|
78
|
+
server.tool("swap_tokens", "Execute a token-to-token swap on Solana via DEX aggregator. Supports SOL and any SPL token by symbol or mint address. Returns quote with price impact, minimum received, and fees. Trade size limited to MAX_TRADE_SOL equivalent. IMPORTANT: Always call first with confirm=false to preview the quote, then call again with confirm=true and identical parameters to execute. Never set confirm=true without previewing first.", {
|
|
72
79
|
from_token: z.string().describe("Token to sell — symbol (e.g. 'SOL') or mint address"),
|
|
73
80
|
to_token: z.string().describe("Token to buy — symbol (e.g. 'BONK') or mint address"),
|
|
74
81
|
amount: z
|
|
@@ -90,7 +97,7 @@ async function main() {
|
|
|
90
97
|
return swapTokens(params);
|
|
91
98
|
});
|
|
92
99
|
// --- Tool: send_sol ---
|
|
93
|
-
server.tool("send_sol", "
|
|
100
|
+
server.tool("send_sol", "Transfer native SOL to a Solana wallet address. Returns preview with recipient, amount, and estimated fees. IMPORTANT: Always call first with confirm=false to preview the transfer details, then call again with confirm=true and identical parameters to execute. Never set confirm=true without previewing first.", {
|
|
94
101
|
recipient: z.string().describe("Destination wallet address (base58 Solana public key)"),
|
|
95
102
|
amount: z
|
|
96
103
|
.number()
|
|
@@ -105,7 +112,7 @@ async function main() {
|
|
|
105
112
|
return sendSol(params);
|
|
106
113
|
});
|
|
107
114
|
// --- Tool: get_token_price ---
|
|
108
|
-
server.tool("get_token_price", "
|
|
115
|
+
server.tool("get_token_price", "Returns current USDC price for one or more Solana tokens. Accepts token symbols (SOL, USDC, BONK) or mint addresses. Prices sourced from DEX liquidity via Kinetic routing engine. Read-only query, no confirmation required.", {
|
|
109
116
|
tokens: z
|
|
110
117
|
.array(z.string().min(1).max(100))
|
|
111
118
|
.min(1)
|
|
@@ -115,7 +122,7 @@ async function main() {
|
|
|
115
122
|
return getTokenPrice(params);
|
|
116
123
|
});
|
|
117
124
|
// --- Tool: get_transaction_history ---
|
|
118
|
-
server.tool("get_transaction_history", "
|
|
125
|
+
server.tool("get_transaction_history", "Returns the 10 most recent transactions for the connected Solana wallet. Includes signature, type, status, and timestamp for each transaction. Read-only query, no confirmation required.", {}, async () => {
|
|
119
126
|
return getTransactionHistory();
|
|
120
127
|
});
|
|
121
128
|
logger.info({
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,4DAA4D;AAC5D,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACrE,IAAI,CAAC;QACH,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,MAAM,WAAW,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE,KAAK,UAAU,IAAI;IACjB,2BAA2B;IAC3B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAEpC,0CAA0C;IAC1C,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5B,8BAA8B;IAC9B,IAAI,CAAC;QACH,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,sBAAsB,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,aAAa;IACb,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,CAAC,IAAI,CACT;QACE,MAAM,EAAE,aAAa;QACrB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,MAAM,EAAE,MAAM,CAAC,YAAY;QAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;QAC1B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO;KACR,EACD,oCAAoC,CACrC,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;QACE,IAAI,EAAE,aAAa;QACnB,OAAO;KACR,EACD;QACE,YAAY,EAAE;YACZ,iKAAiK;YACjK,qJAAqJ;YACrJ,uIAAuI;YACvI,sIAAsI;SACvI,CAAC,IAAI,CAAC,GAAG,CAAC;KACZ,CACF,CAAC;IAEF,mCAAmC;IACnC,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,2NAA2N,EAC3N,EAAE,EACF,KAAK,IAAI,EAAE;QACT,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC,CACF,CAAC;IAEF,4BAA4B;IAC5B,MAAM,CAAC,IAAI,CACT,aAAa,EACb,kaAAka,EACla;QACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;QACtF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;QACpF,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,qEAAqE,CAAC;QAClF,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,IAAI,CAAC;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,uEAAuE,CAAC;QACpF,OAAO,EAAE,CAAC;aACP,OAAO,EAAE;aACT,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CACP,iGAAiG,CAClG;KACJ,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC,CACF,CAAC;IAEF,yBAAyB;IACzB,MAAM,CAAC,IAAI,CACT,UAAU,EACV,sTAAsT,EACtT;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;QACvF,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,MAAM,EAAE;aACR,QAAQ,CAAC,wEAAwE,CAAC;QACrF,OAAO,EAAE,CAAC;aACP,OAAO,EAAE;aACT,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CACP,2GAA2G,CAC5G;KACJ,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC,CACF,CAAC;IAEF,gCAAgC;IAChC,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,+NAA+N,EAC/N;QACE,MAAM,EAAE,CAAC;aACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACjC,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,CAAC,4DAA4D,CAAC;KAC1E,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,CACF,CAAC;IAEF,wCAAwC;IACxC,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,2LAA2L,EAC3L,EAAE,EACF,KAAK,IAAI,EAAE;QACT,OAAO,qBAAqB,EAAE,CAAC;IACjC,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT;QACE,KAAK,EAAE;YACL,oBAAoB;YACpB,aAAa;YACb,UAAU;YACV,iBAAiB;YACjB,yBAAyB;SAC1B;KACF,EACD,kBAAkB,CACnB,CAAC;IAEF,oBAAoB;IACpB,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAChC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE/B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAChC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,qDAAqD;IACrD,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kinetic-mcp",
|
|
3
|
-
"version": "1.3.
|
|
4
|
-
"description": "MCP server for Solana trading via
|
|
3
|
+
"version": "1.3.3",
|
|
4
|
+
"description": "MCP server for Solana trading in Claude Desktop — check balances, swap tokens, send SOL, and get prices via natural language",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "build/index.js",
|
|
7
7
|
"bin": {
|
|
@@ -14,6 +14,36 @@
|
|
|
14
14
|
"engines": {
|
|
15
15
|
"node": ">=20"
|
|
16
16
|
},
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"author": {
|
|
19
|
+
"name": "Kinetic",
|
|
20
|
+
"url": "https://kinetic.xyz"
|
|
21
|
+
},
|
|
22
|
+
"repository": {
|
|
23
|
+
"type": "git",
|
|
24
|
+
"url": "git+https://github.com/KineticXYZ/Kinetic-MCP.git"
|
|
25
|
+
},
|
|
26
|
+
"homepage": "https://github.com/KineticXYZ/Kinetic-MCP#readme",
|
|
27
|
+
"bugs": {
|
|
28
|
+
"url": "https://github.com/KineticXYZ/Kinetic-MCP/issues"
|
|
29
|
+
},
|
|
30
|
+
"keywords": [
|
|
31
|
+
"mcp",
|
|
32
|
+
"mcp-server",
|
|
33
|
+
"model-context-protocol",
|
|
34
|
+
"solana",
|
|
35
|
+
"trading",
|
|
36
|
+
"swap",
|
|
37
|
+
"token-swap",
|
|
38
|
+
"claude",
|
|
39
|
+
"claude-desktop",
|
|
40
|
+
"solana-trading",
|
|
41
|
+
"defi",
|
|
42
|
+
"spl-token",
|
|
43
|
+
"kinetic",
|
|
44
|
+
"crypto",
|
|
45
|
+
"ai-tools"
|
|
46
|
+
],
|
|
17
47
|
"scripts": {
|
|
18
48
|
"build": "tsc",
|
|
19
49
|
"dev": "tsc --watch",
|
|
@@ -26,7 +56,8 @@
|
|
|
26
56
|
"format:check": "prettier --check \"src/**/*.ts\"",
|
|
27
57
|
"test": "vitest run",
|
|
28
58
|
"test:watch": "vitest",
|
|
29
|
-
"setup": "node scripts/setup.mjs"
|
|
59
|
+
"setup": "node scripts/setup.mjs",
|
|
60
|
+
"test:npx": "node scripts/test-npx.mjs"
|
|
30
61
|
},
|
|
31
62
|
"dependencies": {
|
|
32
63
|
"@clack/prompts": "^1.0.1",
|