@reclaimprotocol/agent 0.1.29 → 0.1.32
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 +28 -9
- package/lib/consts.d.ts +5 -5
- package/lib/consts.js +7 -7
- package/lib/live/tunnel-watchdog.d.ts +1 -0
- package/lib/live/tunnel-watchdog.js +66 -0
- package/lib/live/tunnel.d.ts +30 -7
- package/lib/live/tunnel.js +217 -40
- package/lib/mcp/api/operations.gen.d.ts +12 -0
- package/lib/mcp/api/operations.gen.js +548 -59
- package/lib/mcp/api/tools.js +27 -5
- package/lib/mcp/instructions.js +23 -32
- package/lib/mcp/remap_errors.js +6 -0
- package/lib/mcp/server.js +2 -8
- package/lib/mcp/start.js +3 -5
- package/lib/mcp/success-response.d.ts +5 -0
- package/lib/mcp/success-response.js +21 -0
- package/lib/mcp/tools/agent/attach.js +9 -66
- package/lib/mcp/tools/agent/build.d.ts +0 -3
- package/lib/mcp/tools/agent/build.js +3 -4
- package/lib/mcp/tools/agent/how-it-works.d.ts +5 -15
- package/lib/mcp/tools/agent/how-it-works.js +9 -22
- package/lib/mcp/tools/agent/live-view.d.ts +1 -15
- package/lib/mcp/tools/agent/live-view.js +71 -96
- package/lib/mcp/tools/agent/propose.js +7 -23
- package/lib/mcp/tools/agent/publish.js +80 -18
- package/lib/mcp/tools/agent/session.d.ts +4 -7
- package/lib/mcp/tools/agent/session.js +8 -23
- package/lib/mcp/tools/verification/result.d.ts +2 -1
- package/lib/mcp/tools/verification/result.js +29 -28
- package/lib/old/client.d.ts +2 -2
- package/lib/old/flag.d.ts +2 -5
- package/lib/old/flag.js +2 -5
- package/lib/old/instructions.d.ts +1 -1
- package/lib/old/instructions.js +1 -1
- package/lib/old/to-register.d.ts +4 -3
- package/lib/old/tools/get-provider-info.js +3 -1
- package/lib/old/tools/publish.js +11 -14
- package/lib/proof/attestor-auth.d.ts +9 -1
- package/lib/proof/attestor-auth.js +15 -2
- package/lib/proof/attestor.d.ts +2 -2
- package/lib/proof/attestor.js +20 -2
- package/lib/proof/pod-prover.js +1 -1
- package/lib/proof/proof-core.d.ts +4 -0
- package/lib/proof/proof-core.js +20 -0
- package/lib/provider/injection-doc.d.ts +3 -2
- package/lib/provider/injection-doc.js +12 -10
- package/lib/provider/matcher.js +19 -15
- package/lib/provider/to-version.d.ts +3 -0
- package/lib/provider/to-version.js +2 -1
- package/package.json +3 -3
- package/skill/SKILL.builder.md +44 -86
- package/skill/SKILL.common.md +38 -22
- package/skill/SKILL.old.md +21 -5
- package/skill/builder-mode.md +62 -4
- package/skill/community-contributions.md +12 -3
- package/skill/hash-validation.md +9 -9
- package/skill/interception.md +39 -46
- package/skill/old-mode.md +25 -0
- package/skill/user-script.md +24 -8
- package/skill/verification-client-integration.md +133 -0
- package/src/consts.ts +9 -7
- package/src/mcp/api/operations.gen.ts +550 -59
- package/src/mcp/api/tools.ts +38 -7
- package/src/mcp/instructions.ts +33 -32
- package/src/mcp/remap_errors.ts +6 -0
- package/src/mcp/server.ts +2 -8
- package/src/mcp/start.ts +3 -5
- package/src/mcp/success-response.ts +26 -0
- package/src/mcp/tools/agent/attach.ts +9 -71
- package/src/mcp/tools/agent/build.ts +4 -7
- package/src/mcp/tools/agent/how-it-works.ts +9 -22
- package/src/mcp/tools/agent/live-view.ts +76 -116
- package/src/mcp/tools/agent/propose.ts +7 -23
- package/src/mcp/tools/agent/publish.ts +89 -18
- package/src/mcp/tools/agent/session.ts +6 -23
- package/src/mcp/tools/verification/result.ts +30 -29
- package/src/old/client.ts +2 -2
- package/src/old/flag.ts +2 -5
- package/src/old/instructions.ts +1 -1
- package/src/old/to-register.ts +4 -3
- package/src/old/tools/get-provider-info.ts +3 -1
- package/src/old/tools/publish.ts +16 -14
- package/src/proof/attestor-auth.ts +18 -1
- package/src/proof/attestor.ts +24 -3
- package/src/proof/pod-prover.ts +1 -1
- package/src/proof/proof-core.ts +28 -0
- package/src/provider/injection-doc.ts +12 -10
- package/src/provider/matcher.ts +25 -17
- package/src/provider/to-version.ts +7 -1
- package/src/live/cloudflared.ts +0 -348
- package/src/live/tunnel.ts +0 -254
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// AUTO-GENERATED by packages/app/scripts/mcp-tools-gen.ts
|
|
2
|
-
// from packages/app/openapi.yaml.
|
|
3
|
-
//
|
|
4
|
-
//
|
|
2
|
+
// from packages/app/openapi.yaml (spec v0.1.0, source sha256:099a5bcf4fba).
|
|
3
|
+
// The hash catches drift the version misses (a spec can change without a
|
|
4
|
+
// version bump) — do not remove it as "redundant" with the version.
|
|
5
|
+
// Run `npm run openapi:gen --workspace=packages/app` to regenerate. Do not edit by hand.
|
|
5
6
|
// @ts-nocheck
|
|
6
7
|
import { toZod } from "./to-zod.js";
|
|
7
8
|
export const MCP_TOOLS = {
|
|
@@ -62,6 +63,75 @@ export const MCP_TOOLS = {
|
|
|
62
63
|
"additionalProperties": false
|
|
63
64
|
}),
|
|
64
65
|
},
|
|
66
|
+
"AdminAnalytics": {
|
|
67
|
+
description: "Usage, session, and revenue analytics (admin-only)\n\nAdmin only. Aggregates across every organization over a date window: session outcomes by UTC day, device category, and claimant country; demand per provider, money in by month, and per-org consumption against the plan allowance (including closed periods, which the org-scoped usage endpoint never returns). Defaults to the last 30 days; narrow to one org with `orgId`.",
|
|
68
|
+
inputSchema: toZod({
|
|
69
|
+
"type": "object",
|
|
70
|
+
"properties": {
|
|
71
|
+
"params": {
|
|
72
|
+
"type": "object",
|
|
73
|
+
"properties": {}
|
|
74
|
+
},
|
|
75
|
+
"query": {
|
|
76
|
+
"type": "object",
|
|
77
|
+
"properties": {
|
|
78
|
+
"orgId": {
|
|
79
|
+
"type": "string",
|
|
80
|
+
"minLength": 1,
|
|
81
|
+
"maxLength": 64,
|
|
82
|
+
"pattern": "^[0-9a-fA-F-]+$",
|
|
83
|
+
"description": "An organization id used as a filter. Hyphens are ignored, so it matches with or without them; an id that matches no organization returns nothing."
|
|
84
|
+
},
|
|
85
|
+
"providerSearch": {
|
|
86
|
+
"type": "string",
|
|
87
|
+
"maxLength": 100
|
|
88
|
+
},
|
|
89
|
+
"verificationClientId": {
|
|
90
|
+
"type": "string",
|
|
91
|
+
"minLength": 1,
|
|
92
|
+
"maxLength": 64,
|
|
93
|
+
"pattern": "^[0-9a-fA-F-]+$",
|
|
94
|
+
"description": "A verification client id used as a filter. Hyphens are ignored."
|
|
95
|
+
},
|
|
96
|
+
"from": {
|
|
97
|
+
"type": "string",
|
|
98
|
+
"maxLength": 40,
|
|
99
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})?)?$",
|
|
100
|
+
"description": "One end of a date window: either a calendar date (`2026-09-01`, read as UTC midnight) or a full ISO date-time. The date-only form is what a native `<input type=\"date\">` submits, so `format: date-time` alone would reject every filter the dashboard's own form sends."
|
|
101
|
+
},
|
|
102
|
+
"to": {
|
|
103
|
+
"type": "string",
|
|
104
|
+
"maxLength": 40,
|
|
105
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})?)?$",
|
|
106
|
+
"description": "One end of a date window: either a calendar date (`2026-09-01`, read as UTC midnight) or a full ISO date-time. The date-only form is what a native `<input type=\"date\">` submits, so `format: date-time` alone would reject every filter the dashboard's own form sends."
|
|
107
|
+
},
|
|
108
|
+
"format": {
|
|
109
|
+
"type": "string",
|
|
110
|
+
"enum": [
|
|
111
|
+
"csv"
|
|
112
|
+
]
|
|
113
|
+
},
|
|
114
|
+
"section": {
|
|
115
|
+
"type": "string",
|
|
116
|
+
"enum": [
|
|
117
|
+
"providers",
|
|
118
|
+
"revenue",
|
|
119
|
+
"usage"
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
"body": {
|
|
125
|
+
"type": "object"
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
"required": [
|
|
129
|
+
"params",
|
|
130
|
+
"query"
|
|
131
|
+
],
|
|
132
|
+
"additionalProperties": false
|
|
133
|
+
}),
|
|
134
|
+
},
|
|
65
135
|
"AdminOrgs": {
|
|
66
136
|
description: "All workspaces (admin-only)\n\nAdmin only. Lists all organizations. Search matches workspace name or any member's email address.",
|
|
67
137
|
inputSchema: toZod({
|
|
@@ -77,6 +147,10 @@ export const MCP_TOOLS = {
|
|
|
77
147
|
"q": {
|
|
78
148
|
"type": "string",
|
|
79
149
|
"maxLength": 200
|
|
150
|
+
},
|
|
151
|
+
"cursor": {
|
|
152
|
+
"type": "string",
|
|
153
|
+
"maxLength": 500
|
|
80
154
|
}
|
|
81
155
|
}
|
|
82
156
|
},
|
|
@@ -137,7 +211,7 @@ export const MCP_TOOLS = {
|
|
|
137
211
|
}),
|
|
138
212
|
},
|
|
139
213
|
"AdminReviews": {
|
|
140
|
-
description: "Pending review queue (admin-only)\n\nAdmin only. Lists all provider versions currently awaiting review (branch = 'in_review'). Use
|
|
214
|
+
description: "Pending review queue (admin-only)\n\nAdmin only. Lists all provider versions currently awaiting review (branch = 'in_review'). Use decide_provider_version_review to approve or reject each version.",
|
|
141
215
|
inputSchema: toZod({
|
|
142
216
|
"type": "object",
|
|
143
217
|
"properties": {
|
|
@@ -161,7 +235,7 @@ export const MCP_TOOLS = {
|
|
|
161
235
|
}),
|
|
162
236
|
},
|
|
163
237
|
"AdminSessions": {
|
|
164
|
-
description: "Explore verification sessions (admin-only)\n\nAdmin only. Search verification sessions across all organizations — filter by `sessionId` (prefix match, at least 5 characters), `providerId
|
|
238
|
+
description: "Explore verification sessions (admin-only)\n\nAdmin only. Search verification sessions across all organizations — filter by `sessionId` (prefix match, at least 5 characters), `providerId` (id or slug), `claimantClientId`, `orgId` (all exact match), `status`, and a `createdAfter`/`createdBefore` time range. Rows link to the org-scoped session detail page (admins can open any org's pages). Newest first, 50 per page, with opaque cursor pagination.",
|
|
165
239
|
inputSchema: toZod({
|
|
166
240
|
"type": "object",
|
|
167
241
|
"properties": {
|
|
@@ -180,6 +254,17 @@ export const MCP_TOOLS = {
|
|
|
180
254
|
"type": "string",
|
|
181
255
|
"maxLength": 100
|
|
182
256
|
},
|
|
257
|
+
"verificationClientId": {
|
|
258
|
+
"type": "string",
|
|
259
|
+
"minLength": 1,
|
|
260
|
+
"maxLength": 64,
|
|
261
|
+
"pattern": "^[0-9a-fA-F-]+$",
|
|
262
|
+
"description": "A verification client id used as a filter. Hyphens are ignored."
|
|
263
|
+
},
|
|
264
|
+
"providerSearch": {
|
|
265
|
+
"type": "string",
|
|
266
|
+
"maxLength": 100
|
|
267
|
+
},
|
|
183
268
|
"claimantClientId": {
|
|
184
269
|
"type": "string",
|
|
185
270
|
"maxLength": 100
|
|
@@ -207,6 +292,10 @@ export const MCP_TOOLS = {
|
|
|
207
292
|
"createdBefore": {
|
|
208
293
|
"type": "string",
|
|
209
294
|
"format": "date-time"
|
|
295
|
+
},
|
|
296
|
+
"cursor": {
|
|
297
|
+
"type": "string",
|
|
298
|
+
"maxLength": 500
|
|
210
299
|
}
|
|
211
300
|
}
|
|
212
301
|
},
|
|
@@ -408,7 +497,7 @@ export const MCP_TOOLS = {
|
|
|
408
497
|
"events": {
|
|
409
498
|
"type": "array",
|
|
410
499
|
"minItems": 1,
|
|
411
|
-
"maxItems":
|
|
500
|
+
"maxItems": 51,
|
|
412
501
|
"items": {
|
|
413
502
|
"type": "string",
|
|
414
503
|
"description": "Canonical Builder lifecycle event. Names use lower snake case; metadata uses camel case. Provider events include providerId, resolvedVersion, and ordinal. Request events also include requestId. New values are additive, so clients must tolerate unknown response values. For field requirements and funnel semantics, see docs/verification-analytics-events.md.",
|
|
@@ -555,7 +644,7 @@ export const MCP_TOOLS = {
|
|
|
555
644
|
"events": {
|
|
556
645
|
"type": "array",
|
|
557
646
|
"minItems": 1,
|
|
558
|
-
"maxItems":
|
|
647
|
+
"maxItems": 51,
|
|
559
648
|
"items": {
|
|
560
649
|
"type": "string",
|
|
561
650
|
"description": "Canonical Builder lifecycle event. Names use lower snake case; metadata uses camel case. Provider events include providerId, resolvedVersion, and ordinal. Request events also include requestId. New values are additive, so clients must tolerate unknown response values. For field requirements and funnel semantics, see docs/verification-analytics-events.md.",
|
|
@@ -626,7 +715,7 @@ export const MCP_TOOLS = {
|
|
|
626
715
|
}),
|
|
627
716
|
},
|
|
628
717
|
"CreateProvider": {
|
|
629
|
-
description: "Create a provider\n\
|
|
718
|
+
description: "Create a provider\n\nCreates a provider in an organization. Call providers first and only create when nothing existing covers the domain. Requires active membership of the target organization. A provider starts empty — add its recipe with create_provider_version.",
|
|
630
719
|
inputSchema: toZod({
|
|
631
720
|
"type": "object",
|
|
632
721
|
"properties": {
|
|
@@ -753,7 +842,7 @@ export const MCP_TOOLS = {
|
|
|
753
842
|
}),
|
|
754
843
|
},
|
|
755
844
|
"CreateProviderVersion": {
|
|
756
|
-
description: "Create a new provider version\n\nCreates a new immutable semantic version of
|
|
845
|
+
description: "Create a new provider version\n\nCreates a new immutable semantic version of a provider. Every recipe change needs its own version; existing versions are never edited in place. Defaults to a patch bump. Publish it with publish_provider_version, or submit it for review with submit_provider_version_for_review.",
|
|
757
846
|
inputSchema: toZod({
|
|
758
847
|
"type": "object",
|
|
759
848
|
"properties": {
|
|
@@ -1286,6 +1375,144 @@ export const MCP_TOOLS = {
|
|
|
1286
1375
|
"type": "string",
|
|
1287
1376
|
"description": "JavaScript snippets injected into the page which runs before every page load. `window.Reclaim.` APIs are available to these scripts to request actions to the client like claim creation.",
|
|
1288
1377
|
"maxLength": 1000000
|
|
1378
|
+
},
|
|
1379
|
+
"browserRequestActions": {
|
|
1380
|
+
"type": "array",
|
|
1381
|
+
"description": "Portal-only authenticated browser actions available to `jsUserScripts` through `window.Reclaim.browserRequest`.",
|
|
1382
|
+
"maxItems": 50,
|
|
1383
|
+
"items": {
|
|
1384
|
+
"type": "object",
|
|
1385
|
+
"additionalProperties": false,
|
|
1386
|
+
"description": "A portal-only, provider-declared HTTP action for `window.Reclaim.browserRequest`. The claimant page supplies only the action id and declared primitive inputs; the recipe controls the HTTPS origin, request template, and returned fields. Other Verification Clients currently ignore this field.",
|
|
1387
|
+
"required": [
|
|
1388
|
+
"id",
|
|
1389
|
+
"origin",
|
|
1390
|
+
"path",
|
|
1391
|
+
"method"
|
|
1392
|
+
],
|
|
1393
|
+
"properties": {
|
|
1394
|
+
"id": {
|
|
1395
|
+
"type": "string",
|
|
1396
|
+
"pattern": "^[A-Za-z][A-Za-z0-9_-]{0,99}$",
|
|
1397
|
+
"minLength": 1,
|
|
1398
|
+
"maxLength": 100
|
|
1399
|
+
},
|
|
1400
|
+
"origin": {
|
|
1401
|
+
"type": "string",
|
|
1402
|
+
"format": "uri",
|
|
1403
|
+
"pattern": "^https://[^/?#]+$",
|
|
1404
|
+
"maxLength": 2000
|
|
1405
|
+
},
|
|
1406
|
+
"path": {
|
|
1407
|
+
"type": "string",
|
|
1408
|
+
"description": "Origin-relative fallback path.",
|
|
1409
|
+
"pattern": "^/(?:$|[^/\\\\][^\\\\]*)$",
|
|
1410
|
+
"maxLength": 4000
|
|
1411
|
+
},
|
|
1412
|
+
"pathTemplate": {
|
|
1413
|
+
"type": "string",
|
|
1414
|
+
"description": "Optional origin-relative path/query template. Declared inputs use `{{name}}` and are URL-encoded.",
|
|
1415
|
+
"pattern": "^/(?:$|[^/\\\\][^\\\\]*)$",
|
|
1416
|
+
"maxLength": 4000
|
|
1417
|
+
},
|
|
1418
|
+
"method": {
|
|
1419
|
+
"type": "string",
|
|
1420
|
+
"enum": [
|
|
1421
|
+
"GET",
|
|
1422
|
+
"POST",
|
|
1423
|
+
"PUT",
|
|
1424
|
+
"PATCH",
|
|
1425
|
+
"DELETE"
|
|
1426
|
+
]
|
|
1427
|
+
},
|
|
1428
|
+
"transport": {
|
|
1429
|
+
"type": "string",
|
|
1430
|
+
"description": "`fetch` is the default. `navigate` supports GET only and performs a top-level navigation in the action's isolated browser page.",
|
|
1431
|
+
"enum": [
|
|
1432
|
+
"fetch",
|
|
1433
|
+
"navigate"
|
|
1434
|
+
]
|
|
1435
|
+
},
|
|
1436
|
+
"userAgent": {
|
|
1437
|
+
"type": "string",
|
|
1438
|
+
"description": "Browser User-Agent applied to the isolated action page before its first navigation. Use only when the target origin requires a specific browser identity.",
|
|
1439
|
+
"minLength": 1,
|
|
1440
|
+
"maxLength": 300,
|
|
1441
|
+
"pattern": "^[^\\r\\n]+$"
|
|
1442
|
+
},
|
|
1443
|
+
"omitOriginHeader": {
|
|
1444
|
+
"type": "boolean",
|
|
1445
|
+
"description": "Remove Chromium's automatic Origin header from a fetch action. Unsupported for navigate actions."
|
|
1446
|
+
},
|
|
1447
|
+
"headers": {
|
|
1448
|
+
"type": "object",
|
|
1449
|
+
"maxProperties": 50,
|
|
1450
|
+
"additionalProperties": {
|
|
1451
|
+
"type": "string",
|
|
1452
|
+
"maxLength": 8192
|
|
1453
|
+
}
|
|
1454
|
+
},
|
|
1455
|
+
"headersTemplate": {
|
|
1456
|
+
"type": "object",
|
|
1457
|
+
"description": "Header values may interpolate declared `{{name}}` inputs.",
|
|
1458
|
+
"maxProperties": 50,
|
|
1459
|
+
"additionalProperties": {
|
|
1460
|
+
"type": "string",
|
|
1461
|
+
"maxLength": 8192
|
|
1462
|
+
}
|
|
1463
|
+
},
|
|
1464
|
+
"bodyTemplate": {
|
|
1465
|
+
"type": "string",
|
|
1466
|
+
"description": "JSON template whose `{{name}}` inputs are inserted as JSON literals. The rendered body is limited again at execution time.",
|
|
1467
|
+
"maxLength": 65536
|
|
1468
|
+
},
|
|
1469
|
+
"cookieValueHeader": {
|
|
1470
|
+
"type": "object",
|
|
1471
|
+
"additionalProperties": false,
|
|
1472
|
+
"description": "Copies one same-origin, script-readable cookie into a request header. The cookie value stays inside the verification client's browser.",
|
|
1473
|
+
"required": [
|
|
1474
|
+
"name",
|
|
1475
|
+
"cookieName"
|
|
1476
|
+
],
|
|
1477
|
+
"properties": {
|
|
1478
|
+
"name": {
|
|
1479
|
+
"type": "string",
|
|
1480
|
+
"minLength": 1,
|
|
1481
|
+
"maxLength": 256
|
|
1482
|
+
},
|
|
1483
|
+
"cookieName": {
|
|
1484
|
+
"type": "string",
|
|
1485
|
+
"minLength": 1,
|
|
1486
|
+
"maxLength": 256
|
|
1487
|
+
}
|
|
1488
|
+
}
|
|
1489
|
+
},
|
|
1490
|
+
"includeBody": {
|
|
1491
|
+
"type": "boolean",
|
|
1492
|
+
"description": "Return the bounded raw response body."
|
|
1493
|
+
},
|
|
1494
|
+
"inputKeys": {
|
|
1495
|
+
"type": "array",
|
|
1496
|
+
"maxItems": 50,
|
|
1497
|
+
"uniqueItems": true,
|
|
1498
|
+
"items": {
|
|
1499
|
+
"type": "string",
|
|
1500
|
+
"pattern": "^[A-Za-z][A-Za-z0-9_]{0,99}$",
|
|
1501
|
+
"maxLength": 100
|
|
1502
|
+
}
|
|
1503
|
+
},
|
|
1504
|
+
"responseFields": {
|
|
1505
|
+
"type": "array",
|
|
1506
|
+
"maxItems": 50,
|
|
1507
|
+
"uniqueItems": true,
|
|
1508
|
+
"items": {
|
|
1509
|
+
"type": "string",
|
|
1510
|
+
"pattern": "^[A-Za-z][A-Za-z0-9_]{0,99}$",
|
|
1511
|
+
"maxLength": 100
|
|
1512
|
+
}
|
|
1513
|
+
}
|
|
1514
|
+
}
|
|
1515
|
+
}
|
|
1289
1516
|
}
|
|
1290
1517
|
}
|
|
1291
1518
|
},
|
|
@@ -1311,7 +1538,7 @@ export const MCP_TOOLS = {
|
|
|
1311
1538
|
}),
|
|
1312
1539
|
},
|
|
1313
1540
|
"CreateVerificationSession": {
|
|
1314
|
-
description: "Create a verification session\n\nCreates an end-user verification session. Requires an OrgToken and a callback subscription; pass providers, context, and an optional registered verificationClientUrl. Billing refusal returns 402 or 429 with event billing_required and a terminal sessionId.",
|
|
1541
|
+
description: "Create a verification session\n\nCreates an end-user verification session. Requires an OrgToken and a callback subscription; pass providers, context, and an optional registered verificationClientUrl (omitted: the Portal). Billing refusal returns 402 or 429 with event billing_required and a terminal sessionId.",
|
|
1315
1542
|
inputSchema: toZod({
|
|
1316
1543
|
"type": "object",
|
|
1317
1544
|
"properties": {
|
|
@@ -1335,7 +1562,9 @@ export const MCP_TOOLS = {
|
|
|
1335
1562
|
"providers": {
|
|
1336
1563
|
"type": "array",
|
|
1337
1564
|
"minItems": 1,
|
|
1338
|
-
"
|
|
1565
|
+
"maxItems": 20,
|
|
1566
|
+
"uniqueItems": true,
|
|
1567
|
+
"description": "Providers to verify, in run order. The Verification Client runs each sequentially in one browser session and submits one combined result; all are required. Provider version constraints are resolved only while this request is created; clients receive the exact immutable resolved versions and never resolve them again.",
|
|
1339
1568
|
"items": {
|
|
1340
1569
|
"type": "object",
|
|
1341
1570
|
"additionalProperties": false,
|
|
@@ -1359,11 +1588,11 @@ export const MCP_TOOLS = {
|
|
|
1359
1588
|
"context": {
|
|
1360
1589
|
"type": "object",
|
|
1361
1590
|
"additionalProperties": true,
|
|
1362
|
-
"description": "Consumer context, shared by all providers. Validated against EACH resolved provider version's `requiredContext` JSON Schema (a 400 is returned on mismatch); extra fields are always allowed. Recipe requests
|
|
1591
|
+
"description": "Consumer context, shared by all providers. Validated against EACH resolved provider version's `requiredContext` JSON Schema (a 400 is returned on mismatch); extra fields are always allowed. Recipe requests resolve scalar values as `{{context.key}}`, then `{{context_key}}`, then `{{key}}`. A lower-priority alias is used only when the recipe doesn't use a higher-priority spelling; an explicit parameter takes precedence. Echoed back (plus `reclaimSessionId`) in the result. Builder-owned `reclaimSessionId` and `attestationNonce` remain context-only."
|
|
1363
1592
|
},
|
|
1364
1593
|
"verificationClientUrl": {
|
|
1365
1594
|
"type": "string",
|
|
1366
|
-
"description": "Optional. Must exactly equal the base URL of a registered verification client (see the `verification_clients` registry / `/admin/verification-clients`). Omit to use the default (`
|
|
1595
|
+
"description": "Optional. Must exactly equal the base URL of a registered verification client (see the `verification_clients` registry / `/admin/verification-clients`). Omit to use the default (`portals`) client. The Builder resolves and stores the registered client UUID, then returns the ready-to-share `verificationUrl` with the session id and `api=2`. A URL that is not a registered client's base is rejected with 400. Consumers append any client-owned redirect parameters after receiving the URL; Builder does not manage them.",
|
|
1367
1596
|
"maxLength": 2000,
|
|
1368
1597
|
"pattern": "^https?://"
|
|
1369
1598
|
},
|
|
@@ -1381,6 +1610,103 @@ export const MCP_TOOLS = {
|
|
|
1381
1610
|
"preferAiAgent": {
|
|
1382
1611
|
"type": "boolean",
|
|
1383
1612
|
"description": "Legacy-only preference. Builder mode runs the structured recipe and does not enable AI or manual verification. Omit this field for Builder-mode sessions; dual-mode clients may continue to interpret it only on their legacy path."
|
|
1613
|
+
},
|
|
1614
|
+
"diagnostics": {
|
|
1615
|
+
"type": "boolean",
|
|
1616
|
+
"description": "Optional; omit or send false for a normal session. Opts this session into diagnostic mode. A diagnostic session records more event detail, including personal data such as the claimant's IP addresses (see ClaimantDetails.network). Builder appends `diag=1` to the returned `verificationUrl` for a diagnostic session and strips any `diag` value the Consumer's own `verificationClientUrl` carries, so this field — not the URL — is the only way to turn diagnostics on. Treat a diagnostic verification URL as sensitive, and don't hand it to a claimant by default."
|
|
1617
|
+
},
|
|
1618
|
+
"launchOptions": {
|
|
1619
|
+
"type": "object",
|
|
1620
|
+
"additionalProperties": false,
|
|
1621
|
+
"description": "Where a Verification Client sends the claimant's browser at the end of a flow. Builder stores these on the session and returns them unchanged (see VerificationSession.launchOptions / BootstrapVerificationClient) — it never reads them itself, never redirects a claimant to them, and never executes them; only the Verification Client that renders the flow does. Vocabulary matches `reclaim-js-sdk`'s `VerificationRequest` and `reclaim-portal`'s `parseVerificationLaunch`: `redirectUrl`/`redirectUrlOptions` on success, `cancelRedirectUrl`/`cancelRedirectUrlOptions` on cancellation. `https:` only — `javascript:`, `data:`, and any other scheme are rejected with 400 at session creation.",
|
|
1622
|
+
"properties": {
|
|
1623
|
+
"redirectUrl": {
|
|
1624
|
+
"type": "string",
|
|
1625
|
+
"format": "uri",
|
|
1626
|
+
"description": "Where to send the claimant after a successful verification.",
|
|
1627
|
+
"maxLength": 2000,
|
|
1628
|
+
"pattern": "^https://"
|
|
1629
|
+
},
|
|
1630
|
+
"redirectUrlOptions": {
|
|
1631
|
+
"type": "object",
|
|
1632
|
+
"additionalProperties": false,
|
|
1633
|
+
"description": "How a Verification Client performs a launch-options redirect — a plain GET (default) or a form POST/GET carrying extra fields. Matches `reclaim-portal`'s `HttpRedirectionOptions`.",
|
|
1634
|
+
"properties": {
|
|
1635
|
+
"method": {
|
|
1636
|
+
"type": "string",
|
|
1637
|
+
"enum": [
|
|
1638
|
+
"GET",
|
|
1639
|
+
"POST"
|
|
1640
|
+
]
|
|
1641
|
+
},
|
|
1642
|
+
"body": {
|
|
1643
|
+
"type": "array",
|
|
1644
|
+
"maxItems": 50,
|
|
1645
|
+
"items": {
|
|
1646
|
+
"type": "object",
|
|
1647
|
+
"additionalProperties": false,
|
|
1648
|
+
"required": [
|
|
1649
|
+
"name",
|
|
1650
|
+
"value"
|
|
1651
|
+
],
|
|
1652
|
+
"properties": {
|
|
1653
|
+
"name": {
|
|
1654
|
+
"type": "string",
|
|
1655
|
+
"maxLength": 256
|
|
1656
|
+
},
|
|
1657
|
+
"value": {
|
|
1658
|
+
"type": "string",
|
|
1659
|
+
"maxLength": 2000
|
|
1660
|
+
}
|
|
1661
|
+
}
|
|
1662
|
+
}
|
|
1663
|
+
}
|
|
1664
|
+
}
|
|
1665
|
+
},
|
|
1666
|
+
"cancelRedirectUrl": {
|
|
1667
|
+
"type": "string",
|
|
1668
|
+
"format": "uri",
|
|
1669
|
+
"description": "Where to send the claimant after a cancelled verification.",
|
|
1670
|
+
"maxLength": 2000,
|
|
1671
|
+
"pattern": "^https://"
|
|
1672
|
+
},
|
|
1673
|
+
"cancelRedirectUrlOptions": {
|
|
1674
|
+
"type": "object",
|
|
1675
|
+
"additionalProperties": false,
|
|
1676
|
+
"description": "How a Verification Client performs a launch-options redirect — a plain GET (default) or a form POST/GET carrying extra fields. Matches `reclaim-portal`'s `HttpRedirectionOptions`.",
|
|
1677
|
+
"properties": {
|
|
1678
|
+
"method": {
|
|
1679
|
+
"type": "string",
|
|
1680
|
+
"enum": [
|
|
1681
|
+
"GET",
|
|
1682
|
+
"POST"
|
|
1683
|
+
]
|
|
1684
|
+
},
|
|
1685
|
+
"body": {
|
|
1686
|
+
"type": "array",
|
|
1687
|
+
"maxItems": 50,
|
|
1688
|
+
"items": {
|
|
1689
|
+
"type": "object",
|
|
1690
|
+
"additionalProperties": false,
|
|
1691
|
+
"required": [
|
|
1692
|
+
"name",
|
|
1693
|
+
"value"
|
|
1694
|
+
],
|
|
1695
|
+
"properties": {
|
|
1696
|
+
"name": {
|
|
1697
|
+
"type": "string",
|
|
1698
|
+
"maxLength": 256
|
|
1699
|
+
},
|
|
1700
|
+
"value": {
|
|
1701
|
+
"type": "string",
|
|
1702
|
+
"maxLength": 2000
|
|
1703
|
+
}
|
|
1704
|
+
}
|
|
1705
|
+
}
|
|
1706
|
+
}
|
|
1707
|
+
}
|
|
1708
|
+
}
|
|
1709
|
+
}
|
|
1384
1710
|
}
|
|
1385
1711
|
}
|
|
1386
1712
|
}
|
|
@@ -1394,7 +1720,7 @@ export const MCP_TOOLS = {
|
|
|
1394
1720
|
}),
|
|
1395
1721
|
},
|
|
1396
1722
|
"DecideProviderVersionReview": {
|
|
1397
|
-
description: "Record a decision on a provider version review\n\
|
|
1723
|
+
description: "Record a decision on a provider version review\n\nApproves or rejects a provider version awaiting review. Admin only. Approval promotes the version to the live channel; rejection moves it to the rejected branch with a reason. Use admin_reviews to find versions waiting on a decision.",
|
|
1398
1724
|
inputSchema: toZod({
|
|
1399
1725
|
"type": "object",
|
|
1400
1726
|
"properties": {
|
|
@@ -1602,7 +1928,7 @@ export const MCP_TOOLS = {
|
|
|
1602
1928
|
}),
|
|
1603
1929
|
},
|
|
1604
1930
|
"DiscoverDataPoints": {
|
|
1605
|
-
description: "List the verifiable data points on a website\n\nThe data points existing providers can prove on a website — the menu to pick from before
|
|
1931
|
+
description: "List the verifiable data points on a website\n\nThe data points existing providers can prove on a website — the menu to pick from before discover_resolve. Optionally filter by `q`.",
|
|
1606
1932
|
inputSchema: toZod({
|
|
1607
1933
|
"type": "object",
|
|
1608
1934
|
"properties": {
|
|
@@ -1641,7 +1967,7 @@ export const MCP_TOOLS = {
|
|
|
1641
1967
|
}),
|
|
1642
1968
|
},
|
|
1643
1969
|
"DiscoverResolve": {
|
|
1644
|
-
description: "Resolve a website + data points to providers\n\
|
|
1970
|
+
description: "Resolve a website + data points to providers\n\nResolves a website plus the data points to prove into the smallest set of existing providers that covers them, with the context inputs each needs. Use after discover_data_points, and before deciding whether to build anything new.",
|
|
1645
1971
|
inputSchema: toZod({
|
|
1646
1972
|
"type": "object",
|
|
1647
1973
|
"properties": {
|
|
@@ -1696,7 +2022,7 @@ export const MCP_TOOLS = {
|
|
|
1696
2022
|
}),
|
|
1697
2023
|
},
|
|
1698
2024
|
"GetMe": {
|
|
1699
|
-
description: "Get the authenticated user",
|
|
2025
|
+
description: "Get the authenticated user\n\nGets the authenticated caller's own profile: id, email, and name. Requires a signed-in user session, not an OrgToken. Use it to confirm who the current credentials belong to.",
|
|
1700
2026
|
inputSchema: toZod({
|
|
1701
2027
|
"type": "object",
|
|
1702
2028
|
"properties": {
|
|
@@ -1720,7 +2046,7 @@ export const MCP_TOOLS = {
|
|
|
1720
2046
|
}),
|
|
1721
2047
|
},
|
|
1722
2048
|
"GetOrg": {
|
|
1723
|
-
description: "Get an organization",
|
|
2049
|
+
description: "Get an organization\n\nGets one organization: name, kind, status, and members. Requires membership or staff access. Use list_orgs when the id is unknown.",
|
|
1724
2050
|
inputSchema: toZod({
|
|
1725
2051
|
"type": "object",
|
|
1726
2052
|
"properties": {
|
|
@@ -1743,14 +2069,84 @@ export const MCP_TOOLS = {
|
|
|
1743
2069
|
"tab": {
|
|
1744
2070
|
"type": "string",
|
|
1745
2071
|
"enum": [
|
|
2072
|
+
"overview",
|
|
1746
2073
|
"connect",
|
|
2074
|
+
"integrate",
|
|
1747
2075
|
"providers",
|
|
1748
2076
|
"members",
|
|
1749
2077
|
"themes",
|
|
2078
|
+
"settings",
|
|
1750
2079
|
"sessions",
|
|
1751
2080
|
"billing"
|
|
1752
2081
|
]
|
|
1753
2082
|
},
|
|
2083
|
+
"track": {
|
|
2084
|
+
"type": "string",
|
|
2085
|
+
"enum": [
|
|
2086
|
+
"agent",
|
|
2087
|
+
"sdk",
|
|
2088
|
+
"http"
|
|
2089
|
+
]
|
|
2090
|
+
},
|
|
2091
|
+
"agent": {
|
|
2092
|
+
"type": "string",
|
|
2093
|
+
"enum": [
|
|
2094
|
+
"claude",
|
|
2095
|
+
"cursor",
|
|
2096
|
+
"opencode",
|
|
2097
|
+
"codex",
|
|
2098
|
+
"others"
|
|
2099
|
+
]
|
|
2100
|
+
},
|
|
2101
|
+
"providerId": {
|
|
2102
|
+
"type": "string",
|
|
2103
|
+
"format": "uuid"
|
|
2104
|
+
},
|
|
2105
|
+
"client": {
|
|
2106
|
+
"type": "string",
|
|
2107
|
+
"enum": [
|
|
2108
|
+
"auto",
|
|
2109
|
+
"portals",
|
|
2110
|
+
"verifier-app",
|
|
2111
|
+
"reclaim-browser-extension",
|
|
2112
|
+
"builder",
|
|
2113
|
+
"inapp-sdk"
|
|
2114
|
+
]
|
|
2115
|
+
},
|
|
2116
|
+
"from": {
|
|
2117
|
+
"type": "string",
|
|
2118
|
+
"maxLength": 40,
|
|
2119
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})?)?$",
|
|
2120
|
+
"description": "One end of a date window: either a calendar date (`2026-09-01`, read as UTC midnight) or a full ISO date-time. The date-only form is what a native `<input type=\"date\">` submits, so `format: date-time` alone would reject every filter the dashboard's own form sends."
|
|
2121
|
+
},
|
|
2122
|
+
"to": {
|
|
2123
|
+
"type": "string",
|
|
2124
|
+
"maxLength": 40,
|
|
2125
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})?)?$",
|
|
2126
|
+
"description": "One end of a date window: either a calendar date (`2026-09-01`, read as UTC midnight) or a full ISO date-time. The date-only form is what a native `<input type=\"date\">` submits, so `format: date-time` alone would reject every filter the dashboard's own form sends."
|
|
2127
|
+
},
|
|
2128
|
+
"verificationClientId": {
|
|
2129
|
+
"type": "string",
|
|
2130
|
+
"minLength": 1,
|
|
2131
|
+
"maxLength": 64,
|
|
2132
|
+
"pattern": "^[0-9a-fA-F-]+$",
|
|
2133
|
+
"description": "A verification client id used as a filter. Hyphens are ignored."
|
|
2134
|
+
},
|
|
2135
|
+
"q": {
|
|
2136
|
+
"type": "string",
|
|
2137
|
+
"minLength": 1,
|
|
2138
|
+
"maxLength": 200
|
|
2139
|
+
},
|
|
2140
|
+
"visibility": {
|
|
2141
|
+
"type": "string",
|
|
2142
|
+
"enum": [
|
|
2143
|
+
"PUBLIC",
|
|
2144
|
+
"PRIVATE"
|
|
2145
|
+
]
|
|
2146
|
+
},
|
|
2147
|
+
"newProvider": {
|
|
2148
|
+
"type": "boolean"
|
|
2149
|
+
},
|
|
1754
2150
|
"billing": {
|
|
1755
2151
|
"type": "string",
|
|
1756
2152
|
"enum": [
|
|
@@ -1839,8 +2235,65 @@ export const MCP_TOOLS = {
|
|
|
1839
2235
|
"additionalProperties": false
|
|
1840
2236
|
}),
|
|
1841
2237
|
},
|
|
2238
|
+
"GetOrgVerificationAnalytics": {
|
|
2239
|
+
description: "Verification outcomes by day, device, and country\n\nShow an organization's verification counts and outcomes by UTC day, claimant device category, and claimant country. Missing telemetry appears in unknown buckets; filter with from and to.",
|
|
2240
|
+
inputSchema: toZod({
|
|
2241
|
+
"type": "object",
|
|
2242
|
+
"properties": {
|
|
2243
|
+
"params": {
|
|
2244
|
+
"type": "object",
|
|
2245
|
+
"properties": {
|
|
2246
|
+
"orgId": {
|
|
2247
|
+
"type": "string",
|
|
2248
|
+
"format": "uuid"
|
|
2249
|
+
}
|
|
2250
|
+
},
|
|
2251
|
+
"required": [
|
|
2252
|
+
"orgId"
|
|
2253
|
+
],
|
|
2254
|
+
"additionalProperties": false
|
|
2255
|
+
},
|
|
2256
|
+
"query": {
|
|
2257
|
+
"type": "object",
|
|
2258
|
+
"properties": {
|
|
2259
|
+
"from": {
|
|
2260
|
+
"type": "string",
|
|
2261
|
+
"maxLength": 40,
|
|
2262
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})?)?$",
|
|
2263
|
+
"description": "One end of a date window: either a calendar date (`2026-09-01`, read as UTC midnight) or a full ISO date-time. The date-only form is what a native `<input type=\"date\">` submits, so `format: date-time` alone would reject every filter the dashboard's own form sends."
|
|
2264
|
+
},
|
|
2265
|
+
"to": {
|
|
2266
|
+
"type": "string",
|
|
2267
|
+
"maxLength": 40,
|
|
2268
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})?)?$",
|
|
2269
|
+
"description": "One end of a date window: either a calendar date (`2026-09-01`, read as UTC midnight) or a full ISO date-time. The date-only form is what a native `<input type=\"date\">` submits, so `format: date-time` alone would reject every filter the dashboard's own form sends."
|
|
2270
|
+
},
|
|
2271
|
+
"providerId": {
|
|
2272
|
+
"type": "string",
|
|
2273
|
+
"format": "uuid"
|
|
2274
|
+
},
|
|
2275
|
+
"verificationClientId": {
|
|
2276
|
+
"type": "string",
|
|
2277
|
+
"minLength": 1,
|
|
2278
|
+
"maxLength": 64,
|
|
2279
|
+
"pattern": "^[0-9a-fA-F-]+$",
|
|
2280
|
+
"description": "A verification client id used as a filter. Hyphens are ignored."
|
|
2281
|
+
}
|
|
2282
|
+
}
|
|
2283
|
+
},
|
|
2284
|
+
"body": {
|
|
2285
|
+
"type": "object"
|
|
2286
|
+
}
|
|
2287
|
+
},
|
|
2288
|
+
"required": [
|
|
2289
|
+
"params",
|
|
2290
|
+
"query"
|
|
2291
|
+
],
|
|
2292
|
+
"additionalProperties": false
|
|
2293
|
+
}),
|
|
2294
|
+
},
|
|
1842
2295
|
"GetProvider": {
|
|
1843
|
-
description: "Get a provider\n\
|
|
2296
|
+
description: "Get a provider\n\nGets one provider by id: its domain, live version (initialUrl and requests), and the data points it can prove. Use providers first when only a domain or search term is known.",
|
|
1844
2297
|
inputSchema: toZod({
|
|
1845
2298
|
"type": "object",
|
|
1846
2299
|
"properties": {
|
|
@@ -2018,7 +2471,7 @@ export const MCP_TOOLS = {
|
|
|
2018
2471
|
}),
|
|
2019
2472
|
},
|
|
2020
2473
|
"GetVerificationSession": {
|
|
2021
|
-
description: "Get a verification session\n\nGets one verification session. Use it to inspect status, resolved providers, context, Verification Client identity, and expiry.
|
|
2474
|
+
description: "Get a verification session\n\nGets one verification session. Use it to inspect status, resolved providers, context, Verification Client identity, and expiry. Requires the owning organization token.",
|
|
2022
2475
|
inputSchema: toZod({
|
|
2023
2476
|
"type": "object",
|
|
2024
2477
|
"properties": {
|
|
@@ -2040,15 +2493,6 @@ export const MCP_TOOLS = {
|
|
|
2040
2493
|
"type": "object",
|
|
2041
2494
|
"properties": {}
|
|
2042
2495
|
},
|
|
2043
|
-
"headers": {
|
|
2044
|
-
"type": "object",
|
|
2045
|
-
"properties": {
|
|
2046
|
-
"x-reclaim-vc-id": {
|
|
2047
|
-
"type": "string",
|
|
2048
|
-
"description": "UUID of the registered Verification Client selected when the session was created. The Builder binds it to the session's immutable verificationClientId. This header identifies the client; it is not a general bearer credential. Client-reported metadata remains untrusted, and Consumers must verify every signed result with verifyResultFull."
|
|
2049
|
-
}
|
|
2050
|
-
}
|
|
2051
|
-
},
|
|
2052
2496
|
"body": {
|
|
2053
2497
|
"type": "object"
|
|
2054
2498
|
}
|
|
@@ -2215,7 +2659,7 @@ export const MCP_TOOLS = {
|
|
|
2215
2659
|
}),
|
|
2216
2660
|
},
|
|
2217
2661
|
"ListOrgs": {
|
|
2218
|
-
description: "List organizations the caller belongs to",
|
|
2662
|
+
description: "List organizations the caller belongs to\n\nLists the organizations the caller belongs to, personal and shared. Use it first to find an organization id — most other tools take one.",
|
|
2219
2663
|
inputSchema: toZod({
|
|
2220
2664
|
"type": "object",
|
|
2221
2665
|
"properties": {
|
|
@@ -2226,9 +2670,17 @@ export const MCP_TOOLS = {
|
|
|
2226
2670
|
"query": {
|
|
2227
2671
|
"type": "object",
|
|
2228
2672
|
"properties": {
|
|
2673
|
+
"q": {
|
|
2674
|
+
"type": "string",
|
|
2675
|
+
"minLength": 1,
|
|
2676
|
+
"maxLength": 200
|
|
2677
|
+
},
|
|
2229
2678
|
"cursor": {
|
|
2230
2679
|
"type": "string",
|
|
2231
2680
|
"maxLength": 500
|
|
2681
|
+
},
|
|
2682
|
+
"newOrg": {
|
|
2683
|
+
"type": "boolean"
|
|
2232
2684
|
}
|
|
2233
2685
|
}
|
|
2234
2686
|
},
|
|
@@ -2276,8 +2728,56 @@ export const MCP_TOOLS = {
|
|
|
2276
2728
|
"additionalProperties": false
|
|
2277
2729
|
}),
|
|
2278
2730
|
},
|
|
2731
|
+
"ListOrgUsedProviders": {
|
|
2732
|
+
description: "List the providers an organization uses\n\nLists the providers that have verification sessions in an organization, busiest first, with session count and last use. Use it to find a provider id to filter sessions or analytics.",
|
|
2733
|
+
inputSchema: toZod({
|
|
2734
|
+
"type": "object",
|
|
2735
|
+
"properties": {
|
|
2736
|
+
"params": {
|
|
2737
|
+
"type": "object",
|
|
2738
|
+
"properties": {
|
|
2739
|
+
"orgId": {
|
|
2740
|
+
"type": "string",
|
|
2741
|
+
"format": "uuid"
|
|
2742
|
+
}
|
|
2743
|
+
},
|
|
2744
|
+
"required": [
|
|
2745
|
+
"orgId"
|
|
2746
|
+
],
|
|
2747
|
+
"additionalProperties": false
|
|
2748
|
+
},
|
|
2749
|
+
"query": {
|
|
2750
|
+
"type": "object",
|
|
2751
|
+
"properties": {
|
|
2752
|
+
"q": {
|
|
2753
|
+
"type": "string",
|
|
2754
|
+
"minLength": 1,
|
|
2755
|
+
"maxLength": 200
|
|
2756
|
+
},
|
|
2757
|
+
"cursor": {
|
|
2758
|
+
"type": "string",
|
|
2759
|
+
"maxLength": 500
|
|
2760
|
+
},
|
|
2761
|
+
"limit": {
|
|
2762
|
+
"type": "integer",
|
|
2763
|
+
"minimum": 1,
|
|
2764
|
+
"maximum": 1000
|
|
2765
|
+
}
|
|
2766
|
+
}
|
|
2767
|
+
},
|
|
2768
|
+
"body": {
|
|
2769
|
+
"type": "object"
|
|
2770
|
+
}
|
|
2771
|
+
},
|
|
2772
|
+
"required": [
|
|
2773
|
+
"params",
|
|
2774
|
+
"query"
|
|
2775
|
+
],
|
|
2776
|
+
"additionalProperties": false
|
|
2777
|
+
}),
|
|
2778
|
+
},
|
|
2279
2779
|
"ListOrgVerificationSessions": {
|
|
2280
|
-
description: "List an organization's verification sessions\n\
|
|
2780
|
+
description: "List an organization's verification sessions\n\nLists an organization's verification sessions, newest first, filterable by session id prefix, provider, status, resolved version, claimant, and a created-at range. Use it to find a session id; use get_verification_session for one session in full.",
|
|
2281
2781
|
inputSchema: toZod({
|
|
2282
2782
|
"type": "object",
|
|
2283
2783
|
"properties": {
|
|
@@ -2305,6 +2805,13 @@ export const MCP_TOOLS = {
|
|
|
2305
2805
|
"type": "string",
|
|
2306
2806
|
"maxLength": 100
|
|
2307
2807
|
},
|
|
2808
|
+
"verificationClientId": {
|
|
2809
|
+
"type": "string",
|
|
2810
|
+
"minLength": 1,
|
|
2811
|
+
"maxLength": 64,
|
|
2812
|
+
"pattern": "^[0-9a-fA-F-]+$",
|
|
2813
|
+
"description": "A verification client id used as a filter. Hyphens are ignored."
|
|
2814
|
+
},
|
|
2308
2815
|
"status": {
|
|
2309
2816
|
"type": "string",
|
|
2310
2817
|
"description": "Status of a verification session, derived from its events. New values\nmay be added over time; clients MUST tolerate unknown values in\nresponses.\n\n- `pending`: Created, not yet finished; completable until `expiresAt`.\n\n- `success`: Terminal — `verification_success` recorded.\n\n- `rejected`: Terminal — `verification_rejected` recorded.\n\n- `error`: Terminal — `verification_error` recorded.\n\n- `cancelled`: Terminal — `verification_cancelled` recorded.\n\n- `expired`: `expiresAt` passed before a terminal event; the end-user\n can no longer complete it.",
|
|
@@ -2389,7 +2896,7 @@ export const MCP_TOOLS = {
|
|
|
2389
2896
|
}),
|
|
2390
2897
|
},
|
|
2391
2898
|
"ListVerificationDeliveries": {
|
|
2392
|
-
description: "Get the callback delivery status for a session\n\nLists callback delivery attempts for a session. Requires
|
|
2899
|
+
description: "Get the callback delivery status for a session\n\nLists callback delivery attempts for a session. Requires the owning organization's token. Use after terminal status to diagnose pending, failed, or dead-lettered callbacks; retry failures with retry_verification_callback.",
|
|
2393
2900
|
inputSchema: toZod({
|
|
2394
2901
|
"type": "object",
|
|
2395
2902
|
"properties": {
|
|
@@ -2411,15 +2918,6 @@ export const MCP_TOOLS = {
|
|
|
2411
2918
|
"type": "object",
|
|
2412
2919
|
"properties": {}
|
|
2413
2920
|
},
|
|
2414
|
-
"headers": {
|
|
2415
|
-
"type": "object",
|
|
2416
|
-
"properties": {
|
|
2417
|
-
"x-reclaim-vc-id": {
|
|
2418
|
-
"type": "string",
|
|
2419
|
-
"description": "UUID of the registered Verification Client selected when the session was created. The Builder binds it to the session's immutable verificationClientId. This header identifies the client; it is not a general bearer credential. Client-reported metadata remains untrusted, and Consumers must verify every signed result with verifyResultFull."
|
|
2420
|
-
}
|
|
2421
|
-
}
|
|
2422
|
-
},
|
|
2423
2921
|
"body": {
|
|
2424
2922
|
"type": "object"
|
|
2425
2923
|
}
|
|
@@ -2432,7 +2930,7 @@ export const MCP_TOOLS = {
|
|
|
2432
2930
|
}),
|
|
2433
2931
|
},
|
|
2434
2932
|
"ListVerificationEvents": {
|
|
2435
|
-
description: "Get the event log for a session\n\nLists append-only lifecycle events for a session. Requires
|
|
2933
|
+
description: "Get the event log for a session\n\nLists append-only lifecycle events for a session. Requires the owning organization's token. Use after get_verification_session to find the first missing or failed milestone; inspect eventData for failure details.",
|
|
2436
2934
|
inputSchema: toZod({
|
|
2437
2935
|
"type": "object",
|
|
2438
2936
|
"properties": {
|
|
@@ -2454,15 +2952,6 @@ export const MCP_TOOLS = {
|
|
|
2454
2952
|
"type": "object",
|
|
2455
2953
|
"properties": {}
|
|
2456
2954
|
},
|
|
2457
|
-
"headers": {
|
|
2458
|
-
"type": "object",
|
|
2459
|
-
"properties": {
|
|
2460
|
-
"x-reclaim-vc-id": {
|
|
2461
|
-
"type": "string",
|
|
2462
|
-
"description": "UUID of the registered Verification Client selected when the session was created. The Builder binds it to the session's immutable verificationClientId. This header identifies the client; it is not a general bearer credential. Client-reported metadata remains untrusted, and Consumers must verify every signed result with verifyResultFull."
|
|
2463
|
-
}
|
|
2464
|
-
}
|
|
2465
|
-
},
|
|
2466
2955
|
"body": {
|
|
2467
2956
|
"type": "object"
|
|
2468
2957
|
}
|
|
@@ -2518,7 +3007,7 @@ export const MCP_TOOLS = {
|
|
|
2518
3007
|
}),
|
|
2519
3008
|
},
|
|
2520
3009
|
"Providers": {
|
|
2521
|
-
description: "Search providers\n\
|
|
3010
|
+
description: "Search providers\n\nSearches existing Reclaim providers by domain or data point. A provider is the recipe an end-user follows to prove something about themselves, such as a follower count or an order history. Call this before create_provider — most popular domains already have one.",
|
|
2522
3011
|
inputSchema: toZod({
|
|
2523
3012
|
"type": "object",
|
|
2524
3013
|
"properties": {
|
|
@@ -2562,7 +3051,7 @@ export const MCP_TOOLS = {
|
|
|
2562
3051
|
}),
|
|
2563
3052
|
},
|
|
2564
3053
|
"PublishProviderVersion": {
|
|
2565
|
-
description: "Publish a draft version directly (PRIVATE providers only)\n\nPublishes a
|
|
3054
|
+
description: "Publish a draft version directly (PRIVATE providers only)\n\nPublishes a draft version straight to live. PRIVATE providers only — they need no review. For a PUBLIC provider use submit_provider_version_for_review instead.",
|
|
2566
3055
|
inputSchema: toZod({
|
|
2567
3056
|
"type": "object",
|
|
2568
3057
|
"properties": {
|
|
@@ -2611,7 +3100,7 @@ export const MCP_TOOLS = {
|
|
|
2611
3100
|
}),
|
|
2612
3101
|
},
|
|
2613
3102
|
"RequestPublicListing": {
|
|
2614
|
-
description: "Request public listing for a PRIVATE provider\n\
|
|
3103
|
+
description: "Request public listing for a PRIVATE provider\n\nAsks Reclaim staff to list a PRIVATE provider publicly. This changes the PROVIDER's visibility, not one version: once approved, every future version needs review. To ship a single version, use publish_provider_version or submit_provider_version_for_review.",
|
|
2615
3104
|
inputSchema: toZod({
|
|
2616
3105
|
"type": "object",
|
|
2617
3106
|
"properties": {
|
|
@@ -2726,7 +3215,7 @@ export const MCP_TOOLS = {
|
|
|
2726
3215
|
}),
|
|
2727
3216
|
},
|
|
2728
3217
|
"SetOrgKeypair": {
|
|
2729
|
-
description: "Set (or rotate) the organization's encryption keypair\n\
|
|
3218
|
+
description: "Set (or rotate) the organization's encryption keypair\n\nSets or rotates the organization's single secp256k1 encryption keypair from its public key, which turns on encrypted result delivery. The private key stays with the caller and is never sent. Rotating makes results encrypted to the previous key undecryptable.",
|
|
2730
3219
|
inputSchema: toZod({
|
|
2731
3220
|
"type": "object",
|
|
2732
3221
|
"properties": {
|
|
@@ -2841,7 +3330,7 @@ export const MCP_TOOLS = {
|
|
|
2841
3330
|
}),
|
|
2842
3331
|
},
|
|
2843
3332
|
"SubmitProviderVersionForReview": {
|
|
2844
|
-
description: "Submit a provider version for review\n\nSubmits a
|
|
3333
|
+
description: "Submit a provider version for review\n\nSubmits a draft or rejected version for admin review, the way a PUBLIC provider's versions go live. On a PRIVATE provider use publish_provider_version instead — those need no review.",
|
|
2845
3334
|
inputSchema: toZod({
|
|
2846
3335
|
"type": "object",
|
|
2847
3336
|
"properties": {
|
|
@@ -2890,7 +3379,7 @@ export const MCP_TOOLS = {
|
|
|
2890
3379
|
}),
|
|
2891
3380
|
},
|
|
2892
3381
|
"TransferProvider": {
|
|
2893
|
-
description: "Transfer a provider to a different workspace\n\nAdmin-only. Moves
|
|
3382
|
+
description: "Transfer a provider to a different workspace\n\nAdmin-only. Moves a provider to a different organization, preserving its slug, versions, and members. Fails if the target organization does not exist.",
|
|
2894
3383
|
inputSchema: toZod({
|
|
2895
3384
|
"type": "object",
|
|
2896
3385
|
"properties": {
|
|
@@ -2934,7 +3423,7 @@ export const MCP_TOOLS = {
|
|
|
2934
3423
|
}),
|
|
2935
3424
|
},
|
|
2936
3425
|
"UpdateOrg": {
|
|
2937
|
-
description: "Update an organization\n\
|
|
3426
|
+
description: "Update an organization\n\nUpdates an organization's name, icon, or status. Owner only, and a partial update — pass only the fields to change. Archiving an organization is a status change, not a delete.",
|
|
2938
3427
|
inputSchema: toZod({
|
|
2939
3428
|
"type": "object",
|
|
2940
3429
|
"properties": {
|
|
@@ -2990,7 +3479,7 @@ export const MCP_TOOLS = {
|
|
|
2990
3479
|
}),
|
|
2991
3480
|
},
|
|
2992
3481
|
"UpdateProvider": {
|
|
2993
|
-
description: "Update a provider\n\
|
|
3482
|
+
description: "Update a provider\n\nUpdates a provider's metadata, such as title, description, or tags. Partial update — pass only the fields to change. Requires active membership. To change the recipe (initialUrl or requests), cut a new version with create_provider_version instead.",
|
|
2994
3483
|
inputSchema: toZod({
|
|
2995
3484
|
"type": "object",
|
|
2996
3485
|
"properties": {
|