@0xinsider/mcp 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.
Files changed (58) hide show
  1. package/README.md +133 -0
  2. package/dist/cli-lib.d.ts +12 -0
  3. package/dist/cli-lib.d.ts.map +1 -0
  4. package/dist/cli-lib.js +207 -0
  5. package/dist/cli-lib.js.map +1 -0
  6. package/dist/cli.d.ts +3 -0
  7. package/dist/cli.d.ts.map +1 -0
  8. package/dist/cli.js +12 -0
  9. package/dist/cli.js.map +1 -0
  10. package/dist/client.d.ts +31 -0
  11. package/dist/client.d.ts.map +1 -0
  12. package/dist/client.js +70 -0
  13. package/dist/client.js.map +1 -0
  14. package/dist/constants.d.ts +12 -0
  15. package/dist/constants.d.ts.map +1 -0
  16. package/dist/constants.js +12 -0
  17. package/dist/constants.js.map +1 -0
  18. package/dist/index.d.ts +3 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +12 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/prompts/index.d.ts +3 -0
  23. package/dist/prompts/index.d.ts.map +1 -0
  24. package/dist/prompts/index.js +84 -0
  25. package/dist/prompts/index.js.map +1 -0
  26. package/dist/resources/index.d.ts +4 -0
  27. package/dist/resources/index.d.ts.map +1 -0
  28. package/dist/resources/index.js +131 -0
  29. package/dist/resources/index.js.map +1 -0
  30. package/dist/server.d.ts +4 -0
  31. package/dist/server.d.ts.map +1 -0
  32. package/dist/server.js +52 -0
  33. package/dist/server.js.map +1 -0
  34. package/dist/tools/get-insider-radar.d.ts +4 -0
  35. package/dist/tools/get-insider-radar.d.ts.map +1 -0
  36. package/dist/tools/get-insider-radar.js +62 -0
  37. package/dist/tools/get-insider-radar.js.map +1 -0
  38. package/dist/tools/get-leaderboard.d.ts +4 -0
  39. package/dist/tools/get-leaderboard.d.ts.map +1 -0
  40. package/dist/tools/get-leaderboard.js +56 -0
  41. package/dist/tools/get-leaderboard.js.map +1 -0
  42. package/dist/tools/get-market-intel.d.ts +4 -0
  43. package/dist/tools/get-market-intel.d.ts.map +1 -0
  44. package/dist/tools/get-market-intel.js +42 -0
  45. package/dist/tools/get-market-intel.js.map +1 -0
  46. package/dist/tools/get-trader.d.ts +4 -0
  47. package/dist/tools/get-trader.d.ts.map +1 -0
  48. package/dist/tools/get-trader.js +52 -0
  49. package/dist/tools/get-trader.js.map +1 -0
  50. package/dist/tools/get-whale-trades.d.ts +4 -0
  51. package/dist/tools/get-whale-trades.d.ts.map +1 -0
  52. package/dist/tools/get-whale-trades.js +60 -0
  53. package/dist/tools/get-whale-trades.js.map +1 -0
  54. package/dist/tools/search-markets.d.ts +4 -0
  55. package/dist/tools/search-markets.d.ts.map +1 -0
  56. package/dist/tools/search-markets.js +51 -0
  57. package/dist/tools/search-markets.js.map +1 -0
  58. package/package.json +57 -0
