@0xinsider/mcp 1.0.0 → 1.0.9
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 +67 -7
- package/dist/cli-lib.d.ts +15 -0
- package/dist/cli-lib.d.ts.map +1 -1
- package/dist/cli-lib.js +231 -53
- package/dist/cli-lib.js.map +1 -1
- package/dist/client.d.ts +5 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +30 -4
- package/dist/client.js.map +1 -1
- package/dist/constants.d.ts +2 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +25 -1
- package/dist/constants.js.map +1 -1
- package/dist/prompts/index.js +3 -3
- package/dist/prompts/index.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +32 -2
- package/dist/server.js.map +1 -1
- package/dist/tools/explore-markets.d.ts +36 -0
- package/dist/tools/explore-markets.d.ts.map +1 -0
- package/dist/tools/explore-markets.js +77 -0
- package/dist/tools/explore-markets.js.map +1 -0
- package/dist/tools/get-insider-radar.js +1 -1
- package/dist/tools/get-large-positions.d.ts +21 -0
- package/dist/tools/get-large-positions.d.ts.map +1 -0
- package/dist/tools/get-large-positions.js +68 -0
- package/dist/tools/get-large-positions.js.map +1 -0
- package/dist/tools/get-position-timeline.d.ts +24 -0
- package/dist/tools/get-position-timeline.d.ts.map +1 -0
- package/dist/tools/get-position-timeline.js +79 -0
- package/dist/tools/get-position-timeline.js.map +1 -0
- package/dist/tools/get-positions.d.ts +21 -0
- package/dist/tools/get-positions.d.ts.map +1 -0
- package/dist/tools/get-positions.js +68 -0
- package/dist/tools/get-positions.js.map +1 -0
- package/dist/tools/get-trader-pnl.d.ts +6 -0
- package/dist/tools/get-trader-pnl.d.ts.map +1 -0
- package/dist/tools/get-trader-pnl.js +39 -0
- package/dist/tools/get-trader-pnl.js.map +1 -0
- package/dist/tools/get-trader.d.ts +2 -0
- package/dist/tools/get-trader.d.ts.map +1 -1
- package/dist/tools/get-trader.js +13 -11
- package/dist/tools/get-trader.js.map +1 -1
- package/dist/tools/get-trending-wallets.d.ts +15 -0
- package/dist/tools/get-trending-wallets.d.ts.map +1 -0
- package/dist/tools/get-trending-wallets.js +56 -0
- package/dist/tools/get-trending-wallets.js.map +1 -0
- package/dist/tools/get-whale-trades.js +1 -1
- package/dist/tools/get-whale-trades.js.map +1 -1
- package/dist/tools/read-parity.d.ts +20 -0
- package/dist/tools/read-parity.d.ts.map +1 -0
- package/dist/tools/read-parity.js +493 -0
- package/dist/tools/read-parity.js.map +1 -0
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -2,7 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
MCP server for [0xinsider](https://0xinsider.com) — prediction market intelligence for AI agents.
|
|
4
4
|
|
|
5
|
-
Gives your AI agent access to trader grades, whale trades, smart money signals, market intelligence, and insider
|
|
5
|
+
Gives your AI agent access to trader grades, whale trades, smart money signals, market intelligence, and insider-radar flags across prediction markets.
|
|
6
|
+
|
|
7
|
+
## Two ways to connect
|
|
8
|
+
|
|
9
|
+
- **Remote HTTP (no install)** — `POST https://api.0xinsider.com/api/v1/mcp` with `Authorization: Bearer oxi_sk_live_...`. Implements the MCP Streamable HTTP transport (protocolVersion `2025-11-25`). Works with MCP clients that speak HTTP and can send headers. `?token=` remains a legacy URL-only compatibility path, but prefer headers because URL secrets can leak through shell history, browser history, proxy logs, and crash reports. 31 read-only public V1 tools -- the 29 the stdio server exposes plus the remote-only `get_report` and `search_content` -- same rate limits, same billing.
|
|
10
|
+
- **Stdio (this npm package)** — run `npx -y @0xinsider/mcp` locally for Claude Code / Cursor / Codex / Gemini CLI. Best when the client can launch a child process and you prefer to keep the API key out of URLs.
|
|
11
|
+
|
|
12
|
+
The stdio server exposes these 29 read-only tools (the remote HTTP endpoint additionally exposes the remote-only `get_report` and `search_content`, 31 total): `get_leaderboard`, `get_trader`, `batch_get_traders`, `get_whale_trades`, `get_whale_trade`, `get_whale_trades_history`, `get_market_intel`, `batch_get_market_intel`, `get_smart_money_flows`, `get_sharp_money_flows`, `get_market_snapshot`, `get_insider_radar`, `get_insider_radar_flag`, `get_positions`, `get_position_timeline`, `get_position_timeline_by_id`, `search_markets`, `explore_markets`, `get_event_replay_since`, `list_webhooks`, `get_webhook`, `get_daily_report_snapshot`, `get_weekly_report_snapshot`, `get_monthly_report_snapshot`, `get_trader_export_snapshot`, `get_platforms`, `get_large_positions`, `get_trending_wallets`, `get_trader_pnl`.
|
|
6
13
|
|
|
7
14
|
## Quick Start
|
|
8
15
|
|
|
@@ -12,6 +19,8 @@ Gives your AI agent access to trader grades, whale trades, smart money signals,
|
|
|
12
19
|
npx -y @0xinsider/mcp init
|
|
13
20
|
```
|
|
14
21
|
|
|
22
|
+
`init` reads the key without echoing it. For non-interactive setup, set `OXINSIDER_API_KEY` in the process environment or pipe the key on stdin. Do not pass the key as a command-line argument.
|
|
23
|
+
|
|
15
24
|
Or manually add to `~/.claude/settings.json`:
|
|
16
25
|
|
|
17
26
|
```json
|
|
@@ -30,6 +39,8 @@ Or manually add to `~/.claude/settings.json`:
|
|
|
30
39
|
|
|
31
40
|
### Cursor
|
|
32
41
|
|
|
42
|
+
`npx -y @0xinsider/mcp init` can also configure Cursor automatically when its local config directory is present.
|
|
43
|
+
|
|
33
44
|
Add to `~/.cursor/mcp.json`:
|
|
34
45
|
|
|
35
46
|
```json
|
|
@@ -61,13 +72,31 @@ args = ["-y", "@0xinsider/mcp"]
|
|
|
61
72
|
OXINSIDER_API_KEY = "oxi_sk_live_..."
|
|
62
73
|
```
|
|
63
74
|
|
|
75
|
+
### Gemini CLI
|
|
76
|
+
|
|
77
|
+
`npx -y @0xinsider/mcp init` detects Gemini CLI when the `gemini` command is installed and prints a manual config template.
|
|
78
|
+
|
|
79
|
+
Or add to `~/.gemini/settings.json`:
|
|
80
|
+
|
|
81
|
+
```json
|
|
82
|
+
{
|
|
83
|
+
"mcpServers": {
|
|
84
|
+
"0xinsider": {
|
|
85
|
+
"command": "npx",
|
|
86
|
+
"args": ["-y", "@0xinsider/mcp"],
|
|
87
|
+
"env": {
|
|
88
|
+
"OXINSIDER_API_KEY": "oxi_sk_live_..."
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
64
95
|
### Other MCP Clients
|
|
65
96
|
|
|
66
97
|
Any client that supports stdio transport:
|
|
67
98
|
|
|
68
|
-
|
|
69
|
-
OXINSIDER_API_KEY=oxi_sk_live_... npx -y @0xinsider/mcp
|
|
70
|
-
```
|
|
99
|
+
Set `OXINSIDER_API_KEY` in the process environment before starting the stdio server. Do not pass the key as a command-line argument.
|
|
71
100
|
|
|
72
101
|
Need the command list? Run:
|
|
73
102
|
|
|
@@ -77,18 +106,48 @@ npx -y @0xinsider/mcp --help
|
|
|
77
106
|
|
|
78
107
|
## API Key
|
|
79
108
|
|
|
80
|
-
Get your API key at [0xinsider.com/developers](https://0xinsider.com/developers). Requires
|
|
109
|
+
Get your API key at [0xinsider.com/developers](https://0xinsider.com/developers). Requires a Pro subscription.
|
|
110
|
+
|
|
111
|
+
## Security
|
|
112
|
+
|
|
113
|
+
`init` never prints the API key. If an older version wrote the key to recorded terminal output, rotate the key before you use the new configuration.
|
|
81
114
|
|
|
82
115
|
## Tools
|
|
83
116
|
|
|
117
|
+
<!-- The `batch_get_traders` and `batch_get_market_intel` rows below are GENERATED: they
|
|
118
|
+
publish the batch item cap, which is owned by `MAX_BATCH_ITEMS` in
|
|
119
|
+
`backend/src/api_v1/handlers/batch.rs` (#8103). Do not hand-edit those two rows; a
|
|
120
|
+
`cd web && npm run generate:api-policy` run rewrites them. Every other row is written by
|
|
121
|
+
hand. Markers are not used here because an HTML comment inside a table breaks it. -->
|
|
122
|
+
|
|
84
123
|
| Tool | Description |
|
|
85
124
|
|------|-------------|
|
|
86
|
-
| `get_trader` | Look up a trader by wallet address — grade, P&L, win rate, strategy, quant metrics |
|
|
125
|
+
| `get_trader` | Look up a trader by wallet address or username — grade, P&L, win rate, strategy, quant metrics |
|
|
126
|
+
| `batch_get_traders` | Look up 1-25 traders in one call with per-item results and batch-item quota |
|
|
87
127
|
| `get_whale_trades` | Recent large trades with signal scoring, filterable by size/category/grade |
|
|
128
|
+
| `get_whale_trade` | Read one whale trade by wt_ ID or raw whale_alerts.id |
|
|
129
|
+
| `get_whale_trades_history` | Replay historical whale trades with cursor, market, trader, category, grade, platform, and time filters |
|
|
88
130
|
| `get_leaderboard` | Top-ranked traders (S/A/B grades) with optional category/strategy filters |
|
|
89
131
|
| `search_markets` | Search prediction markets by keyword |
|
|
132
|
+
| `explore_markets` | Browse whale-active markets with facets and grouped discovery entries |
|
|
90
133
|
| `get_market_intel` | Smart money flow analysis for a specific market |
|
|
91
|
-
| `
|
|
134
|
+
| `batch_get_market_intel` | Fetch market intelligence for 1-25 condition IDs in one call |
|
|
135
|
+
| `get_smart_money_flows` | Deprecated alias of `get_sharp_money_flows` (byte-identical); kept for backward compatibility |
|
|
136
|
+
| `get_sharp_money_flows` | Ranked sharp-money flow discovery across markets (timeframe, category, platform, min-grade, direction filters) |
|
|
137
|
+
| `get_market_snapshot` | Live market-card snapshot with outcomes, liquidity, sports context, and freshness state |
|
|
138
|
+
| `get_positions` | Current positions with trader, market, value, side, P&L, and freshness context |
|
|
139
|
+
| `get_position_timeline` | Per-market trader fills with running amount and average entry price |
|
|
140
|
+
| `get_position_timeline_by_id` | Per-market trader fills using an internal trader ID alias |
|
|
141
|
+
| `get_insider_radar` | Suspicious trading pattern flags |
|
|
142
|
+
| `get_insider_radar_flag` | Read one insider-radar flag by rf_ ID or raw radar_flags.id |
|
|
143
|
+
| `get_event_replay_since` | Durable public event replay after an opaque cursor |
|
|
144
|
+
| `list_webhooks` | Read webhook endpoints owned by the authenticated API-key user |
|
|
145
|
+
| `get_webhook` | Read one webhook endpoint by ID |
|
|
146
|
+
| `get_daily_report_snapshot` | Read a dated daily whale-activity report snapshot |
|
|
147
|
+
| `get_weekly_report_snapshot` | Read a weekly whale-activity report snapshot by week token or date range |
|
|
148
|
+
| `get_monthly_report_snapshot` | Read a monthly whale-activity report snapshot |
|
|
149
|
+
| `get_trader_export_snapshot` | Read trader export metadata without starting an export job |
|
|
150
|
+
| `get_platforms` | Provider capability matrix: which platforms support grade, P&L, strategy, timeline, whale signal, insider radar, and market snapshot |
|
|
92
151
|
|
|
93
152
|
## Resources
|
|
94
153
|
|
|
@@ -114,6 +173,7 @@ Once configured, ask your AI agent:
|
|
|
114
173
|
- "Who are the top prediction market traders right now?"
|
|
115
174
|
- "What are whales buying in crypto markets?"
|
|
116
175
|
- "Analyze trader 0x1234... — is their strategy worth following?"
|
|
176
|
+
- "Analyze trader swisstony — is their strategy worth following?"
|
|
117
177
|
- "Are there any suspicious trading patterns on the Trump election market?"
|
|
118
178
|
- "Generate a smart money report for AI markets"
|
|
119
179
|
|
package/dist/cli-lib.d.ts
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
export type CliCommand = "serve" | "init" | "help";
|
|
2
|
+
export type EnvironmentType = "claude-code" | "cursor" | "codex" | "gemini-cli";
|
|
3
|
+
export type Environment = {
|
|
4
|
+
type: EnvironmentType;
|
|
5
|
+
configPath: string;
|
|
6
|
+
};
|
|
7
|
+
type JsonValue = string | number | boolean | null | JsonValue[] | {
|
|
8
|
+
[key: string]: JsonValue;
|
|
9
|
+
};
|
|
2
10
|
type McpConfig = {
|
|
3
11
|
command: string;
|
|
4
12
|
args: string[];
|
|
@@ -6,7 +14,14 @@ type McpConfig = {
|
|
|
6
14
|
};
|
|
7
15
|
export declare function buildMcpConfig(apiKey: string): McpConfig;
|
|
8
16
|
export declare function formatCodexToml(apiKey: string): string;
|
|
17
|
+
export declare function buildMcpConfigTemplate(): McpConfig;
|
|
18
|
+
export declare function formatCodexTomlTemplate(): string;
|
|
9
19
|
export declare function resolveCliCommand(args: readonly string[]): CliCommand;
|
|
20
|
+
export declare function detectEnvironments(home?: string): Environment[];
|
|
21
|
+
export declare function readJsonFile(path: string): Record<string, JsonValue>;
|
|
22
|
+
export declare function writeJsonFile(path: string, data: Record<string, JsonValue>): void;
|
|
23
|
+
export declare function addJsonMcpServer(configPath: string, apiKey: string): void;
|
|
24
|
+
export declare function addCodexMcpServer(configPath: string, apiKey: string): void;
|
|
10
25
|
export declare function runCli(args: readonly string[]): Promise<void>;
|
|
11
26
|
export {};
|
|
12
27
|
//# sourceMappingURL=cli-lib.d.ts.map
|
package/dist/cli-lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-lib.d.ts","sourceRoot":"","sources":["../src/cli-lib.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli-lib.d.ts","sourceRoot":"","sources":["../src/cli-lib.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AACnD,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,CAAC;AAEhF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,eAAe,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAE/F,KAAK,SAAS,GAAG;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B,CAAC;AASF,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAQxD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQtD;AAED,wBAAgB,sBAAsB,IAAI,SAAS,CAElD;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAOD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CAarE;AAuLD,wBAAgB,kBAAkB,CAChC,IAAI,SAAoD,GACvD,WAAW,EAAE,CAwBf;AAiCD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAYpE;AAWD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI,CAEjF;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CASzE;AA2CD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAM1E;AA6CD,wBAAsB,MAAM,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBnE"}
|
package/dist/cli-lib.js
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { spawnSync } from "node:child_process";
|
|
2
|
-
import {
|
|
2
|
+
import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync, } from "node:fs";
|
|
3
3
|
import { dirname, join } from "node:path";
|
|
4
4
|
import { createInterface } from "node:readline";
|
|
5
5
|
import { API_KEY_ENV_VAR, DEVELOPERS_URL, MCP_NPX_ARGS, MCP_NPX_COMMAND, PACKAGE_NAME, SERVER_NAME, } from "./constants.js";
|
|
6
6
|
import { runServer } from "./server.js";
|
|
7
|
+
const API_KEY_PREFIX = "oxi_sk_live_";
|
|
8
|
+
const API_KEY_CONFIG_PLACEHOLDER = "<YOUR_OXINSIDER_API_KEY>";
|
|
9
|
+
function asError(error) {
|
|
10
|
+
return error instanceof Error ? error : new Error(String(error));
|
|
11
|
+
}
|
|
7
12
|
export function buildMcpConfig(apiKey) {
|
|
8
13
|
return {
|
|
9
14
|
command: MCP_NPX_COMMAND,
|
|
@@ -22,6 +27,16 @@ args = [${MCP_NPX_ARGS.map((arg) => JSON.stringify(arg)).join(", ")}]
|
|
|
22
27
|
${API_KEY_ENV_VAR} = ${JSON.stringify(apiKey)}
|
|
23
28
|
`;
|
|
24
29
|
}
|
|
30
|
+
export function buildMcpConfigTemplate() {
|
|
31
|
+
return buildMcpConfig(API_KEY_CONFIG_PLACEHOLDER);
|
|
32
|
+
}
|
|
33
|
+
export function formatCodexTomlTemplate() {
|
|
34
|
+
return formatCodexToml(API_KEY_CONFIG_PLACEHOLDER);
|
|
35
|
+
}
|
|
36
|
+
function commandExists(command, args = ["--version"]) {
|
|
37
|
+
const result = spawnSync(command, args, { stdio: "ignore" });
|
|
38
|
+
return !result.error && result.status === 0;
|
|
39
|
+
}
|
|
25
40
|
export function resolveCliCommand(args) {
|
|
26
41
|
const command = args[0];
|
|
27
42
|
if (!command || command === "serve") {
|
|
@@ -40,15 +55,21 @@ function printHelp() {
|
|
|
40
55
|
|
|
41
56
|
Usage:
|
|
42
57
|
npx -y ${PACKAGE_NAME} init
|
|
43
|
-
|
|
58
|
+
npx -y ${PACKAGE_NAME}
|
|
44
59
|
|
|
45
60
|
Commands:
|
|
46
|
-
init Detect Claude Code, Cursor, or
|
|
61
|
+
init Detect Claude Code, Cursor, Codex, or Gemini CLI and write MCP config
|
|
47
62
|
serve Start the stdio MCP server (default)
|
|
48
63
|
help Show this message
|
|
64
|
+
|
|
65
|
+
Environment:
|
|
66
|
+
${API_KEY_ENV_VAR} API key for the stdio server or non-interactive init
|
|
49
67
|
`);
|
|
50
68
|
}
|
|
51
69
|
function ask(question) {
|
|
70
|
+
if (!process.stdin.isTTY) {
|
|
71
|
+
return Promise.reject(new Error("Interactive input requires a TTY."));
|
|
72
|
+
}
|
|
52
73
|
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
53
74
|
return new Promise((resolve) => {
|
|
54
75
|
rl.question(question, (answer) => {
|
|
@@ -57,8 +78,144 @@ function ask(question) {
|
|
|
57
78
|
});
|
|
58
79
|
});
|
|
59
80
|
}
|
|
60
|
-
function
|
|
61
|
-
|
|
81
|
+
function askSecret(question) {
|
|
82
|
+
if (!process.stdin.isTTY || typeof process.stdin.setRawMode !== "function") {
|
|
83
|
+
return Promise.reject(new Error("Hidden API key input requires a TTY."));
|
|
84
|
+
}
|
|
85
|
+
const previousRawMode = process.stdin.isRaw;
|
|
86
|
+
return new Promise((resolve, reject) => {
|
|
87
|
+
let value = "";
|
|
88
|
+
let settled = false;
|
|
89
|
+
let rawModeChanged = false;
|
|
90
|
+
const onData = (chunk) => {
|
|
91
|
+
for (const character of String(chunk)) {
|
|
92
|
+
if (character === "\r" || character === "\n") {
|
|
93
|
+
finish();
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
if (character === "\u0003") {
|
|
97
|
+
finish(new Error("API key input interrupted by SIGINT."));
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
if (character === "\u0004") {
|
|
101
|
+
finish(new Error("API key input ended before completion."));
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
if (character === "\b" || character === "\u007f") {
|
|
105
|
+
value = value.slice(0, -1);
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
if (character === "\u0015") {
|
|
109
|
+
value = "";
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
if (character >= " " && character !== "\u007f") {
|
|
113
|
+
value += character;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
const onError = (error) => finish(error);
|
|
118
|
+
const onEnd = () => finish(new Error("API key input ended before completion."));
|
|
119
|
+
const onSigint = () => finish(new Error("API key input interrupted by SIGINT."));
|
|
120
|
+
const onSigterm = () => finish(new Error("API key input interrupted by SIGTERM."));
|
|
121
|
+
const restore = () => {
|
|
122
|
+
process.stdin.removeListener("data", onData);
|
|
123
|
+
process.stdin.removeListener("error", onError);
|
|
124
|
+
process.stdin.removeListener("end", onEnd);
|
|
125
|
+
process.removeListener("SIGINT", onSigint);
|
|
126
|
+
process.removeListener("SIGTERM", onSigterm);
|
|
127
|
+
let restoreError;
|
|
128
|
+
if (rawModeChanged) {
|
|
129
|
+
try {
|
|
130
|
+
process.stdin.setRawMode(previousRawMode);
|
|
131
|
+
rawModeChanged = false;
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
restoreError = error;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
try {
|
|
138
|
+
process.stdin.pause();
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
restoreError ??= error;
|
|
142
|
+
}
|
|
143
|
+
try {
|
|
144
|
+
process.stdout.write("\n");
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
restoreError ??= error;
|
|
148
|
+
}
|
|
149
|
+
if (restoreError) {
|
|
150
|
+
throw asError(restoreError);
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
function finish(error) {
|
|
154
|
+
if (settled)
|
|
155
|
+
return;
|
|
156
|
+
settled = true;
|
|
157
|
+
try {
|
|
158
|
+
restore();
|
|
159
|
+
}
|
|
160
|
+
catch (restoreError) {
|
|
161
|
+
reject(asError(restoreError));
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
if (error) {
|
|
165
|
+
reject(error);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
resolve(value.trim());
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
try {
|
|
172
|
+
process.stdin.setRawMode(true);
|
|
173
|
+
rawModeChanged = true;
|
|
174
|
+
process.stdin.on("data", onData);
|
|
175
|
+
process.stdin.on("error", onError);
|
|
176
|
+
process.stdin.once("end", onEnd);
|
|
177
|
+
process.once("SIGINT", onSigint);
|
|
178
|
+
process.once("SIGTERM", onSigterm);
|
|
179
|
+
process.stdin.resume();
|
|
180
|
+
process.stdout.write(question);
|
|
181
|
+
}
|
|
182
|
+
catch (error) {
|
|
183
|
+
finish(asError(error));
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
async function readPipedApiKey() {
|
|
188
|
+
const chunks = [];
|
|
189
|
+
for await (const chunk of process.stdin) {
|
|
190
|
+
chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(String(chunk)));
|
|
191
|
+
}
|
|
192
|
+
return Buffer.concat(chunks).toString("utf8").trim();
|
|
193
|
+
}
|
|
194
|
+
async function readApiKey() {
|
|
195
|
+
const configured = process.env[API_KEY_ENV_VAR]?.trim();
|
|
196
|
+
if (configured)
|
|
197
|
+
return configured;
|
|
198
|
+
if (process.stdin.isTTY && typeof process.stdin.setRawMode === "function") {
|
|
199
|
+
return askSecret("Enter your 0xinsider API key (input hidden): ");
|
|
200
|
+
}
|
|
201
|
+
if (!process.stdin.isTTY) {
|
|
202
|
+
const piped = await readPipedApiKey();
|
|
203
|
+
if (piped)
|
|
204
|
+
return piped;
|
|
205
|
+
}
|
|
206
|
+
throw new Error(`API key input needs a TTY. Set ${API_KEY_ENV_VAR} or pipe the key on stdin. Do not pass the key as a command-line argument. Get a key at ${DEVELOPERS_URL}.`);
|
|
207
|
+
}
|
|
208
|
+
function validateApiKey(apiKey) {
|
|
209
|
+
const normalized = apiKey.trim();
|
|
210
|
+
if (!normalized) {
|
|
211
|
+
throw new Error(`API key is required. Get one at ${DEVELOPERS_URL}.`);
|
|
212
|
+
}
|
|
213
|
+
if (!normalized.startsWith(API_KEY_PREFIX) || /\s/.test(normalized)) {
|
|
214
|
+
throw new Error(`Invalid API key format. Keys start with ${API_KEY_PREFIX}`);
|
|
215
|
+
}
|
|
216
|
+
return normalized;
|
|
217
|
+
}
|
|
218
|
+
export function detectEnvironments(home = process.env.HOME ?? process.env.USERPROFILE ?? "") {
|
|
62
219
|
const environments = [];
|
|
63
220
|
const claudeDir = join(home, ".claude");
|
|
64
221
|
if (existsSync(claudeDir)) {
|
|
@@ -68,9 +225,13 @@ function detectEnvironments() {
|
|
|
68
225
|
if (existsSync(cursorDir)) {
|
|
69
226
|
environments.push({ type: "cursor", configPath: join(cursorDir, "mcp.json") });
|
|
70
227
|
}
|
|
71
|
-
const
|
|
72
|
-
if (existsSync(
|
|
73
|
-
environments.push({ type: "codex", configPath:
|
|
228
|
+
const codexConfigPath = join(home, ".codex", "config.toml");
|
|
229
|
+
if (existsSync(join(home, ".codex")) || commandExists("codex")) {
|
|
230
|
+
environments.push({ type: "codex", configPath: codexConfigPath });
|
|
231
|
+
}
|
|
232
|
+
const geminiConfigPath = join(home, ".gemini", "settings.json");
|
|
233
|
+
if (existsSync(join(home, ".gemini")) || commandExists("gemini")) {
|
|
234
|
+
environments.push({ type: "gemini-cli", configPath: geminiConfigPath });
|
|
74
235
|
}
|
|
75
236
|
return environments;
|
|
76
237
|
}
|
|
@@ -79,7 +240,9 @@ function environmentLabel(type) {
|
|
|
79
240
|
return "Claude Code";
|
|
80
241
|
if (type === "cursor")
|
|
81
242
|
return "Cursor";
|
|
82
|
-
|
|
243
|
+
if (type === "codex")
|
|
244
|
+
return "Codex";
|
|
245
|
+
return "Gemini CLI";
|
|
83
246
|
}
|
|
84
247
|
async function chooseEnvironment(environments) {
|
|
85
248
|
if (environments.length === 0)
|
|
@@ -102,30 +265,33 @@ async function chooseEnvironment(environments) {
|
|
|
102
265
|
function isJsonRecord(value) {
|
|
103
266
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
104
267
|
}
|
|
105
|
-
function readJsonFile(path) {
|
|
268
|
+
export function readJsonFile(path) {
|
|
106
269
|
if (!existsSync(path))
|
|
107
270
|
return {};
|
|
108
271
|
try {
|
|
109
272
|
const parsed = JSON.parse(readFileSync(path, "utf-8"));
|
|
110
273
|
if (!isJsonRecord(parsed)) {
|
|
111
|
-
|
|
112
|
-
return {};
|
|
274
|
+
throw new Error(`${path} does not contain a JSON object`);
|
|
113
275
|
}
|
|
114
276
|
return parsed;
|
|
115
277
|
}
|
|
116
278
|
catch (error) {
|
|
117
|
-
|
|
118
|
-
|
|
279
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
280
|
+
throw new Error(`Refusing to update malformed MCP config ${path}: ${message}`);
|
|
119
281
|
}
|
|
120
282
|
}
|
|
121
|
-
function
|
|
283
|
+
function writeTextFileRestricted(path, data) {
|
|
122
284
|
const dir = dirname(path);
|
|
123
285
|
if (!existsSync(dir)) {
|
|
124
286
|
mkdirSync(dir, { recursive: true });
|
|
125
287
|
}
|
|
126
|
-
writeFileSync(path,
|
|
288
|
+
writeFileSync(path, data, { mode: 0o600 });
|
|
289
|
+
chmodSync(path, 0o600);
|
|
290
|
+
}
|
|
291
|
+
export function writeJsonFile(path, data) {
|
|
292
|
+
writeTextFileRestricted(path, JSON.stringify(data, null, 2) + "\n");
|
|
127
293
|
}
|
|
128
|
-
function addJsonMcpServer(configPath, apiKey) {
|
|
294
|
+
export function addJsonMcpServer(configPath, apiKey) {
|
|
129
295
|
const config = readJsonFile(configPath);
|
|
130
296
|
const existing = config.mcpServers;
|
|
131
297
|
const mcpServers = isJsonRecord(existing) ? existing : {};
|
|
@@ -134,60 +300,72 @@ function addJsonMcpServer(configPath, apiKey) {
|
|
|
134
300
|
writeJsonFile(configPath, config);
|
|
135
301
|
console.log(`\nAdded ${SERVER_NAME} MCP server to ${configPath}`);
|
|
136
302
|
}
|
|
137
|
-
function printManualInstructions(
|
|
138
|
-
console.log("\nClaude Code / Cursor JSON:\n");
|
|
139
|
-
console.log(JSON.stringify({ mcpServers: { [SERVER_NAME]:
|
|
303
|
+
function printManualInstructions() {
|
|
304
|
+
console.log("\nClaude Code / Cursor / Gemini CLI JSON:\n");
|
|
305
|
+
console.log(JSON.stringify({ mcpServers: { [SERVER_NAME]: buildMcpConfigTemplate() } }, null, 2));
|
|
140
306
|
console.log("\nCodex TOML (~/.codex/config.toml):\n");
|
|
141
|
-
console.log(
|
|
307
|
+
console.log(formatCodexTomlTemplate());
|
|
308
|
+
console.log("Replace the placeholder with your API key in the config file. Do not paste the key into a command or terminal output.");
|
|
142
309
|
}
|
|
143
|
-
function
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
SERVER_NAME
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
310
|
+
function stripCodexServerBlocks(source) {
|
|
311
|
+
const serverHeaders = new Set([
|
|
312
|
+
`[mcp_servers.${SERVER_NAME}]`,
|
|
313
|
+
`[mcp_servers."${SERVER_NAME}"]`,
|
|
314
|
+
]);
|
|
315
|
+
const envHeaders = new Set([
|
|
316
|
+
`[mcp_servers.${SERVER_NAME}.env]`,
|
|
317
|
+
`[mcp_servers."${SERVER_NAME}".env]`,
|
|
318
|
+
]);
|
|
319
|
+
const output = [];
|
|
320
|
+
let skipping = false;
|
|
321
|
+
for (const line of source.split(/\r?\n/)) {
|
|
322
|
+
const trimmed = line.trim();
|
|
323
|
+
if (serverHeaders.has(trimmed) || envHeaders.has(trimmed)) {
|
|
324
|
+
skipping = true;
|
|
325
|
+
continue;
|
|
326
|
+
}
|
|
327
|
+
if (skipping && /^\[.+\]$/.test(trimmed)) {
|
|
328
|
+
skipping = false;
|
|
329
|
+
}
|
|
330
|
+
if (!skipping) {
|
|
331
|
+
output.push(line);
|
|
332
|
+
}
|
|
164
333
|
}
|
|
334
|
+
return output.join("\n").trimEnd();
|
|
335
|
+
}
|
|
336
|
+
export function addCodexMcpServer(configPath, apiKey) {
|
|
337
|
+
const existing = existsSync(configPath) ? readFileSync(configPath, "utf-8") : "";
|
|
338
|
+
const withoutExistingServer = stripCodexServerBlocks(existing);
|
|
339
|
+
const nextConfig = `${withoutExistingServer}${withoutExistingServer ? "\n\n" : ""}${formatCodexToml(apiKey)}`;
|
|
340
|
+
writeTextFileRestricted(configPath, nextConfig);
|
|
341
|
+
}
|
|
342
|
+
function printGeminiManualInstructions() {
|
|
343
|
+
console.log("\nGemini CLI auto-setup is not run because its MCP helper requires passing env values through process arguments.");
|
|
344
|
+
printManualInstructions();
|
|
165
345
|
}
|
|
166
346
|
async function runSetup() {
|
|
167
347
|
console.log(`${SERVER_NAME} MCP Server Setup\n`);
|
|
168
|
-
const apiKey = await
|
|
169
|
-
if (!apiKey) {
|
|
170
|
-
throw new Error(`API key is required. Get one at ${DEVELOPERS_URL}`);
|
|
171
|
-
}
|
|
172
|
-
if (!apiKey.startsWith("oxi_sk_live_")) {
|
|
173
|
-
throw new Error("Invalid API key format. Keys start with oxi_sk_live_");
|
|
174
|
-
}
|
|
348
|
+
const apiKey = validateApiKey(await readApiKey());
|
|
175
349
|
const env = await chooseEnvironment(detectEnvironments());
|
|
176
350
|
if (!env) {
|
|
177
|
-
console.log("\nCould not detect Claude Code, Cursor, or
|
|
178
|
-
printManualInstructions(
|
|
351
|
+
console.log("\nCould not detect Claude Code, Cursor, Codex, or Gemini CLI. Here are manual instructions:");
|
|
352
|
+
printManualInstructions();
|
|
179
353
|
return;
|
|
180
354
|
}
|
|
181
355
|
const confirm = await ask(`Detected ${environmentLabel(env.type)}. Add ${SERVER_NAME} MCP server? (Y/n): `);
|
|
182
356
|
if (confirm.toLowerCase() === "n") {
|
|
183
|
-
printManualInstructions(
|
|
357
|
+
printManualInstructions();
|
|
184
358
|
return;
|
|
185
359
|
}
|
|
186
360
|
if (env.type === "codex") {
|
|
187
|
-
addCodexMcpServer(apiKey);
|
|
361
|
+
addCodexMcpServer(env.configPath, apiKey);
|
|
188
362
|
console.log(`\nAdded ${SERVER_NAME} MCP server to ${env.configPath}`);
|
|
189
363
|
return;
|
|
190
364
|
}
|
|
365
|
+
if (env.type === "gemini-cli") {
|
|
366
|
+
printGeminiManualInstructions();
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
191
369
|
addJsonMcpServer(env.configPath, apiKey);
|
|
192
370
|
}
|
|
193
371
|
export async function runCli(args) {
|
package/dist/cli-lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-lib.js","sourceRoot":"","sources":["../src/cli-lib.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli-lib.js","sourceRoot":"","sources":["../src/cli-lib.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -9,11 +9,14 @@ interface ApiResponse {
|
|
|
9
9
|
has_more?: boolean;
|
|
10
10
|
next_cursor?: string | null;
|
|
11
11
|
total?: number | null;
|
|
12
|
+
facets?: unknown;
|
|
12
13
|
error?: {
|
|
13
14
|
code: string;
|
|
14
15
|
message: string;
|
|
15
16
|
doc_url?: string;
|
|
16
17
|
param?: string;
|
|
18
|
+
reason?: string;
|
|
19
|
+
retry_at?: string;
|
|
17
20
|
};
|
|
18
21
|
}
|
|
19
22
|
export declare class ApiClient {
|
|
@@ -21,6 +24,8 @@ export declare class ApiClient {
|
|
|
21
24
|
private readonly baseUrl;
|
|
22
25
|
constructor(apiKey: string, baseUrl?: string);
|
|
23
26
|
request(path: string, params?: Record<string, string | number | undefined>, repeatedParams?: Record<string, string[]>): Promise<ApiResponse>;
|
|
27
|
+
post(path: string, body: unknown): Promise<ApiResponse>;
|
|
28
|
+
private decodeResponse;
|
|
24
29
|
}
|
|
25
30
|
export declare class ApiError extends Error {
|
|
26
31
|
readonly status: number;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QAGf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAMD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAKtC,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EACpD,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GACxC,OAAO,CAAC,WAAW,CAAC;IA6BjB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;YAgB/C,cAAc;CAsC7B;AAED,qBAAa,QAAS,SAAQ,KAAK;aAEf,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,MAAM;gBADZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM;CAKlB"}
|