@reclaimprotocol/agent 0.1.28 → 0.1.31
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 +537 -59
- package/lib/mcp/api/tools.js +27 -5
- package/lib/mcp/instructions.js +25 -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/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 +32 -85
- package/skill/SKILL.common.md +38 -22
- package/skill/SKILL.old.md +17 -3
- package/skill/builder-mode.md +37 -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 +13 -0
- package/skill/user-script.md +24 -8
- package/skill/verification-client-integration.md +130 -0
- package/src/consts.ts +9 -7
- package/src/mcp/api/operations.gen.ts +539 -59
- package/src/mcp/api/tools.ts +38 -7
- package/src/mcp/instructions.ts +35 -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/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:9ba46b5cbd7c).
|
|
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,73 @@ 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
|
+
"from": {
|
|
2102
|
+
"type": "string",
|
|
2103
|
+
"maxLength": 40,
|
|
2104
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})?)?$",
|
|
2105
|
+
"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."
|
|
2106
|
+
},
|
|
2107
|
+
"to": {
|
|
2108
|
+
"type": "string",
|
|
2109
|
+
"maxLength": 40,
|
|
2110
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})?)?$",
|
|
2111
|
+
"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."
|
|
2112
|
+
},
|
|
2113
|
+
"providerId": {
|
|
2114
|
+
"type": "string",
|
|
2115
|
+
"format": "uuid"
|
|
2116
|
+
},
|
|
2117
|
+
"verificationClientId": {
|
|
2118
|
+
"type": "string",
|
|
2119
|
+
"minLength": 1,
|
|
2120
|
+
"maxLength": 64,
|
|
2121
|
+
"pattern": "^[0-9a-fA-F-]+$",
|
|
2122
|
+
"description": "A verification client id used as a filter. Hyphens are ignored."
|
|
2123
|
+
},
|
|
2124
|
+
"q": {
|
|
2125
|
+
"type": "string",
|
|
2126
|
+
"minLength": 1,
|
|
2127
|
+
"maxLength": 200
|
|
2128
|
+
},
|
|
2129
|
+
"visibility": {
|
|
2130
|
+
"type": "string",
|
|
2131
|
+
"enum": [
|
|
2132
|
+
"PUBLIC",
|
|
2133
|
+
"PRIVATE"
|
|
2134
|
+
]
|
|
2135
|
+
},
|
|
2136
|
+
"newProvider": {
|
|
2137
|
+
"type": "boolean"
|
|
2138
|
+
},
|
|
1754
2139
|
"billing": {
|
|
1755
2140
|
"type": "string",
|
|
1756
2141
|
"enum": [
|
|
@@ -1839,8 +2224,65 @@ export const MCP_TOOLS = {
|
|
|
1839
2224
|
"additionalProperties": false
|
|
1840
2225
|
}),
|
|
1841
2226
|
},
|
|
2227
|
+
"GetOrgVerificationAnalytics": {
|
|
2228
|
+
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.",
|
|
2229
|
+
inputSchema: toZod({
|
|
2230
|
+
"type": "object",
|
|
2231
|
+
"properties": {
|
|
2232
|
+
"params": {
|
|
2233
|
+
"type": "object",
|
|
2234
|
+
"properties": {
|
|
2235
|
+
"orgId": {
|
|
2236
|
+
"type": "string",
|
|
2237
|
+
"format": "uuid"
|
|
2238
|
+
}
|
|
2239
|
+
},
|
|
2240
|
+
"required": [
|
|
2241
|
+
"orgId"
|
|
2242
|
+
],
|
|
2243
|
+
"additionalProperties": false
|
|
2244
|
+
},
|
|
2245
|
+
"query": {
|
|
2246
|
+
"type": "object",
|
|
2247
|
+
"properties": {
|
|
2248
|
+
"from": {
|
|
2249
|
+
"type": "string",
|
|
2250
|
+
"maxLength": 40,
|
|
2251
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})?)?$",
|
|
2252
|
+
"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."
|
|
2253
|
+
},
|
|
2254
|
+
"to": {
|
|
2255
|
+
"type": "string",
|
|
2256
|
+
"maxLength": 40,
|
|
2257
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2})?)?$",
|
|
2258
|
+
"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."
|
|
2259
|
+
},
|
|
2260
|
+
"providerId": {
|
|
2261
|
+
"type": "string",
|
|
2262
|
+
"format": "uuid"
|
|
2263
|
+
},
|
|
2264
|
+
"verificationClientId": {
|
|
2265
|
+
"type": "string",
|
|
2266
|
+
"minLength": 1,
|
|
2267
|
+
"maxLength": 64,
|
|
2268
|
+
"pattern": "^[0-9a-fA-F-]+$",
|
|
2269
|
+
"description": "A verification client id used as a filter. Hyphens are ignored."
|
|
2270
|
+
}
|
|
2271
|
+
}
|
|
2272
|
+
},
|
|
2273
|
+
"body": {
|
|
2274
|
+
"type": "object"
|
|
2275
|
+
}
|
|
2276
|
+
},
|
|
2277
|
+
"required": [
|
|
2278
|
+
"params",
|
|
2279
|
+
"query"
|
|
2280
|
+
],
|
|
2281
|
+
"additionalProperties": false
|
|
2282
|
+
}),
|
|
2283
|
+
},
|
|
1842
2284
|
"GetProvider": {
|
|
1843
|
-
description: "Get a provider\n\
|
|
2285
|
+
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
2286
|
inputSchema: toZod({
|
|
1845
2287
|
"type": "object",
|
|
1846
2288
|
"properties": {
|
|
@@ -2018,7 +2460,7 @@ export const MCP_TOOLS = {
|
|
|
2018
2460
|
}),
|
|
2019
2461
|
},
|
|
2020
2462
|
"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.
|
|
2463
|
+
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
2464
|
inputSchema: toZod({
|
|
2023
2465
|
"type": "object",
|
|
2024
2466
|
"properties": {
|
|
@@ -2040,15 +2482,6 @@ export const MCP_TOOLS = {
|
|
|
2040
2482
|
"type": "object",
|
|
2041
2483
|
"properties": {}
|
|
2042
2484
|
},
|
|
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
2485
|
"body": {
|
|
2053
2486
|
"type": "object"
|
|
2054
2487
|
}
|
|
@@ -2215,7 +2648,7 @@ export const MCP_TOOLS = {
|
|
|
2215
2648
|
}),
|
|
2216
2649
|
},
|
|
2217
2650
|
"ListOrgs": {
|
|
2218
|
-
description: "List organizations the caller belongs to",
|
|
2651
|
+
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
2652
|
inputSchema: toZod({
|
|
2220
2653
|
"type": "object",
|
|
2221
2654
|
"properties": {
|
|
@@ -2226,9 +2659,17 @@ export const MCP_TOOLS = {
|
|
|
2226
2659
|
"query": {
|
|
2227
2660
|
"type": "object",
|
|
2228
2661
|
"properties": {
|
|
2662
|
+
"q": {
|
|
2663
|
+
"type": "string",
|
|
2664
|
+
"minLength": 1,
|
|
2665
|
+
"maxLength": 200
|
|
2666
|
+
},
|
|
2229
2667
|
"cursor": {
|
|
2230
2668
|
"type": "string",
|
|
2231
2669
|
"maxLength": 500
|
|
2670
|
+
},
|
|
2671
|
+
"newOrg": {
|
|
2672
|
+
"type": "boolean"
|
|
2232
2673
|
}
|
|
2233
2674
|
}
|
|
2234
2675
|
},
|
|
@@ -2276,8 +2717,56 @@ export const MCP_TOOLS = {
|
|
|
2276
2717
|
"additionalProperties": false
|
|
2277
2718
|
}),
|
|
2278
2719
|
},
|
|
2720
|
+
"ListOrgUsedProviders": {
|
|
2721
|
+
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.",
|
|
2722
|
+
inputSchema: toZod({
|
|
2723
|
+
"type": "object",
|
|
2724
|
+
"properties": {
|
|
2725
|
+
"params": {
|
|
2726
|
+
"type": "object",
|
|
2727
|
+
"properties": {
|
|
2728
|
+
"orgId": {
|
|
2729
|
+
"type": "string",
|
|
2730
|
+
"format": "uuid"
|
|
2731
|
+
}
|
|
2732
|
+
},
|
|
2733
|
+
"required": [
|
|
2734
|
+
"orgId"
|
|
2735
|
+
],
|
|
2736
|
+
"additionalProperties": false
|
|
2737
|
+
},
|
|
2738
|
+
"query": {
|
|
2739
|
+
"type": "object",
|
|
2740
|
+
"properties": {
|
|
2741
|
+
"q": {
|
|
2742
|
+
"type": "string",
|
|
2743
|
+
"minLength": 1,
|
|
2744
|
+
"maxLength": 200
|
|
2745
|
+
},
|
|
2746
|
+
"cursor": {
|
|
2747
|
+
"type": "string",
|
|
2748
|
+
"maxLength": 500
|
|
2749
|
+
},
|
|
2750
|
+
"limit": {
|
|
2751
|
+
"type": "integer",
|
|
2752
|
+
"minimum": 1,
|
|
2753
|
+
"maximum": 1000
|
|
2754
|
+
}
|
|
2755
|
+
}
|
|
2756
|
+
},
|
|
2757
|
+
"body": {
|
|
2758
|
+
"type": "object"
|
|
2759
|
+
}
|
|
2760
|
+
},
|
|
2761
|
+
"required": [
|
|
2762
|
+
"params",
|
|
2763
|
+
"query"
|
|
2764
|
+
],
|
|
2765
|
+
"additionalProperties": false
|
|
2766
|
+
}),
|
|
2767
|
+
},
|
|
2279
2768
|
"ListOrgVerificationSessions": {
|
|
2280
|
-
description: "List an organization's verification sessions\n\
|
|
2769
|
+
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
2770
|
inputSchema: toZod({
|
|
2282
2771
|
"type": "object",
|
|
2283
2772
|
"properties": {
|
|
@@ -2305,6 +2794,13 @@ export const MCP_TOOLS = {
|
|
|
2305
2794
|
"type": "string",
|
|
2306
2795
|
"maxLength": 100
|
|
2307
2796
|
},
|
|
2797
|
+
"verificationClientId": {
|
|
2798
|
+
"type": "string",
|
|
2799
|
+
"minLength": 1,
|
|
2800
|
+
"maxLength": 64,
|
|
2801
|
+
"pattern": "^[0-9a-fA-F-]+$",
|
|
2802
|
+
"description": "A verification client id used as a filter. Hyphens are ignored."
|
|
2803
|
+
},
|
|
2308
2804
|
"status": {
|
|
2309
2805
|
"type": "string",
|
|
2310
2806
|
"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 +2885,7 @@ export const MCP_TOOLS = {
|
|
|
2389
2885
|
}),
|
|
2390
2886
|
},
|
|
2391
2887
|
"ListVerificationDeliveries": {
|
|
2392
|
-
description: "Get the callback delivery status for a session\n\nLists callback delivery attempts for a session. Requires
|
|
2888
|
+
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
2889
|
inputSchema: toZod({
|
|
2394
2890
|
"type": "object",
|
|
2395
2891
|
"properties": {
|
|
@@ -2411,15 +2907,6 @@ export const MCP_TOOLS = {
|
|
|
2411
2907
|
"type": "object",
|
|
2412
2908
|
"properties": {}
|
|
2413
2909
|
},
|
|
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
2910
|
"body": {
|
|
2424
2911
|
"type": "object"
|
|
2425
2912
|
}
|
|
@@ -2432,7 +2919,7 @@ export const MCP_TOOLS = {
|
|
|
2432
2919
|
}),
|
|
2433
2920
|
},
|
|
2434
2921
|
"ListVerificationEvents": {
|
|
2435
|
-
description: "Get the event log for a session\n\nLists append-only lifecycle events for a session. Requires
|
|
2922
|
+
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
2923
|
inputSchema: toZod({
|
|
2437
2924
|
"type": "object",
|
|
2438
2925
|
"properties": {
|
|
@@ -2454,15 +2941,6 @@ export const MCP_TOOLS = {
|
|
|
2454
2941
|
"type": "object",
|
|
2455
2942
|
"properties": {}
|
|
2456
2943
|
},
|
|
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
2944
|
"body": {
|
|
2467
2945
|
"type": "object"
|
|
2468
2946
|
}
|
|
@@ -2518,7 +2996,7 @@ export const MCP_TOOLS = {
|
|
|
2518
2996
|
}),
|
|
2519
2997
|
},
|
|
2520
2998
|
"Providers": {
|
|
2521
|
-
description: "Search providers\n\
|
|
2999
|
+
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
3000
|
inputSchema: toZod({
|
|
2523
3001
|
"type": "object",
|
|
2524
3002
|
"properties": {
|
|
@@ -2562,7 +3040,7 @@ export const MCP_TOOLS = {
|
|
|
2562
3040
|
}),
|
|
2563
3041
|
},
|
|
2564
3042
|
"PublishProviderVersion": {
|
|
2565
|
-
description: "Publish a draft version directly (PRIVATE providers only)\n\nPublishes a
|
|
3043
|
+
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
3044
|
inputSchema: toZod({
|
|
2567
3045
|
"type": "object",
|
|
2568
3046
|
"properties": {
|
|
@@ -2611,7 +3089,7 @@ export const MCP_TOOLS = {
|
|
|
2611
3089
|
}),
|
|
2612
3090
|
},
|
|
2613
3091
|
"RequestPublicListing": {
|
|
2614
|
-
description: "Request public listing for a PRIVATE provider\n\
|
|
3092
|
+
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
3093
|
inputSchema: toZod({
|
|
2616
3094
|
"type": "object",
|
|
2617
3095
|
"properties": {
|
|
@@ -2726,7 +3204,7 @@ export const MCP_TOOLS = {
|
|
|
2726
3204
|
}),
|
|
2727
3205
|
},
|
|
2728
3206
|
"SetOrgKeypair": {
|
|
2729
|
-
description: "Set (or rotate) the organization's encryption keypair\n\
|
|
3207
|
+
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
3208
|
inputSchema: toZod({
|
|
2731
3209
|
"type": "object",
|
|
2732
3210
|
"properties": {
|
|
@@ -2841,7 +3319,7 @@ export const MCP_TOOLS = {
|
|
|
2841
3319
|
}),
|
|
2842
3320
|
},
|
|
2843
3321
|
"SubmitProviderVersionForReview": {
|
|
2844
|
-
description: "Submit a provider version for review\n\nSubmits a
|
|
3322
|
+
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
3323
|
inputSchema: toZod({
|
|
2846
3324
|
"type": "object",
|
|
2847
3325
|
"properties": {
|
|
@@ -2890,7 +3368,7 @@ export const MCP_TOOLS = {
|
|
|
2890
3368
|
}),
|
|
2891
3369
|
},
|
|
2892
3370
|
"TransferProvider": {
|
|
2893
|
-
description: "Transfer a provider to a different workspace\n\nAdmin-only. Moves
|
|
3371
|
+
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
3372
|
inputSchema: toZod({
|
|
2895
3373
|
"type": "object",
|
|
2896
3374
|
"properties": {
|
|
@@ -2934,7 +3412,7 @@ export const MCP_TOOLS = {
|
|
|
2934
3412
|
}),
|
|
2935
3413
|
},
|
|
2936
3414
|
"UpdateOrg": {
|
|
2937
|
-
description: "Update an organization\n\
|
|
3415
|
+
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
3416
|
inputSchema: toZod({
|
|
2939
3417
|
"type": "object",
|
|
2940
3418
|
"properties": {
|
|
@@ -2990,7 +3468,7 @@ export const MCP_TOOLS = {
|
|
|
2990
3468
|
}),
|
|
2991
3469
|
},
|
|
2992
3470
|
"UpdateProvider": {
|
|
2993
|
-
description: "Update a provider\n\
|
|
3471
|
+
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
3472
|
inputSchema: toZod({
|
|
2995
3473
|
"type": "object",
|
|
2996
3474
|
"properties": {
|