@@ -0,0 +1,60 @@
1
+ import { z } from "zod";
2
+ import { ApiError } from "../client.js";
3
+ export function registerGetWhaleTrades(server, client) {
4
+ server.registerTool("get_whale_trades", {
5
+ title: "List Whale Trades",
6
+ description: `Get recent large trades from graded prediction market traders. Each trade includes signal scoring, trader grade, and market context. Cursor-paginated, newest first.
7
+
8
+ Args:
9
+ - limit (number, 1-100, default 20): Max results per page
10
+ - cursor (string, optional): Pagination cursor from previous response
11
+ - min_size (number, default 5000): Minimum trade size in USD
12
+ - category (string, optional): Filter by market category (case-insensitive)
13
+ - min_grade (string, optional): Minimum trader grade (S, A, B, C, D, F)
14
+
15
+ Returns: List of whale trades with trader info, market context, size, side, price, and signal score.`,
16
+ inputSchema: {
17
+ limit: z.number().int().min(1).max(100).default(20)
18
+ .describe("Max results (1-100, default 20)"),
19
+ cursor: z.string().optional()
20
+ .describe("Pagination cursor from previous response"),
21
+ min_size: z.number().min(0).default(5000)
22
+ .describe("Minimum trade size in USD (default 5000)"),
23
+ category: z.string().optional()
24
+ .describe("Filter by market category (case-insensitive)"),
25
+ min_grade: z.enum(["S", "A", "B", "C", "D", "F"]).optional()
26
+ .describe("Minimum trader grade"),
27
+ },
28
+ annotations: {
29
+ readOnlyHint: true,
30
+ destructiveHint: false,
31
+ idempotentHint: true,
32
+ openWorldHint: false,
33
+ },
34
+ }, async ({ limit, cursor, min_size, category, min_grade }) => {
35
+ try {
36
+ const response = await client.request("/api/v1/whale-trades", {
37
+ limit,
38
+ cursor,
39
+ min_size,
40
+ category,
41
+ min_grade,
42
+ });
43
+ const result = {
44
+ data: response.data,
45
+ has_more: response.has_more,
46
+ next_cursor: response.next_cursor,
47
+ };
48
+ return {
49
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
50
+ };
51
+ }
52
+ catch (error) {
53
+ return {
54
+ isError: true,
55
+ content: [{ type: "text", text: error instanceof ApiError ? error.message : `Unexpected error: ${error}` }],
56
+ };
57
+ }
58
+ });
59
+ }
60
+ //# sourceMappingURL=get-whale-trades.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-whale-trades.js","sourceRoot":"","sources":["../../src/tools/get-whale-trades.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAa,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,MAAiB;IACzE,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE;;;;;;;;;qGASkF;QAC/F,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;iBAChD,QAAQ,CAAC,iCAAiC,CAAC;YAC9C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBAC1B,QAAQ,CAAC,0CAA0C,CAAC;YACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;iBACtC,QAAQ,CAAC,0CAA0C,CAAC;YACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBAC5B,QAAQ,CAAC,8CAA8C,CAAC;YAC3D,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;iBACzD,QAAQ,CAAC,sBAAsB,CAAC;SACpC;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;QACzD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE;gBAC5D,KAAK;gBACL,MAAM;gBACN,QAAQ;gBACR,QAAQ;gBACR,SAAS;aACV,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG;gBACb,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,WAAW,EAAE,QAAQ,CAAC,WAAW;aAClC,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC5E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,YAAY,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,KAAK,EAAE,EAAE,CAAC;aACrH,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { ApiClient } from "../client.js";
3
+ export declare function registerSearchMarkets(server: McpServer, client: ApiClient): void;
4
+ //# sourceMappingURL=search-markets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-markets.d.ts","sourceRoot":"","sources":["../../src/tools/search-markets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAY,MAAM,cAAc,CAAC;AAEnD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAmDhF"}
@@ -0,0 +1,51 @@
1
+ import { z } from "zod";
2
+ import { ApiError } from "../client.js";
3
+ export function registerSearchMarkets(server, client) {
4
+ server.registerTool("search_markets", {
5
+ title: "Search Markets",
6
+ description: `Search prediction markets by keyword. Returns matching markets with status, category, and platform. Use this to find condition_id values needed by get_market_intel.
7
+
8
+ Args:
9
+ - q (string, required): Search query
10
+ - limit (number, 1-100, default 20): Max results
11
+ - status (string, optional): Filter by status: "active", "closed", or "all" (default "all")
12
+ - category (string, optional): Filter by category
13
+
14
+ Returns: List of matching markets with id, condition_id, title, slug, category, platform, status.`,
15
+ inputSchema: {
16
+ q: z.string().min(1)
17
+ .describe("Search query"),
18
+ limit: z.number().int().min(1).max(100).default(20)
19
+ .describe("Max results (1-100, default 20)"),
20
+ status: z.enum(["active", "closed", "all"]).default("all")
21
+ .describe("Filter by market status"),
22
+ category: z.string().optional()
23
+ .describe("Filter by category"),
24
+ },
25
+ annotations: {
26
+ readOnlyHint: true,
27
+ destructiveHint: false,
28
+ idempotentHint: true,
29
+ openWorldHint: false,
30
+ },
31
+ }, async ({ q, limit, status, category }) => {
32
+ try {
33
+ const response = await client.request("/api/v1/markets/search", {
34
+ q,
35
+ limit,
36
+ status,
37
+ category,
38
+ });
39
+ return {
40
+ content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }],
41
+ };
42
+ }
43
+ catch (error) {
44
+ return {
45
+ isError: true,
46
+ content: [{ type: "text", text: error instanceof ApiError ? error.message : `Unexpected error: ${error}` }],
47
+ };
48
+ }
49
+ });
50
+ }
51
+ //# sourceMappingURL=search-markets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-markets.js","sourceRoot":"","sources":["../../src/tools/search-markets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAa,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,UAAU,qBAAqB,CAAC,MAAiB,EAAE,MAAiB;IACxE,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE;;;;;;;;kGAQ+E;QAC5F,WAAW,EAAE;YACX,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;iBACjB,QAAQ,CAAC,cAAc,CAAC;YAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;iBAChD,QAAQ,CAAC,iCAAiC,CAAC;YAC9C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;iBACvD,QAAQ,CAAC,yBAAyB,CAAC;YACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBAC5B,QAAQ,CAAC,oBAAoB,CAAC;SAClC;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,wBAAwB,EAAE;gBAC9D,CAAC;gBACD,KAAK;gBACL,MAAM;gBACN,QAAQ;aACT,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACnF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,YAAY,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,KAAK,EAAE,EAAE,CAAC;aACrH,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@0xinsider/mcp",
3
+ "version": "1.0.0",
4
+ "description": "MCP server for 0xinsider — prediction market intelligence for AI agents",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "bin": {
8
+ "0xinsider-mcp": "dist/cli.js"
9
+ },
10
+ "scripts": {
11
+ "start": "node dist/index.js",
12
+ "dev": "tsx watch src/index.ts",
13
+ "build": "tsc",
14
+ "test": "tsx --test tests/**/*.test.ts",
15
+ "clean": "rm -rf dist",
16
+ "prepublishOnly": "npm run build"
17
+ },
18
+ "keywords": [
19
+ "mcp",
20
+ "model-context-protocol",
21
+ "polymarket",
22
+ "prediction-markets",
23
+ "trading",
24
+ "ai-agents",
25
+ "0xinsider"
26
+ ],
27
+ "author": "0xinsider",
28
+ "license": "MIT",
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "git+https://github.com/0xinsider/0xinsider.git",
32
+ "directory": "mcp"
33
+ },
34
+ "bugs": {
35
+ "url": "https://github.com/0xinsider/0xinsider/issues"
36
+ },
37
+ "homepage": "https://0xinsider.com/developers",
38
+ "engines": {
39
+ "node": ">=18"
40
+ },
41
+ "publishConfig": {
42
+ "access": "public"
43
+ },
44
+ "files": [
45
+ "dist",
46
+ "README.md"
47
+ ],
48
+ "dependencies": {
49
+ "@modelcontextprotocol/sdk": "^1.12.1",
50
+ "zod": "^3.24.4"
51
+ },
52
+ "devDependencies": {
53
+ "@types/node": "^22.10.0",
54
+ "tsx": "^4.19.2",
55
+ "typescript": "^5.7.2"
56
+ }
57
+ }