kwery-mcp 0.2.0 → 1.0.1

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
@@ -10,7 +10,7 @@ data across Polymarket, Kalshi, Hyperliquid, Binance, and Chainlink.
10
10
  Add to your Claude Code config:
11
11
 
12
12
  ```bash
13
- claude mcp add kwery npx kwery-mcp@latest
13
+ claude mcp add -e KWERY_API_KEY=your_api_key_here kwery -- npx -y kwery-mcp@latest
14
14
  ```
15
15
 
16
16
  Or add to `~/.claude.json` / Claude Desktop config manually:
@@ -49,7 +49,7 @@ Get your API key at [kwery.xyz/dashboard](https://kwery.xyz/dashboard).
49
49
 
50
50
  ## Links
51
51
 
52
- - [Full docs](https://kwery.xyz/docs/mcp)
53
- - [API reference](https://kwery-api.com/docs)
54
- - [GitHub](https://github.com/KweryAPI/kwery-agents)
52
+ - [Full docs](https://kwery.xyz/docs/agents/mcp)
53
+ - [API reference](https://kwery-api.com/docs/api-reference)
54
+ - [GitHub](https://github.com/KweryAPI/core-ai)
55
55
  - [Pricing](https://kwery.xyz/pricing)
package/dist/client.js CHANGED
@@ -18,7 +18,7 @@ export class KweryClient {
18
18
  const res = await fetch(url.toString(), {
19
19
  headers: {
20
20
  "X-API-Key": this.apiKey,
21
- "User-Agent": "kwery-mcp/0.1.0",
21
+ "User-Agent": "kwery-mcp/1.0.0",
22
22
  },
23
23
  });
24
24
  if (!res.ok) {
@@ -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;AAQ1C,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;aAkCG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA3BxB,CAAC;AAEF,wBAAgB,YAAY,IAAI,MAAM,CAuCrC;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAiB,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: "0.1.0" }, { capabilities: { tools: {} } });
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: JSON.stringify(result, null, 2) }],
90
+ content: [{ type: "text", text }],
42
91
  };
43
92
  }
44
93
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
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,0EAA0E;AAC1E,kFAAkF;AAClF,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC,SAAS,aAAa,CAAC,MAAe;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,IAAI,CAAC,MAAM,IAAI,kBAAkB;QAAE,OAAO,IAAI,CAAC;IAEnD,wDAAwD;IACxD,IACE,MAAM,KAAK,IAAI;QACf,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,IAAI,MAAM;QAChB,KAAK,CAAC,OAAO,CAAE,MAAc,CAAC,IAAI,CAAC,EACnC,CAAC;QACD,MAAM,CAAC,GAAG,MAAa,CAAC;QACxB,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5B,8EAA8E;QAC9E,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,IAAI,EAAE,GAAG,KAAK,CAAC;QACf,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,GAAG,CAAC;gBACJ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC1B,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;aACnD,CAAC,CAAC;YACH,IAAI,SAAS,CAAC,MAAM,IAAI,kBAAkB,EAAE,CAAC;gBAC3C,IAAI,GAAG,GAAG,CAAC;gBACX,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;YACf,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC;QAC5E,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,GAAG,CAAC;YACJ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;YAC3B,UAAU,EAAE;gBACV,OAAO,EAAE,+BAA+B,IAAI,OAAO,KAAK,QAAQ;gBAChE,IAAI,EAAE,uDAAuD;gBAC7D,KAAK;aACN;SACF,CAAC,CAAC;IACL,CAAC;IAED,wDAAwD;IACxD,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC;QACjC,oBAAoB,IAAI,CAAC,MAAM,kEAAkE,CAClG,CAAC;AACJ,CAAC;AAED,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,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACnC,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;aAClC,CAAC;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC1D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kwery-mcp",
3
- "version": "0.2.0",
3
+ "version": "1.0.1",
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/kwery-agents.git",
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/kwery-agents/issues"
47
+ "url": "https://github.com/KweryAPI/core-ai/issues"
48
48
  },
49
49
  "engines": {
50
50
  "node": ">=20"