@cueai/omni-reader-mcp 1.2.0 → 1.2.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 +31 -14
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/dist/onboarding-policy.d.ts +5 -2
- package/dist/onboarding-policy.js +8 -3
- package/dist/remote-client.js +2 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -23,9 +23,10 @@ summarization, Q&A, field extraction — rather than stopping at "parse done".
|
|
|
23
23
|
## Requirements
|
|
24
24
|
|
|
25
25
|
- Node.js 20.12 or newer.
|
|
26
|
-
- Cue API Key: <https://cuecue.cn/api-key>.
|
|
27
|
-
- New accounts
|
|
28
|
-
|
|
26
|
+
- Cue API Key: <https://cuecue.cn/hub/api-key>.
|
|
27
|
+
- New accounts can try Omni without paying; see [Free credits](#free-credits) below. The
|
|
28
|
+
server-side onboarding policy and the `doctor` output are the live authority for current
|
|
29
|
+
allowances.
|
|
29
30
|
- Configure `CUE_API_KEY` in the agent's secret store or local environment.
|
|
30
31
|
**Never paste the API Key into a conversation.**
|
|
31
32
|
|
|
@@ -38,12 +39,28 @@ Bridge reads only these product configuration variables at runtime:
|
|
|
38
39
|
authorizes; colon-separated on macOS/Linux, semicolon-separated on Windows. The current
|
|
39
40
|
agent workspace remains the default allowed scope.
|
|
40
41
|
|
|
42
|
+
## Free credits
|
|
43
|
+
|
|
44
|
+
As of 2026-08-14:
|
|
45
|
+
|
|
46
|
+
- every account receives 10 free credits daily — roughly 150 pages of ordinary documents,
|
|
47
|
+
75 pages of scanned images or charts, 30 minutes of audio, or 4 minutes of video;
|
|
48
|
+
- new accounts receive a one-time 50-credit gift when obtaining `CUE_API_KEY` (60 credits
|
|
49
|
+
available on day one, including the daily grant);
|
|
50
|
+
- inviting a new user who registers gives both the inviter and the invitee 50 credits, with
|
|
51
|
+
no invite limit; when an invited user subscribes, the inviter additionally receives 10% of
|
|
52
|
+
the invitee's first-month credit quota as a bonus.
|
|
53
|
+
|
|
54
|
+
When available, the `doctor` output reports the live first-registration gift and daily grant;
|
|
55
|
+
referral rules and conversion ratios follow the server-side onboarding policy. If live values
|
|
56
|
+
differ from the numbers above, report the live values.
|
|
57
|
+
|
|
41
58
|
## Installation and configuration
|
|
42
59
|
|
|
43
60
|
Always use an audited exact version, never an implicit `latest`:
|
|
44
61
|
|
|
45
62
|
```sh
|
|
46
|
-
npx -y @cueai/omni-reader-mcp@1.2.
|
|
63
|
+
npx -y @cueai/omni-reader-mcp@1.2.1 setup
|
|
47
64
|
```
|
|
48
65
|
|
|
49
66
|
The interactive setup supports Hermes, Cursor, Claude Desktop, and generic stdio
|
|
@@ -51,9 +68,9 @@ configuration. Non-interactive installation uses the same argument parsing and w
|
|
|
51
68
|
logic:
|
|
52
69
|
|
|
53
70
|
```sh
|
|
54
|
-
npx -y @cueai/omni-reader-mcp@1.2.
|
|
55
|
-
npx -y @cueai/omni-reader-mcp@1.2.
|
|
56
|
-
npx -y @cueai/omni-reader-mcp@1.2.
|
|
71
|
+
npx -y @cueai/omni-reader-mcp@1.2.1 setup --client hermes --allowed-root /absolute/minimum/root --yes --json
|
|
72
|
+
npx -y @cueai/omni-reader-mcp@1.2.1 setup --client cursor --add-root /absolute/minimum/root --yes --json
|
|
73
|
+
npx -y @cueai/omni-reader-mcp@1.2.1 setup --client claude-desktop --allowed-root /absolute/minimum/root --yes --json
|
|
57
74
|
```
|
|
58
75
|
|
|
59
76
|
When an agent or script runs under a pty (stdin is still a TTY), declare non-interactive
|
|
@@ -61,7 +78,7 @@ mode explicitly with `--headless` (alias `--non-interactive`): no `--yes` is req
|
|
|
61
78
|
stdin is never read:
|
|
62
79
|
|
|
63
80
|
```sh
|
|
64
|
-
npx -y @cueai/omni-reader-mcp@1.2.
|
|
81
|
+
npx -y @cueai/omni-reader-mcp@1.2.1 setup --client cursor --allowed-root /absolute/minimum/root --headless --json
|
|
65
82
|
```
|
|
66
83
|
|
|
67
84
|
## Cache and journal isolation
|
|
@@ -181,16 +198,16 @@ new source that satisfies the constraints.
|
|
|
181
198
|
## Commands
|
|
182
199
|
|
|
183
200
|
```sh
|
|
184
|
-
npx -y @cueai/omni-reader-mcp@1.2.
|
|
185
|
-
npx -y @cueai/omni-reader-mcp@1.2.
|
|
186
|
-
npx -y @cueai/omni-reader-mcp@1.2.
|
|
187
|
-
npx -y @cueai/omni-reader-mcp@1.2.
|
|
201
|
+
npx -y @cueai/omni-reader-mcp@1.2.1 doctor
|
|
202
|
+
npx -y @cueai/omni-reader-mcp@1.2.1 doctor --json
|
|
203
|
+
npx -y @cueai/omni-reader-mcp@1.2.1 clean
|
|
204
|
+
npx -y @cueai/omni-reader-mcp@1.2.1 uninstall --yes --json
|
|
188
205
|
```
|
|
189
206
|
|
|
190
207
|
Running the pinned version without a command starts the stdio MCP server:
|
|
191
208
|
|
|
192
209
|
```sh
|
|
193
|
-
npx -y @cueai/omni-reader-mcp@1.2.
|
|
210
|
+
npx -y @cueai/omni-reader-mcp@1.2.1
|
|
194
211
|
```
|
|
195
212
|
|
|
196
213
|
`doctor --json` returns package/npm/client adapter, Key present/absent, allowed-root
|
|
@@ -199,7 +216,7 @@ status; it never prints the Key, private source paths, or content.
|
|
|
199
216
|
|
|
200
217
|
## Uninstall and rollback
|
|
201
218
|
|
|
202
|
-
`uninstall --yes --json` removes only the currently trusted 1.2.
|
|
219
|
+
`uninstall --yes --json` removes only the currently trusted 1.2.1 Bridge entry; when a
|
|
203
220
|
matching trusted backup exists, it restores the original URL-only `omni-reader` entry.
|
|
204
221
|
Uninstall never deletes user source files and never silently removes unexpired local
|
|
205
222
|
results.
|
package/dist/constants.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export declare const CUBE_GRANT_PROTOCOL_VERSION = "omni.parse_grant.v1";
|
|
|
6
6
|
export declare const GRANTED_STREAM_PROTOCOL_VERSION = "omni.granted_parse_stream.v1";
|
|
7
7
|
export declare const DEFAULT_CUBE_BASE_URL = "https://mcp.cuecue.cn";
|
|
8
8
|
export declare const DEFAULT_IIIS_GRANTED_BASE_URL = "https://cubefile.ai.iiis.co:9443/omni/granted/";
|
|
9
|
-
export declare const BRIDGE_RELEASE_VERSION = "1.2.
|
|
9
|
+
export declare const BRIDGE_RELEASE_VERSION = "1.2.1";
|
|
10
10
|
export declare const REMOTE_OMNI_MCP_URL = "https://mcp.cuecue.cn/api/omni-reader/mcp/";
|
|
11
11
|
export declare const FOREGROUND_BUDGET_MS = 15000;
|
|
12
12
|
export declare const STATUS_LONG_POLL_MAX_MS = 20000;
|
package/dist/constants.js
CHANGED
|
@@ -6,7 +6,7 @@ export const CUBE_GRANT_PROTOCOL_VERSION = "omni.parse_grant.v1";
|
|
|
6
6
|
export const GRANTED_STREAM_PROTOCOL_VERSION = "omni.granted_parse_stream.v1";
|
|
7
7
|
export const DEFAULT_CUBE_BASE_URL = "https://mcp.cuecue.cn";
|
|
8
8
|
export const DEFAULT_IIIS_GRANTED_BASE_URL = "https://cubefile.ai.iiis.co:9443/omni/granted/";
|
|
9
|
-
export const BRIDGE_RELEASE_VERSION = "1.2.
|
|
9
|
+
export const BRIDGE_RELEASE_VERSION = "1.2.1";
|
|
10
10
|
export const REMOTE_OMNI_MCP_URL = "https://mcp.cuecue.cn/api/omni-reader/mcp/";
|
|
11
11
|
export const FOREGROUND_BUDGET_MS = 15_000;
|
|
12
12
|
export const STATUS_LONG_POLL_MAX_MS = 20_000;
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
export declare const ONBOARDING_POLICY_URL = "https://cuecue.cn/api/v1/billing/public/onboarding-policy";
|
|
2
|
-
export declare const API_KEY_URL = "https://cuecue.cn/api-key";
|
|
2
|
+
export declare const API_KEY_URL = "https://cuecue.cn/hub/api-key";
|
|
3
|
+
export declare const LEGACY_API_KEY_URL = "https://cuecue.cn/api-key";
|
|
4
|
+
type ApiKeyUrl = typeof API_KEY_URL | typeof LEGACY_API_KEY_URL;
|
|
3
5
|
export interface OnboardingPolicy {
|
|
4
|
-
readonly apiKeyUrl:
|
|
6
|
+
readonly apiKeyUrl: ApiKeyUrl;
|
|
5
7
|
readonly firstRegistrationCredits: number;
|
|
6
8
|
readonly freeDailyCredits: number;
|
|
7
9
|
}
|
|
8
10
|
export declare function getOnboardingPolicy(fetchImpl: typeof fetch, signal: AbortSignal): Promise<OnboardingPolicy | undefined>;
|
|
9
11
|
export declare function onboardingGuidance(policy: OnboardingPolicy | undefined): string;
|
|
10
12
|
export declare function getOnboardingPolicyWithTimeout(fetchImpl: typeof fetch, timeoutMs?: number): Promise<OnboardingPolicy | undefined>;
|
|
13
|
+
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export const ONBOARDING_POLICY_URL = "https://cuecue.cn/api/v1/billing/public/onboarding-policy";
|
|
2
|
-
export const API_KEY_URL = "https://cuecue.cn/api-key";
|
|
2
|
+
export const API_KEY_URL = "https://cuecue.cn/hub/api-key";
|
|
3
|
+
export const LEGACY_API_KEY_URL = "https://cuecue.cn/api-key";
|
|
3
4
|
function isRecord(value) {
|
|
4
5
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
5
6
|
}
|
|
@@ -9,12 +10,16 @@ function boundedCredits(value) {
|
|
|
9
10
|
function normalizeOnboardingPolicy(value) {
|
|
10
11
|
if (!isRecord(value))
|
|
11
12
|
return undefined;
|
|
12
|
-
|
|
13
|
+
const apiKeyUrl = value.api_key_url;
|
|
14
|
+
const accepted = apiKeyUrl === API_KEY_URL || apiKeyUrl === LEGACY_API_KEY_URL;
|
|
15
|
+
if (!accepted ||
|
|
13
16
|
!boundedCredits(value.first_registration) ||
|
|
14
17
|
!boundedCredits(value.free_daily))
|
|
15
18
|
return undefined;
|
|
16
19
|
return {
|
|
17
|
-
|
|
20
|
+
// Preserve the server's actual accepted URL so a legacy-serving backend
|
|
21
|
+
// keeps working until it flips to the Hub path.
|
|
22
|
+
apiKeyUrl: apiKeyUrl,
|
|
18
23
|
firstRegistrationCredits: value.first_registration,
|
|
19
24
|
freeDailyCredits: value.free_daily,
|
|
20
25
|
};
|
package/dist/remote-client.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { LATEST_PROTOCOL_VERSION } from "@modelcontextprotocol/sdk/types.js";
|
|
2
2
|
import { parseReaderCapabilities, selectUrlProfile, } from "./capabilities.js";
|
|
3
3
|
import { BRIDGE_RELEASE_VERSION, REMOTE_CAPABILITIES_CUSTOM_FIELD, REMOTE_OMNI_MCP_URL, } from "./constants.js";
|
|
4
|
+
import { API_KEY_URL } from "./onboarding-policy.js";
|
|
4
5
|
import { OmniBridgeError } from "./errors.js";
|
|
5
6
|
import { parseResultSchema } from "./result-contract.js";
|
|
6
7
|
import { classifySource } from "./source.js";
|
|
@@ -206,7 +207,7 @@ export class HttpRemoteOmniClient {
|
|
|
206
207
|
code: "API_KEY_REQUIRED",
|
|
207
208
|
message: "A Cue API Key is required for Omni parsing.",
|
|
208
209
|
failureScope: "authentication",
|
|
209
|
-
userAction:
|
|
210
|
+
userAction: `Create or configure an API Key at ${API_KEY_URL} without pasting it into chat.`,
|
|
210
211
|
operationCreated: false,
|
|
211
212
|
retryable: false,
|
|
212
213
|
});
|