@proof-holdings/mcp-server 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +220 -217
- package/dist/authBoundary.d.ts +193 -0
- package/dist/authBoundary.d.ts.map +1 -0
- package/dist/authBoundary.js +341 -0
- package/dist/authBoundary.js.map +1 -0
- package/dist/factory.d.ts +35 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/factory.js +130 -0
- package/dist/factory.js.map +1 -0
- package/dist/http.d.ts +78 -3
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +251 -6
- package/dist/http.js.map +1 -1
- package/dist/remote.d.ts +111 -0
- package/dist/remote.d.ts.map +1 -0
- package/dist/remote.js +789 -0
- package/dist/remote.js.map +1 -0
- package/dist/server.js +11 -57
- package/dist/server.js.map +1 -1
- package/dist/toolAnnotations.d.ts +27 -0
- package/dist/toolAnnotations.d.ts.map +1 -0
- package/dist/toolAnnotations.js +158 -0
- package/dist/toolAnnotations.js.map +1 -0
- package/dist/tools/{projects.d.ts → accounts.d.ts} +1 -1
- package/dist/tools/accounts.d.ts.map +1 -0
- package/dist/tools/accounts.js +70 -0
- package/dist/tools/accounts.js.map +1 -0
- package/dist/tools/api-keys.d.ts.map +1 -1
- package/dist/tools/api-keys.js +14 -5
- package/dist/tools/api-keys.js.map +1 -1
- package/dist/tools/auth-flows.d.ts +4 -0
- package/dist/tools/auth-flows.d.ts.map +1 -0
- package/dist/tools/auth-flows.js +34 -0
- package/dist/tools/auth-flows.js.map +1 -0
- package/dist/tools/auth.js +1 -1
- package/dist/tools/auth.js.map +1 -1
- package/dist/tools/authorizations.d.ts +4 -0
- package/dist/tools/authorizations.d.ts.map +1 -0
- package/dist/tools/authorizations.js +111 -0
- package/dist/tools/authorizations.js.map +1 -0
- package/dist/tools/circles.d.ts +4 -0
- package/dist/tools/circles.d.ts.map +1 -0
- package/dist/tools/circles.js +215 -0
- package/dist/tools/circles.js.map +1 -0
- package/dist/tools/confirmations.d.ts +4 -0
- package/dist/tools/confirmations.d.ts.map +1 -0
- package/dist/tools/confirmations.js +86 -0
- package/dist/tools/confirmations.js.map +1 -0
- package/dist/tools/delegation-verify-outcomes.d.ts +23 -0
- package/dist/tools/delegation-verify-outcomes.d.ts.map +1 -0
- package/dist/tools/delegation-verify-outcomes.js +51 -0
- package/dist/tools/delegation-verify-outcomes.js.map +1 -0
- package/dist/tools/delegation-verify.d.ts +24 -0
- package/dist/tools/delegation-verify.d.ts.map +1 -0
- package/dist/tools/delegation-verify.js +192 -0
- package/dist/tools/delegation-verify.js.map +1 -0
- package/dist/tools/delegations.d.ts +4 -0
- package/dist/tools/delegations.d.ts.map +1 -0
- package/dist/tools/delegations.js +84 -0
- package/dist/tools/delegations.js.map +1 -0
- package/dist/tools/domains.d.ts.map +1 -1
- package/dist/tools/domains.js +1 -2
- package/dist/tools/domains.js.map +1 -1
- package/dist/tools/hitl-keys.d.ts +4 -0
- package/dist/tools/hitl-keys.d.ts.map +1 -0
- package/dist/tools/hitl-keys.js +52 -0
- package/dist/tools/hitl-keys.js.map +1 -0
- package/dist/tools/hitl.d.ts +4 -0
- package/dist/tools/hitl.d.ts.map +1 -0
- package/dist/tools/hitl.js +151 -0
- package/dist/tools/hitl.js.map +1 -0
- package/dist/tools/phones.js +1 -1
- package/dist/tools/phones.js.map +1 -1
- package/dist/tools/profiles.d.ts.map +1 -1
- package/dist/tools/profiles.js +73 -0
- package/dist/tools/profiles.js.map +1 -1
- package/dist/tools/proof-me.d.ts +4 -0
- package/dist/tools/proof-me.d.ts.map +1 -0
- package/dist/tools/proof-me.js +36 -0
- package/dist/tools/proof-me.js.map +1 -0
- package/dist/tools/proofs.d.ts.map +1 -1
- package/dist/tools/proofs.js +9 -6
- package/dist/tools/proofs.js.map +1 -1
- package/dist/tools/render-auth-link.d.ts +3 -0
- package/dist/tools/render-auth-link.d.ts.map +1 -0
- package/dist/tools/render-auth-link.js +30 -0
- package/dist/tools/render-auth-link.js.map +1 -0
- package/dist/tools/sessions.js +5 -5
- package/dist/tools/sessions.js.map +1 -1
- package/dist/tools/settings.d.ts.map +1 -1
- package/dist/tools/settings.js +77 -2
- package/dist/tools/settings.js.map +1 -1
- package/dist/tools/twofa.d.ts.map +1 -1
- package/dist/tools/twofa.js +16 -3
- package/dist/tools/twofa.js.map +1 -1
- package/dist/tools/user-requests.d.ts.map +1 -1
- package/dist/tools/user-requests.js +1 -2
- package/dist/tools/user-requests.js.map +1 -1
- package/dist/tools/verification-requests.d.ts.map +1 -1
- package/dist/tools/verification-requests.js +40 -13
- package/dist/tools/verification-requests.js.map +1 -1
- package/dist/tools/verifications.d.ts.map +1 -1
- package/dist/tools/verifications.js +59 -12
- package/dist/tools/verifications.js.map +1 -1
- package/dist/types.d.ts +18 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +114 -5
- package/dist/types.js.map +1 -1
- package/package.json +11 -5
- package/dist/tools/projects.d.ts.map +0 -1
- package/dist/tools/projects.js +0 -159
- package/dist/tools/projects.js.map +0 -1
|
@@ -27,8 +27,7 @@ export function registerTools(tool, http) {
|
|
|
27
27
|
tool('create_user_request', 'Create a new verification request to ask another user to share verified assets.', {
|
|
28
28
|
assets: z.array(z.string()).min(1).max(10).describe('Asset type identifiers to request (e.g. email, phone, identity)'),
|
|
29
29
|
reference_id: z.string().optional().describe('External reference ID for tracking'),
|
|
30
|
-
|
|
31
|
-
public_profile_id: z.string().optional().describe('Public profile ID of the requestor'),
|
|
30
|
+
public_profile_id: z.string().optional().describe('Public profile ID for branding'),
|
|
32
31
|
action_type: z.enum(['verification', 'onboarding', 'compliance']).optional().describe('Purpose of the request (default: verification)'),
|
|
33
32
|
action_context: z.string().optional().describe('Additional context about why assets are needed'),
|
|
34
33
|
validity_requirement: z.string().optional().describe('Required validity level for shared assets'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-requests.js","sourceRoot":"","sources":["../../src/tools/user-requests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,UAAU,aAAa,CAAC,IAAmB,EAAE,IAAgB;IACjE,IAAI,CACF,kBAAkB,EAClB,+DAA+D,EAC/D,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAClE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,QAAQ;gBAAE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC,CACF,CAAC;IAEF,IAAI,CACF,wBAAwB,EACxB,kFAAkF,EAClF,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;YAC3E,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,QAAQ;gBAAE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC,CACF,CAAC;IAEF,IAAI,CACF,qBAAqB,EACrB,iFAAiF,EACjF;QACE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,iEAAiE,CAAC;QACtH,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAClF,
|
|
1
|
+
{"version":3,"file":"user-requests.js","sourceRoot":"","sources":["../../src/tools/user-requests.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-requests.d.ts","sourceRoot":"","sources":["../../src/tools/verification-requests.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"verification-requests.d.ts","sourceRoot":"","sources":["../../src/tools/verification-requests.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMjD,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,QAsJlE"}
|
|
@@ -1,17 +1,28 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { jsonResult, errorResult, pollUntilTerminal } from '../types.js';
|
|
2
|
+
import { jsonResult, errorResult, pollUntilTerminal, VERIFICATION_TYPE_VALUES, VERIFICATION_CHANNEL_VALUES, WAIT_DEFAULT_SECONDS } from '../types.js';
|
|
3
3
|
import { ApiError } from '../http.js';
|
|
4
|
+
const channelEnum = z.enum(VERIFICATION_CHANNEL_VALUES);
|
|
4
5
|
export function registerTools(tool, http) {
|
|
5
|
-
tool('create_verification_request', 'Create a multi-asset verification request. Allows verifying multiple assets (phone, email, domain) in a single flow.', {
|
|
6
|
+
tool('create_verification_request', 'Create a multi-asset verification request. Allows verifying multiple assets (phone, email, domain, social, wallet, account, telegram_bot) in a single flow.', {
|
|
6
7
|
assets: z.array(z.object({
|
|
7
|
-
type: z.enum(
|
|
8
|
-
|
|
9
|
-
channel:
|
|
10
|
-
|
|
8
|
+
type: z.enum(VERIFICATION_TYPE_VALUES).describe('Asset type to verify'),
|
|
9
|
+
identifier: z.string().optional().describe('The identifier to verify (phone number, email, domain, etc.). If omitted, the user provides their own.'),
|
|
10
|
+
channel: channelEnum.optional().describe('Preferred verification channel'),
|
|
11
|
+
required: z.boolean().optional().describe('Whether this asset must be verified for the request to complete (default: true)'),
|
|
12
|
+
allowed_channels: z.array(channelEnum).optional().describe('Restrict to specific channels for this asset'),
|
|
13
|
+
})).min(1).max(10).describe('Array of assets to verify (1-10)'),
|
|
11
14
|
reference_id: z.string().optional().describe('Your unique reference ID for this request'),
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
+
action_type: z.enum(['verification', '2fa', 'login', 'custom', 'confirmation']).optional().describe('Purpose of the verification (default: verification)'),
|
|
16
|
+
action_context: z.object({
|
|
17
|
+
title: z.string().optional().describe('Action title shown to user (required for custom/confirmation)'),
|
|
18
|
+
description: z.string().optional().describe('Action description shown to user'),
|
|
19
|
+
}).optional().describe('Context displayed to user during verification'),
|
|
20
|
+
partial_ok: z.boolean().optional().describe('Allow partial completion (default: false)'),
|
|
21
|
+
redirect_url: z.string().optional().describe('URL to redirect user after verification completes (HTTPS only)'),
|
|
22
|
+
callback_url: z.string().optional().describe('Webhook URL for status updates (HTTPS only)'),
|
|
23
|
+
expires_in: z.number().int().positive().optional().describe('Request expiry in seconds (default: 86400, max: 604800)'),
|
|
24
|
+
public_profile_id: z.string().optional().describe('Public profile ID for branding'),
|
|
25
|
+
proof_expiry_days: z.number().int().optional().describe('Per-request proof expiry override in days (7, 30, 90, or 365)'),
|
|
15
26
|
}, async (args) => {
|
|
16
27
|
try {
|
|
17
28
|
const result = await http.post('/api/v1/verification-requests', args);
|
|
@@ -36,8 +47,22 @@ export function registerTools(tool, http) {
|
|
|
36
47
|
throw e;
|
|
37
48
|
}
|
|
38
49
|
});
|
|
50
|
+
tool('get_request_proofs', 'Get proof tokens for verified assets in a verification request. Returns proof tokens that can be used for offline verification.', {
|
|
51
|
+
id: z.string().describe('Verification request ID'),
|
|
52
|
+
}, async ({ id }) => {
|
|
53
|
+
try {
|
|
54
|
+
const result = await http.get(`/api/v1/verification-requests/${encodeURIComponent(id)}/proofs`);
|
|
55
|
+
return jsonResult(result);
|
|
56
|
+
}
|
|
57
|
+
catch (e) {
|
|
58
|
+
if (e instanceof ApiError)
|
|
59
|
+
return errorResult(`${e.code}: ${e.message}`);
|
|
60
|
+
throw e;
|
|
61
|
+
}
|
|
62
|
+
});
|
|
39
63
|
tool('list_verification_requests', 'List verification requests with optional filters. Returns paginated results.', {
|
|
40
|
-
status: z.enum(['pending', 'completed', 'expired', 'cancelled']).optional().describe(
|
|
64
|
+
status: z.enum(['pending', 'partial', 'completed', 'expired', 'cancelled', 'active']).optional().describe("Filter by status. 'active' = live (not-yet-expired) pending or partial requests; persisted statuses are time-aware."),
|
|
65
|
+
reference_id: z.string().optional().describe('Filter by reference ID'),
|
|
41
66
|
page: z.number().int().positive().optional().describe('Page number'),
|
|
42
67
|
limit: z.number().int().min(1).max(100).optional().describe('Items per page'),
|
|
43
68
|
}, async (args) => {
|
|
@@ -45,6 +70,8 @@ export function registerTools(tool, http) {
|
|
|
45
70
|
const query = {};
|
|
46
71
|
if (args.status !== undefined)
|
|
47
72
|
query.status = args.status;
|
|
73
|
+
if (args.reference_id !== undefined)
|
|
74
|
+
query.reference_id = args.reference_id;
|
|
48
75
|
if (args.page !== undefined)
|
|
49
76
|
query.page = args.page;
|
|
50
77
|
if (args.limit !== undefined)
|
|
@@ -84,12 +111,12 @@ export function registerTools(tool, http) {
|
|
|
84
111
|
throw e;
|
|
85
112
|
}
|
|
86
113
|
});
|
|
87
|
-
tool('wait_for_request', 'Poll a verification request until it reaches a terminal state (completed, expired, or cancelled).
|
|
114
|
+
tool('wait_for_request', 'Poll a verification request until it reaches a terminal state (completed, expired, or cancelled). Uses exponential backoff (2s initial, 1.5x, 30s max) with jitter.', {
|
|
88
115
|
id: z.string().describe('Verification request ID to poll'),
|
|
89
|
-
timeout_seconds: z.number().int().min(1).max(300).optional().describe(
|
|
116
|
+
timeout_seconds: z.number().int().min(1).max(300).optional().describe(`Maximum wait time in seconds (default: ${WAIT_DEFAULT_SECONDS}, max: 300). Keep it under your MCP client's request timeout (the SDK default is 60 s) — a longer wait is cut off by the client while the server is still polling. On timeout the tool answers status "pending"; call it again with the same identifier.`),
|
|
90
117
|
}, async ({ id, timeout_seconds }) => {
|
|
91
118
|
try {
|
|
92
|
-
return await pollUntilTerminal(() => http.get(`/api/v1/verification-requests/${encodeURIComponent(id)}`), ['completed', 'expired', 'cancelled'], timeout_seconds ??
|
|
119
|
+
return await pollUntilTerminal(() => http.get(`/api/v1/verification-requests/${encodeURIComponent(id)}`), ['completed', 'expired', 'cancelled'], timeout_seconds ?? WAIT_DEFAULT_SECONDS, `verification request ${id}`);
|
|
93
120
|
}
|
|
94
121
|
catch (e) {
|
|
95
122
|
if (e instanceof ApiError)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-requests.js","sourceRoot":"","sources":["../../src/tools/verification-requests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"verification-requests.js","sourceRoot":"","sources":["../../src/tools/verification-requests.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifications.d.ts","sourceRoot":"","sources":["../../src/tools/verifications.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"verifications.d.ts","sourceRoot":"","sources":["../../src/tools/verifications.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,QA6RlE"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { jsonResult, errorResult, pollUntilTerminal } from '../types.js';
|
|
2
|
+
import { jsonResult, errorResult, pollUntilTerminal, credentialsSchema, VERIFICATION_TYPE_VALUES, VERIFICATION_CHANNEL_VALUES, WAIT_DEFAULT_SECONDS } from '../types.js';
|
|
3
3
|
import { ApiError } from '../http.js';
|
|
4
4
|
export function registerTools(tool, http) {
|
|
5
|
-
tool('create_verification', 'Create a new identity verification. Initiates a verification flow for
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
external_user_id: z.string().optional().describe('Your application user ID for grouping verifications'),
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
tool('create_verification', 'Create a new identity verification. Initiates a verification flow for an asset identifier (phone number, email, domain, social handle, wallet address, account, or Telegram bot).\n\nAgent usage: pass the asset `type`, the delivery `channel`, and the `identifier` (e.g. type "phone", channel "sms", identifier "+37060000000"; or type "email", channel "email", identifier "user@example.com"). The response carries a `challenge` object with the instruction for the chosen channel — except a `telegram_bot` verification made with a LIVE key, which the server completes on the spot and answers with `status: verified` plus a proof token and no challenge at all; with a `pk_test_` key that same call stays pending and does carry a challenge. On the messenger channels it also carries `challenge.deep_link` — pass THAT to render_auth_link to give the user a clickable link and a QR code. This endpoint returns no `qr_text` at all. For OTP-based flows (sms/email), the user receives a code — poll get_verification or use wait_for_verification to track completion. For Telegram/WhatsApp, the user clicks the deep link to verify.', {
|
|
6
|
+
type: z.enum(VERIFICATION_TYPE_VALUES).describe('Asset type being verified'),
|
|
7
|
+
channel: z.enum(VERIFICATION_CHANNEL_VALUES).describe('Verification channel (must match the asset type, e.g. sms/whatsapp/telegram for phone)'),
|
|
8
|
+
identifier: z.string().min(1).max(500).describe('The asset identifier to verify (E.164 phone, email address, domain, handle, wallet address, ...)'),
|
|
9
|
+
external_user_id: z.string().min(1).max(255).optional().describe('Your application user ID for grouping verifications'),
|
|
10
|
+
client_metadata: z.record(z.string()).optional().describe('Custom key-value metadata'),
|
|
11
|
+
dns_provider: credentialsSchema.optional().describe('DNS provider credentials (required for channel "auto")'),
|
|
12
|
+
email_prefix: z.enum(['admin', 'administrator', 'webmaster', 'hostmaster', 'postmaster']).optional().describe('Mailbox prefix for domain email verification'),
|
|
13
|
+
bot_token: z.string().min(1).max(500).optional().describe('Telegram bot token (required for channel "telegram_bot_token")'),
|
|
14
|
+
proof_expiry_days: z.number().int().min(1).max(365).optional().describe('Per-request proof expiry override in days (1-365)'),
|
|
12
15
|
}, async (args) => {
|
|
13
16
|
try {
|
|
14
17
|
const result = await http.post('/api/v1/verifications', args);
|
|
@@ -74,7 +77,12 @@ export function registerTools(tool, http) {
|
|
|
74
77
|
throw e;
|
|
75
78
|
}
|
|
76
79
|
});
|
|
77
|
-
tool('submit_verification_code', 'Submit an OTP/challenge code for a pending verification.'
|
|
80
|
+
tool('submit_verification_code', 'Submit an OTP/challenge code for a pending verification. Accepted ONLY where we delivered the '
|
|
81
|
+
+ 'code out-of-band to the party being verified: type "email", and type "domain" with channel '
|
|
82
|
+
+ '"email". Any other pair answers 400 unsupported_for_type and completes elsewhere — use '
|
|
83
|
+
+ 'trigger_verification (POST /verifications/:id/verify) for a domain over dns/http/auto; a '
|
|
84
|
+
+ 'phone completes when the code reaches us FROM that number; social completes through its '
|
|
85
|
+
+ 'OAuth callback; a telegram_bot is already verified at creation.', {
|
|
78
86
|
id: z.string().describe('Verification ID'),
|
|
79
87
|
code: z.string().describe('The OTP or challenge code to submit'),
|
|
80
88
|
}, async ({ id, code }) => {
|
|
@@ -174,12 +182,51 @@ export function registerTools(tool, http) {
|
|
|
174
182
|
throw e;
|
|
175
183
|
}
|
|
176
184
|
});
|
|
177
|
-
tool('wait_for_verification', 'Poll a verification until it reaches a terminal state (verified, failed, or
|
|
185
|
+
tool('wait_for_verification', 'Poll a verification until it reaches a terminal state (verified, failed, expired, revoked, or cancelled). Uses exponential backoff (2s initial, 1.5x, 30s max) with jitter.\n\nA multi-channel verification that lost the race is "cancelled" and one whose proof was withdrawn is "revoked"; both are final, so the wait returns rather than polling on.', {
|
|
178
186
|
id: z.string().describe('Verification ID to poll'),
|
|
179
|
-
timeout_seconds: z.number().int().min(1).max(300).optional().describe(
|
|
187
|
+
timeout_seconds: z.number().int().min(1).max(300).optional().describe(`Maximum wait time in seconds (default: ${WAIT_DEFAULT_SECONDS}, max: 300). Keep it under your MCP client's request timeout (the SDK default is 60 s) — a longer wait is cut off by the client while the server is still polling. On timeout the tool answers status "pending"; call it again with the same identifier.`),
|
|
180
188
|
}, async ({ id, timeout_seconds }) => {
|
|
181
189
|
try {
|
|
182
|
-
return await pollUntilTerminal(() => http.get(`/api/v1/verifications/${encodeURIComponent(id)}`),
|
|
190
|
+
return await pollUntilTerminal(() => http.get(`/api/v1/verifications/${encodeURIComponent(id)}`),
|
|
191
|
+
// The verification model's full vocabulary, minus the one non-terminal value:
|
|
192
|
+
// pending | verified | failed | expired | revoked | cancelled. `revoked` and `cancelled`
|
|
193
|
+
// were missing and both are reachable and irreversible — a losing sibling of a
|
|
194
|
+
// multi-channel group is set `cancelled` the instant another channel wins, and revoking
|
|
195
|
+
// an asset's proof writes `revoked`. Polling through them wasted the whole budget, and
|
|
196
|
+
// once the timeout stopped being an error it started telling the caller to try again
|
|
197
|
+
// forever.
|
|
198
|
+
['verified', 'failed', 'expired', 'revoked', 'cancelled'], timeout_seconds ?? WAIT_DEFAULT_SECONDS, `verification ${id}`);
|
|
199
|
+
}
|
|
200
|
+
catch (e) {
|
|
201
|
+
if (e instanceof ApiError)
|
|
202
|
+
return errorResult(`${e.code}: ${e.message}`);
|
|
203
|
+
throw e;
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
tool('create_multi_channel_verification', 'Create a multi-channel phone verification: one phone number challenged over several channels at once (OR / first-wins). The first channel the user completes wins, yields a single proof token, and cancels the losing siblings. Exactly one proof is billed, at the winning channel\'s completion — not one per channel, and nothing at creation.\n\nAgent usage: the response includes a `group_id` (format vg_<hex>) and a `channels` array — each block carries a `deep_link` (WhatsApp/Telegram) or an `sms_message` to present to the user — pass the `deep_link` to render_auth_link. A block\'s `qr_text` is that same link already rendered as QR art, not an alternative address: print it verbatim inside a fenced code block or leave it out. Poll get_multi_channel_verification_status with the group_id to track completion and retrieve the proof token when a channel verifies.', {
|
|
207
|
+
type: z.enum(['phone']).describe('Asset type — only "phone" is supported'),
|
|
208
|
+
identifier: z.string().min(1).max(500).describe('Phone number in E.164 format'),
|
|
209
|
+
channels: z.array(z.enum(['whatsapp', 'telegram', 'sms'])).min(1).max(4).describe('1-4 unique channels attempted in parallel (first to complete wins)'),
|
|
210
|
+
external_user_id: z.string().min(1).max(255).optional().describe('Your application user ID for grouping verifications'),
|
|
211
|
+
client_metadata: z.record(z.string()).optional().describe('Custom key-value metadata'),
|
|
212
|
+
proof_expiry_days: z.number().int().min(1).max(365).optional().describe('Per-request proof expiry override in days (1-365)'),
|
|
213
|
+
}, async (args) => {
|
|
214
|
+
try {
|
|
215
|
+
const result = await http.post('/api/v1/verifications/multi-channel', args);
|
|
216
|
+
return jsonResult(result);
|
|
217
|
+
}
|
|
218
|
+
catch (e) {
|
|
219
|
+
if (e instanceof ApiError)
|
|
220
|
+
return errorResult(`${e.code}: ${e.message}`);
|
|
221
|
+
throw e;
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
tool('get_multi_channel_verification_status', 'Get the status of a multi-channel verification group by its group_id. Returns the aggregate status (pending/verified/expired), the winning_channel once one completes, per-channel statuses, and the proof token (with expires_at) when the group is verified.', {
|
|
225
|
+
group_id: z.string().describe('Multi-channel verification group ID (format vg_<hex>)'),
|
|
226
|
+
}, async ({ group_id }) => {
|
|
227
|
+
try {
|
|
228
|
+
const result = await http.get(`/api/v1/verifications/multi-channel/${encodeURIComponent(group_id)}/status`);
|
|
229
|
+
return jsonResult(result);
|
|
183
230
|
}
|
|
184
231
|
catch (e) {
|
|
185
232
|
if (e instanceof ApiError)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifications.js","sourceRoot":"","sources":["../../src/tools/verifications.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"verifications.js","sourceRoot":"","sources":["../../src/tools/verifications.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -2,6 +2,12 @@ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
export type ToolRegistrar = McpServer['tool'];
|
|
4
4
|
export declare const credentialsSchema: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodString>, Record<string, string>, Record<string, string>>;
|
|
5
|
+
/** Canonical BSUID regex — must match src/utils/hitl-crypto.ts BSUID_REGEX */
|
|
6
|
+
export declare const BSUID_REGEX: RegExp;
|
|
7
|
+
/** Canonical asset-type enum — must match src/middleware/validate.ts verificationTypeSchema */
|
|
8
|
+
export declare const VERIFICATION_TYPE_VALUES: readonly ["phone", "email", "domain", "social", "wallet", "account", "telegram_bot"];
|
|
9
|
+
/** Canonical channel enum — must match src/middleware/validate.ts verificationChannelSchema */
|
|
10
|
+
export declare const VERIFICATION_CHANNEL_VALUES: readonly ["whatsapp", "telegram", "sms", "email", "dns", "http", "auto", "github", "google", "facebook", "x", "linkedin", "instagram", "youtube", "tiktok", "ethereum", "solana", "bitcoin", "coinbase", "kraken", "telegram_bot_token"];
|
|
5
11
|
export declare function jsonResult(data: unknown): {
|
|
6
12
|
content: {
|
|
7
13
|
type: "text";
|
|
@@ -15,6 +21,18 @@ export declare function errorResult(message: string): {
|
|
|
15
21
|
}[];
|
|
16
22
|
isError: boolean;
|
|
17
23
|
};
|
|
24
|
+
/**
|
|
25
|
+
* Default `timeout_seconds` for every tool that waits through `pollUntilTerminal`.
|
|
26
|
+
*
|
|
27
|
+
* Under a minute on purpose: the MCP SDK's default request timeout is 60 s
|
|
28
|
+
* (`DEFAULT_REQUEST_TIMEOUT_MSEC`), and this server sends no progress notification that could
|
|
29
|
+
* extend it, so a wait longer than that is cut off by the CLIENT while the server is still polling —
|
|
30
|
+
* `MCP error -32001: Request timed out`, measured live with the old default of 120 s while a human
|
|
31
|
+
* was scanning the QR code. The 10-minute figure in docs/POLLING_CONTRACT.md is for SDK waits that
|
|
32
|
+
* own their own clock; a tool call does not. Callers may still pass a longer value if their client
|
|
33
|
+
* allows it, and on timeout the tool answers "pending — call again" rather than an error.
|
|
34
|
+
*/
|
|
35
|
+
export declare const WAIT_DEFAULT_SECONDS = 50;
|
|
18
36
|
export declare function pollUntilTerminal(fetch: () => Promise<Record<string, unknown>>, terminalStatuses: string[], timeoutSeconds: number, label: string): Promise<{
|
|
19
37
|
content: {
|
|
20
38
|
type: "text";
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAE9C,eAAO,MAAM,iBAAiB,qGAK6B,CAAC;AAE5D,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO;;;;;EAIvC;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM;;;;;;EAK1C;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAE9C,eAAO,MAAM,iBAAiB,qGAK6B,CAAC;AAE5D,8EAA8E;AAC9E,eAAO,MAAM,WAAW,QAAoC,CAAC;AAE7D,+FAA+F;AAC/F,eAAO,MAAM,wBAAwB,sFAE3B,CAAC;AAEX,+FAA+F;AAC/F,eAAO,MAAM,2BAA2B,0OAQ9B,CAAC;AAEX,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO;;;;;EAIvC;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM;;;;;;EAK1C;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAsCvC,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC7C,gBAAgB,EAAE,MAAM,EAAE,EAC1B,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM;;;;;GAgEd"}
|
package/dist/types.js
CHANGED
|
@@ -5,6 +5,22 @@ export const credentialsSchema = z
|
|
|
5
5
|
message: 'Too many credential fields (max 20)',
|
|
6
6
|
})
|
|
7
7
|
.describe('Provider-specific credential key-value pairs');
|
|
8
|
+
/** Canonical BSUID regex — must match src/utils/hitl-crypto.ts BSUID_REGEX */
|
|
9
|
+
export const BSUID_REGEX = /^[A-Z]{2}\.[a-zA-Z0-9]{10,140}$/;
|
|
10
|
+
/** Canonical asset-type enum — must match src/middleware/validate.ts verificationTypeSchema */
|
|
11
|
+
export const VERIFICATION_TYPE_VALUES = [
|
|
12
|
+
'phone', 'email', 'domain', 'social', 'wallet', 'account', 'telegram_bot',
|
|
13
|
+
];
|
|
14
|
+
/** Canonical channel enum — must match src/middleware/validate.ts verificationChannelSchema */
|
|
15
|
+
export const VERIFICATION_CHANNEL_VALUES = [
|
|
16
|
+
'whatsapp', 'telegram', 'sms',
|
|
17
|
+
'email',
|
|
18
|
+
'dns', 'http', 'auto',
|
|
19
|
+
'github', 'google', 'facebook', 'x', 'linkedin', 'instagram', 'youtube', 'tiktok',
|
|
20
|
+
'ethereum', 'solana', 'bitcoin',
|
|
21
|
+
'coinbase', 'kraken',
|
|
22
|
+
'telegram_bot_token',
|
|
23
|
+
];
|
|
8
24
|
export function jsonResult(data) {
|
|
9
25
|
return {
|
|
10
26
|
content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
|
|
@@ -16,20 +32,113 @@ export function errorResult(message) {
|
|
|
16
32
|
isError: true,
|
|
17
33
|
};
|
|
18
34
|
}
|
|
19
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Default `timeout_seconds` for every tool that waits through `pollUntilTerminal`.
|
|
37
|
+
*
|
|
38
|
+
* Under a minute on purpose: the MCP SDK's default request timeout is 60 s
|
|
39
|
+
* (`DEFAULT_REQUEST_TIMEOUT_MSEC`), and this server sends no progress notification that could
|
|
40
|
+
* extend it, so a wait longer than that is cut off by the CLIENT while the server is still polling —
|
|
41
|
+
* `MCP error -32001: Request timed out`, measured live with the old default of 120 s while a human
|
|
42
|
+
* was scanning the QR code. The 10-minute figure in docs/POLLING_CONTRACT.md is for SDK waits that
|
|
43
|
+
* own their own clock; a tool call does not. Callers may still pass a longer value if their client
|
|
44
|
+
* allows it, and on timeout the tool answers "pending — call again" rather than an error.
|
|
45
|
+
*/
|
|
46
|
+
export const WAIT_DEFAULT_SECONDS = 50;
|
|
47
|
+
// Polling contract: docs/POLLING_CONTRACT.md
|
|
48
|
+
const POLL_INITIAL_INTERVAL_MS = 2000;
|
|
49
|
+
const POLL_BACKOFF_FACTOR = 1.5;
|
|
50
|
+
const POLL_MAX_INTERVAL_MS = 30_000;
|
|
51
|
+
const POLL_JITTER_MAX_MS = 500;
|
|
52
|
+
const POLL_ERROR_BACKOFF_FACTOR = 2;
|
|
53
|
+
/** Returned by `withinBudget` when the wait ran out before the poll answered. */
|
|
54
|
+
const POLL_BUDGET_SPENT = Symbol('poll budget spent');
|
|
55
|
+
/**
|
|
56
|
+
* Bound ONE poll by what is left of the wait.
|
|
57
|
+
*
|
|
58
|
+
* Without this the budget governed only when a new ITERATION may begin. The request started inside
|
|
59
|
+
* the last permitted iteration was bounded by `HttpClient`'s own 30 s timeout instead, so against a
|
|
60
|
+
* degraded API a 50 s wait could answer at ~71 s — past the 60 s at which the CLIENT kills the call
|
|
61
|
+
* with `MCP error -32001: Request timed out`, which is the exact failure this whole task exists to
|
|
62
|
+
* remove. The abandoned request is not cancelled here (the fetch fn is an opaque closure); the HTTP
|
|
63
|
+
* client's own AbortController still ends it, and its rejection is swallowed so it cannot surface
|
|
64
|
+
* later as an unhandled rejection with nobody listening.
|
|
65
|
+
*/
|
|
66
|
+
async function withinBudget(work, remainingMs) {
|
|
67
|
+
let timer;
|
|
68
|
+
work.catch(() => { });
|
|
69
|
+
try {
|
|
70
|
+
return await Promise.race([
|
|
71
|
+
work,
|
|
72
|
+
new Promise((resolve) => {
|
|
73
|
+
timer = setTimeout(() => resolve(POLL_BUDGET_SPENT), Math.max(0, remainingMs));
|
|
74
|
+
}),
|
|
75
|
+
]);
|
|
76
|
+
}
|
|
77
|
+
finally {
|
|
78
|
+
clearTimeout(timer);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
20
81
|
export async function pollUntilTerminal(fetch, terminalStatuses, timeoutSeconds, label) {
|
|
21
82
|
const timeoutMs = timeoutSeconds * 1000;
|
|
22
83
|
const start = Date.now();
|
|
84
|
+
let interval = POLL_INITIAL_INTERVAL_MS;
|
|
85
|
+
let lastStatus = null;
|
|
23
86
|
while (Date.now() - start < timeoutMs) {
|
|
24
|
-
|
|
87
|
+
let polled;
|
|
88
|
+
try {
|
|
89
|
+
polled = await withinBudget(fetch(), timeoutMs - (Date.now() - start));
|
|
90
|
+
}
|
|
91
|
+
catch (e) {
|
|
92
|
+
const statusCode = e.statusCode;
|
|
93
|
+
if (statusCode === 429 || (statusCode && statusCode >= 500)) {
|
|
94
|
+
interval = Math.min(interval * POLL_ERROR_BACKOFF_FACTOR, POLL_MAX_INTERVAL_MS);
|
|
95
|
+
const jitter = Math.random() * POLL_JITTER_MAX_MS;
|
|
96
|
+
if (Date.now() - start + interval + jitter >= timeoutMs)
|
|
97
|
+
break;
|
|
98
|
+
await new Promise((resolve) => setTimeout(resolve, interval + jitter));
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
throw e;
|
|
102
|
+
}
|
|
103
|
+
if (polled === POLL_BUDGET_SPENT)
|
|
104
|
+
break;
|
|
105
|
+
const result = polled;
|
|
25
106
|
const status = result.status;
|
|
26
107
|
if (status && terminalStatuses.includes(status)) {
|
|
27
108
|
return jsonResult(result);
|
|
28
109
|
}
|
|
29
|
-
if (
|
|
110
|
+
if (status)
|
|
111
|
+
lastStatus = status;
|
|
112
|
+
const jitter = Math.random() * POLL_JITTER_MAX_MS;
|
|
113
|
+
if (Date.now() - start + interval + jitter >= timeoutMs)
|
|
30
114
|
break;
|
|
31
|
-
await new Promise((resolve) => setTimeout(resolve,
|
|
115
|
+
await new Promise((resolve) => setTimeout(resolve, interval + jitter));
|
|
116
|
+
interval = Math.min(interval * POLL_BACKOFF_FACTOR, POLL_MAX_INTERVAL_MS);
|
|
32
117
|
}
|
|
33
|
-
|
|
118
|
+
// "Not yet" is not a failure: the human may still be finishing the step. An `isError` here made
|
|
119
|
+
// agents report the login as failed and stop; a pending status is what makes them poll again.
|
|
120
|
+
//
|
|
121
|
+
// `status` describes the WAIT, `last_status` the RESOURCE — they are not the same fact. For most
|
|
122
|
+
// of these tools the two coincide, but a verification request has two non-terminal statuses, so a
|
|
123
|
+
// flat `pending` there would overwrite a real `partial` with a different, also-real value and
|
|
124
|
+
// invite an agent to re-drive a flow that is already half done. It is the last NON-TERMINAL
|
|
125
|
+
// status actually seen — a terminal one returns above and never reaches here — and null when no
|
|
126
|
+
// poll ever returned one at all (every attempt hit a retryable error, or every body arrived
|
|
127
|
+
// without a `status`). Inventing a value for that case would be the same defect twice.
|
|
128
|
+
//
|
|
129
|
+
// `waited_seconds` is what ELAPSED, `timeout_seconds` the budget it was given. They are usually
|
|
130
|
+
// different: the loop breaks as soon as the NEXT interval would overrun, so a 50 s budget stops
|
|
131
|
+
// waiting at about 42 s. Reporting the budget under a name that says "waited" is the same
|
|
132
|
+
// substitution of the subject of the report for the subject of the measurement that this whole
|
|
133
|
+
// envelope exists to undo, and an agent pacing its retries off that field would be ~17% out.
|
|
134
|
+
const waitedSeconds = Math.round((Date.now() - start) / 1000);
|
|
135
|
+
return jsonResult({
|
|
136
|
+
status: 'pending',
|
|
137
|
+
last_status: lastStatus,
|
|
138
|
+
waited_seconds: waitedSeconds,
|
|
139
|
+
timeout_seconds: timeoutSeconds,
|
|
140
|
+
message: `${label} has not reached a terminal state after ${waitedSeconds} seconds and is still running ` +
|
|
141
|
+
`(last observed status: ${lastStatus ?? 'unknown'}) — call this tool again with the same identifier to keep waiting.`,
|
|
142
|
+
});
|
|
34
143
|
}
|
|
35
144
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KAC5B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE;IAC9C,OAAO,EAAE,qCAAqC;CAC/C,CAAC;KACD,QAAQ,CAAC,8CAA8C,CAAC,CAAC;AAE5D,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACnD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KAC5B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE;IAC9C,OAAO,EAAE,qCAAqC;CAC/C,CAAC;KACD,QAAQ,CAAC,8CAA8C,CAAC,CAAC;AAE5D,8EAA8E;AAC9E,MAAM,CAAC,MAAM,WAAW,GAAG,iCAAiC,CAAC;AAE7D,+FAA+F;AAC/F,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc;CACjE,CAAC;AAEX,+FAA+F;AAC/F,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,UAAU,EAAE,UAAU,EAAE,KAAK;IAC7B,OAAO;IACP,KAAK,EAAE,MAAM,EAAE,MAAM;IACrB,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ;IACjF,UAAU,EAAE,QAAQ,EAAE,SAAS;IAC/B,UAAU,EAAE,QAAQ;IACpB,oBAAoB;CACZ,CAAC;AAEX,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACnD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEvC,6CAA6C;AAC7C,MAAM,wBAAwB,GAAG,IAAI,CAAC;AACtC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AACpC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAEpC,iFAAiF;AACjF,MAAM,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAEtD;;;;;;;;;;GAUG;AACH,KAAK,UAAU,YAAY,CAAI,IAAgB,EAAE,WAAmB;IAClE,IAAI,KAAgD,CAAC;IACrD,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;YACxB,IAAI;YACJ,IAAI,OAAO,CAA2B,CAAC,OAAO,EAAE,EAAE;gBAChD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;YACjF,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAA6C,EAC7C,gBAA0B,EAC1B,cAAsB,EACtB,KAAa;IAEb,MAAM,SAAS,GAAG,cAAc,GAAG,IAAI,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,IAAI,QAAQ,GAAG,wBAAwB,CAAC;IACxC,IAAI,UAAU,GAAkB,IAAI,CAAC;IAErC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,SAAS,EAAE,CAAC;QACtC,IAAI,MAA0D,CAAC;QAE/D,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,EAAE,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,UAAU,GAAI,CAA6B,CAAC,UAAU,CAAC;YAC7D,IAAI,UAAU,KAAK,GAAG,IAAI,CAAC,UAAU,IAAI,UAAU,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC5D,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,yBAAyB,EAAE,oBAAoB,CAAC,CAAC;gBAChF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,kBAAkB,CAAC;gBAClD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,IAAI,SAAS;oBAAE,MAAM;gBAC/D,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC;gBACvE,SAAS;YACX,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;QAED,IAAI,MAAM,KAAK,iBAAiB;YAAE,MAAM;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC;QAEtB,MAAM,MAAM,GAAG,MAAM,CAAC,MAA4B,CAAC;QACnD,IAAI,MAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,MAAM;YAAE,UAAU,GAAG,MAAM,CAAC;QAEhC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,kBAAkB,CAAC;QAClD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,IAAI,SAAS;YAAE,MAAM;QAC/D,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC;QACvE,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;IAC5E,CAAC;IACD,gGAAgG;IAChG,8FAA8F;IAC9F,EAAE;IACF,iGAAiG;IACjG,kGAAkG;IAClG,8FAA8F;IAC9F,4FAA4F;IAC5F,gGAAgG;IAChG,4FAA4F;IAC5F,uFAAuF;IACvF,EAAE;IACF,gGAAgG;IAChG,gGAAgG;IAChG,0FAA0F;IAC1F,+FAA+F;IAC/F,6FAA6F;IAC7F,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9D,OAAO,UAAU,CAAC;QAChB,MAAM,EAAE,SAAS;QACjB,WAAW,EAAE,UAAU;QACvB,cAAc,EAAE,aAAa;QAC7B,eAAe,EAAE,cAAc;QAC/B,OAAO,EACL,GAAG,KAAK,2CAA2C,aAAa,gCAAgC;YAChG,0BAA0B,UAAU,IAAI,SAAS,oEAAoE;KACxH,CAAC,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@proof-holdings/mcp-server",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"
|
|
3
|
+
"version": "1.2.0",
|
|
4
|
+
"mcpName": "holdings.proof/mcp-server",
|
|
5
|
+
"description": "MCP server for the proof.holdings API — 171 tools for identity verification, proofs, and asset management",
|
|
5
6
|
"type": "module",
|
|
6
7
|
"license": "MIT",
|
|
7
8
|
"author": "proof.holdings <hello@proof.holdings> (https://proof.holdings)",
|
|
8
9
|
"homepage": "https://proof.holdings",
|
|
9
10
|
"repository": {
|
|
10
11
|
"type": "git",
|
|
11
|
-
"url": "https://
|
|
12
|
-
"directory": "mcp"
|
|
12
|
+
"url": "https://github.com/ProofHoldings/mcp-server.git"
|
|
13
13
|
},
|
|
14
14
|
"bugs": {
|
|
15
15
|
"email": "hello@proof.holdings",
|
|
@@ -39,10 +39,13 @@
|
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@modelcontextprotocol/sdk": "^1.12.0",
|
|
42
|
+
"@proof-holdings/delegation-verifier": "^0.1.0",
|
|
43
|
+
"qrcode": "^1.5.4",
|
|
42
44
|
"zod": "^3.24.0"
|
|
43
45
|
},
|
|
44
46
|
"devDependencies": {
|
|
45
47
|
"@types/node": "^20.11.0",
|
|
48
|
+
"@types/qrcode": "^1.5.6",
|
|
46
49
|
"typescript": "^5.5.0",
|
|
47
50
|
"vitest": "^3.0.0"
|
|
48
51
|
},
|
|
@@ -53,5 +56,8 @@
|
|
|
53
56
|
"dist",
|
|
54
57
|
"README.md",
|
|
55
58
|
"LICENSE"
|
|
56
|
-
]
|
|
59
|
+
],
|
|
60
|
+
"publishConfig": {
|
|
61
|
+
"access": "public"
|
|
62
|
+
}
|
|
57
63
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,QA6LlE"}
|