uniqueness-mcp 0.7.2 → 0.8.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 +25 -0
- package/dist/server.js +18 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -39,6 +39,7 @@ Hosted and stdio both expose:
|
|
|
39
39
|
- `get_personal_context` (`get_connection_brief`)
|
|
40
40
|
- `resume_personal_context` (`resume_connection_brief`)
|
|
41
41
|
- `get_billing_status`
|
|
42
|
+
- `request_higher_limits`
|
|
42
43
|
- `preflight_personal_contexts` (`preflight_connection_briefs`)
|
|
43
44
|
- `get_connection_brief_job`
|
|
44
45
|
- `batch_connection_briefs`
|
|
@@ -55,4 +56,28 @@ Stdio also exposes `begin_programmatic_signup` and `complete_programmatic_signup
|
|
|
55
56
|
|
|
56
57
|
MCP has no purchase, payment-method, auto-recharge, or subscription tools. On `402 payment_required`, present checkout URLs only after explicit human consent.
|
|
57
58
|
|
|
59
|
+
## Usage limits
|
|
60
|
+
|
|
61
|
+
Exact current limits are shown on the account page, in `GET /api/account` (`usage_limits`), in `uniqueness account` and in the MCP `get_billing_status` tool.
|
|
62
|
+
|
|
63
|
+
**Public ladder**
|
|
64
|
+
- free: 25 personal contexts per 24h, max batch 25
|
|
65
|
+
- tier_1: 250 personal contexts per 24h, max batch 50
|
|
66
|
+
- tier_2: 1,000 personal contexts per 24h, max batch 100
|
|
67
|
+
- tier_3: 5,000 personal contexts per 24h, max batch 100
|
|
68
|
+
- unlimited: by request, max batch 100
|
|
69
|
+
|
|
70
|
+
**Automatic promotion:**
|
|
71
|
+
- Any real credit pack, subscription or auto-recharge → tier_1.
|
|
72
|
+
- 250 lifetime paid credits → tier_2.
|
|
73
|
+
- 1,000 → tier_3.
|
|
74
|
+
- Intro offers and 5-packs don't count.
|
|
75
|
+
- Limits only go up, never down.
|
|
76
|
+
- Accounts with custom limits we've set don't change automatically.
|
|
77
|
+
|
|
78
|
+
**Window:** 24 hours starting from your first counted personal context. It's not midnight and not rolling. Cache re-serves don't count.
|
|
79
|
+
|
|
80
|
+
How to request more: the account page button, `POST /api/account/usage-limits/request`, `uniqueness limits request`, or the MCP `request_higher_limits` tool.
|
|
81
|
+
A 429 `usage_cap_exceeded` means a pace limit, not credits; honor `Retry-After`.
|
|
82
|
+
|
|
58
83
|
[MCP quickstart](https://uniquenessengine.com/documentation/mcp/quickstart) · support@uniquenessengine.com
|
package/dist/server.js
CHANGED
|
@@ -2,7 +2,7 @@ import { randomUUID } from "node:crypto";
|
|
|
2
2
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
export const MCP_SERVER_NAME = "uniqueness";
|
|
5
|
-
export const MCP_SERVER_VERSION = "0.
|
|
5
|
+
export const MCP_SERVER_VERSION = "0.8.0";
|
|
6
6
|
export const MCP_TOOL_ALIASES = {
|
|
7
7
|
get_personal_context: ["get_connection_brief"],
|
|
8
8
|
resume_personal_context: ["resume_connection_brief"],
|
|
@@ -14,6 +14,7 @@ const CORE_TOOL_NAMES = [
|
|
|
14
14
|
"resume_personal_context",
|
|
15
15
|
"resume_connection_brief",
|
|
16
16
|
"get_billing_status",
|
|
17
|
+
"request_higher_limits",
|
|
17
18
|
"preflight_personal_contexts",
|
|
18
19
|
"preflight_connection_briefs",
|
|
19
20
|
"get_connection_brief_job",
|
|
@@ -96,7 +97,7 @@ const batchOptionsSchema = z
|
|
|
96
97
|
include_sensitive_topics: z
|
|
97
98
|
.boolean()
|
|
98
99
|
.optional()
|
|
99
|
-
.describe("
|
|
100
|
+
.describe("Sensitive topics are always returned and labeled. This flag does not hide them."),
|
|
100
101
|
store_raw_quotes: z.boolean().optional(),
|
|
101
102
|
include_outreach_angles: z.boolean().optional(),
|
|
102
103
|
})
|
|
@@ -313,7 +314,7 @@ export function createMcpServer(context) {
|
|
|
313
314
|
registerResume("resume_personal_context", "Verify increased spendable credit, then replay the original request with its idempotency key.");
|
|
314
315
|
registerResume(MCP_TOOL_ALIASES.resume_personal_context[0], "Deprecated alias for resume_personal_context.");
|
|
315
316
|
server.registerTool("get_billing_status", {
|
|
316
|
-
description: "Read spendable balance and auto-recharge state.",
|
|
317
|
+
description: "Read spendable balance, usage limits (tier, daily limit, used in window, max batch) and auto-recharge state.",
|
|
317
318
|
inputSchema: {},
|
|
318
319
|
annotations: { readOnlyHint: true },
|
|
319
320
|
}, async () => {
|
|
@@ -330,6 +331,20 @@ export function createMcpServer(context) {
|
|
|
330
331
|
: { error: recharge.body.error || "unavailable" },
|
|
331
332
|
}, balance.status !== 200);
|
|
332
333
|
});
|
|
334
|
+
server.registerTool("request_higher_limits", {
|
|
335
|
+
description: "Request an increase to your daily account usage limits.",
|
|
336
|
+
inputSchema: {
|
|
337
|
+
reason: z.string().max(1000).optional(),
|
|
338
|
+
desired_daily_limit: z.number().int().min(1).max(100000).optional(),
|
|
339
|
+
},
|
|
340
|
+
}, async (args) => {
|
|
341
|
+
if (!requireKey())
|
|
342
|
+
return authenticationRequired();
|
|
343
|
+
const response = await api("/api/account/usage-limits/request", {
|
|
344
|
+
body: args,
|
|
345
|
+
});
|
|
346
|
+
return json(response.body, response.status >= 400);
|
|
347
|
+
});
|
|
333
348
|
const registerPreflight = (name, description) => server.registerTool(name, {
|
|
334
349
|
description,
|
|
335
350
|
inputSchema: { profiles: z.array(profileSchema).min(1).max(100) },
|