kwery-mcp 0.2.0 → 1.0.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 +1 -1
- package/dist/client.js +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +51 -2
- package/dist/server.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -51,5 +51,5 @@ Get your API key at [kwery.xyz/dashboard](https://kwery.xyz/dashboard).
|
|
|
51
51
|
|
|
52
52
|
- [Full docs](https://kwery.xyz/docs/mcp)
|
|
53
53
|
- [API reference](https://kwery-api.com/docs)
|
|
54
|
-
- [GitHub](https://github.com/KweryAPI/
|
|
54
|
+
- [GitHub](https://github.com/KweryAPI/core-ai)
|
|
55
55
|
- [Pricing](https://kwery.xyz/pricing)
|
package/dist/client.js
CHANGED
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAMnE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAMnE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA8D1C,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;aA5Bc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmCpC,CAAC;AAEF,wBAAgB,YAAY,IAAI,MAAM,CAwCrC;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAiB,CAAC"}
|
package/dist/server.js
CHANGED
|
@@ -8,6 +8,54 @@ import { polymarketTools } from "./tools/polymarket.js";
|
|
|
8
8
|
import { kalshiTools } from "./tools/kalshi.js";
|
|
9
9
|
import { hyperliquidTools } from "./tools/hyperliquid.js";
|
|
10
10
|
import { binanceTools } from "./tools/binance.js";
|
|
11
|
+
// Max characters before we trim the data array and warn about pagination.
|
|
12
|
+
// Claude Code rejects tool responses that exceed ~100k chars; 60k gives headroom.
|
|
13
|
+
const MAX_RESPONSE_CHARS = 60_000;
|
|
14
|
+
function safeSerialize(result) {
|
|
15
|
+
const full = JSON.stringify(result);
|
|
16
|
+
if (full.length <= MAX_RESPONSE_CHARS)
|
|
17
|
+
return full;
|
|
18
|
+
// Only trim if the result has a data array we can slice
|
|
19
|
+
if (result !== null &&
|
|
20
|
+
typeof result === "object" &&
|
|
21
|
+
"data" in result &&
|
|
22
|
+
Array.isArray(result.data)) {
|
|
23
|
+
const r = result;
|
|
24
|
+
const total = r.data.length;
|
|
25
|
+
// Binary search for the largest row count that fits within MAX_RESPONSE_CHARS
|
|
26
|
+
let lo = 1;
|
|
27
|
+
let hi = total;
|
|
28
|
+
let best = 1;
|
|
29
|
+
while (lo <= hi) {
|
|
30
|
+
const mid = Math.floor((lo + hi) / 2);
|
|
31
|
+
const candidate = JSON.stringify({
|
|
32
|
+
...r,
|
|
33
|
+
data: r.data.slice(0, mid),
|
|
34
|
+
_truncated: { warning: "", hint: "", after: null },
|
|
35
|
+
});
|
|
36
|
+
if (candidate.length <= MAX_RESPONSE_CHARS) {
|
|
37
|
+
best = mid;
|
|
38
|
+
lo = mid + 1;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
hi = mid - 1;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
const after = r.data[best - 1]?.timestamp ?? r.data[best - 1]?.time ?? null;
|
|
45
|
+
return JSON.stringify({
|
|
46
|
+
...r,
|
|
47
|
+
data: r.data.slice(0, best),
|
|
48
|
+
_truncated: {
|
|
49
|
+
warning: `Response too large. Showing ${best} of ${total} rows.`,
|
|
50
|
+
hint: "Use the 'after' cursor or reduce 'limit' to paginate.",
|
|
51
|
+
after,
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
// Fallback: truncate raw string with a warning appended
|
|
56
|
+
return (full.slice(0, MAX_RESPONSE_CHARS) +
|
|
57
|
+
`... [TRUNCATED — ${full.length} chars total. Use pagination params to fetch in smaller chunks.]`);
|
|
58
|
+
}
|
|
11
59
|
export const ALL_TOOLS = [
|
|
12
60
|
...discoveryTools,
|
|
13
61
|
...marketTools,
|
|
@@ -17,7 +65,7 @@ export const ALL_TOOLS = [
|
|
|
17
65
|
...binanceTools,
|
|
18
66
|
];
|
|
19
67
|
export function createServer() {
|
|
20
|
-
const s = new Server({ name: "kwery-mcp", version: "
|
|
68
|
+
const s = new Server({ name: "kwery-mcp", version: "1.0.0" }, { capabilities: { tools: {} } });
|
|
21
69
|
s.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
22
70
|
tools: ALL_TOOLS.map((t) => ({
|
|
23
71
|
name: t.name,
|
|
@@ -37,8 +85,9 @@ export function createServer() {
|
|
|
37
85
|
const params = tool.inputSchema.parse(request.params.arguments ?? {});
|
|
38
86
|
const client = new KweryClient();
|
|
39
87
|
const result = await tool.handler(params, client);
|
|
88
|
+
const text = safeSerialize(result);
|
|
40
89
|
return {
|
|
41
|
-
content: [{ type: "text", text
|
|
90
|
+
content: [{ type: "text", text }],
|
|
42
91
|
};
|
|
43
92
|
}
|
|
44
93
|
catch (err) {
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,GAAG,cAAc;IACjB,GAAG,WAAW;IACd,GAAG,eAAe;IAClB,GAAG,WAAW;IACd,GAAG,gBAAgB;IACnB,GAAG,YAAY;CAChB,CAAC;AAEF,MAAM,UAAU,YAAY;IAC1B,MAAM,CAAC,GAAG,IAAI,MAAM,CAClB,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,EACvC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAC;IAEF,CAAC,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACvD,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC;SAC5C,CAAC,CAAC;KACJ,CAAC,CAAC,CAAC;IAEJ,CAAC,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC3D,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBACzE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,MAAO,IAAY,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC3D,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kwery-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "MCP server for Kwery — unified crypto and prediction market data across Polymarket, Kalshi, Hyperliquid, Binance, and Chainlink.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -40,11 +40,11 @@
|
|
|
40
40
|
"homepage": "https://kwery.xyz/docs/mcp",
|
|
41
41
|
"repository": {
|
|
42
42
|
"type": "git",
|
|
43
|
-
"url": "https://github.com/KweryAPI/
|
|
43
|
+
"url": "https://github.com/KweryAPI/core-ai.git",
|
|
44
44
|
"directory": "kwery-mcp"
|
|
45
45
|
},
|
|
46
46
|
"bugs": {
|
|
47
|
-
"url": "https://github.com/KweryAPI/
|
|
47
|
+
"url": "https://github.com/KweryAPI/core-ai/issues"
|
|
48
48
|
},
|
|
49
49
|
"engines": {
|
|
50
50
|
"node": ">=20"
|