id-verify-mcp 1.0.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 +21 -0
- package/README.md +103 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +460 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/apiClient.d.ts +147 -0
- package/dist/utils/apiClient.d.ts.map +1 -0
- package/dist/utils/apiClient.js +280 -0
- package/dist/utils/apiClient.js.map +1 -0
- package/dist/worker.d.ts +14 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +333 -0
- package/dist/worker.js.map +1 -0
- package/package.json +55 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API Client for ID Verify API
|
|
3
|
+
* Handles all HTTP requests to the ID Verify backend
|
|
4
|
+
* Supports both API key auth (for verification endpoints) and JWT auth (for partner endpoints)
|
|
5
|
+
*/
|
|
6
|
+
export interface ApiConfig {
|
|
7
|
+
baseUrl: string;
|
|
8
|
+
apiKey: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ApiResponse<T> {
|
|
11
|
+
success: boolean;
|
|
12
|
+
data?: T;
|
|
13
|
+
error?: string;
|
|
14
|
+
message?: string;
|
|
15
|
+
token?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare class IdVerifyApiClient {
|
|
18
|
+
private baseUrl;
|
|
19
|
+
private apiKey;
|
|
20
|
+
private jwtToken;
|
|
21
|
+
constructor(config?: Partial<ApiConfig>);
|
|
22
|
+
/**
|
|
23
|
+
* Make request with API key auth
|
|
24
|
+
*/
|
|
25
|
+
private requestWithApiKey;
|
|
26
|
+
/**
|
|
27
|
+
* Make request with JWT auth
|
|
28
|
+
*/
|
|
29
|
+
private requestWithJwt;
|
|
30
|
+
/**
|
|
31
|
+
* Create a new verification request
|
|
32
|
+
*/
|
|
33
|
+
createVerification(params: {
|
|
34
|
+
fullName?: string;
|
|
35
|
+
email?: string;
|
|
36
|
+
phone?: string;
|
|
37
|
+
documentType?: string;
|
|
38
|
+
callbackUrl?: string;
|
|
39
|
+
}): Promise<ApiResponse<any>>;
|
|
40
|
+
/**
|
|
41
|
+
* Get verification by ID
|
|
42
|
+
*/
|
|
43
|
+
getVerification(verificationId: string): Promise<ApiResponse<any>>;
|
|
44
|
+
/**
|
|
45
|
+
* Get verification result
|
|
46
|
+
*/
|
|
47
|
+
getVerificationResult(verificationId: string): Promise<ApiResponse<any>>;
|
|
48
|
+
/**
|
|
49
|
+
* Register a new partner account (public endpoint)
|
|
50
|
+
*/
|
|
51
|
+
registerPartner(params: {
|
|
52
|
+
email: string;
|
|
53
|
+
contactName: string;
|
|
54
|
+
password: string;
|
|
55
|
+
companyName?: string;
|
|
56
|
+
phone?: string;
|
|
57
|
+
webhookUrl?: string;
|
|
58
|
+
}): Promise<ApiResponse<any>>;
|
|
59
|
+
/**
|
|
60
|
+
* Partner login - stores JWT token for subsequent requests
|
|
61
|
+
*/
|
|
62
|
+
partnerLogin(email: string, password: string): Promise<ApiResponse<any>>;
|
|
63
|
+
/**
|
|
64
|
+
* Check if partner is authenticated
|
|
65
|
+
*/
|
|
66
|
+
isAuthenticated(): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Get partner profile
|
|
69
|
+
*/
|
|
70
|
+
getPartnerProfile(): Promise<ApiResponse<any>>;
|
|
71
|
+
/**
|
|
72
|
+
* Get partner verifications (all verifications for the logged-in partner)
|
|
73
|
+
*/
|
|
74
|
+
getPartnerVerifications(params?: {
|
|
75
|
+
status?: 'PENDING' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED' | 'EXPIRED';
|
|
76
|
+
limit?: number;
|
|
77
|
+
offset?: number;
|
|
78
|
+
search?: string;
|
|
79
|
+
}): Promise<ApiResponse<any>>;
|
|
80
|
+
/**
|
|
81
|
+
* Get partner verification by ID
|
|
82
|
+
*/
|
|
83
|
+
getPartnerVerificationById(verificationId: string): Promise<ApiResponse<any>>;
|
|
84
|
+
/**
|
|
85
|
+
* Get partner usage stats
|
|
86
|
+
*/
|
|
87
|
+
getPartnerUsageStats(): Promise<ApiResponse<any>>;
|
|
88
|
+
/**
|
|
89
|
+
* Get partner webhook logs
|
|
90
|
+
*/
|
|
91
|
+
getPartnerWebhookLogs(): Promise<ApiResponse<any>>;
|
|
92
|
+
/**
|
|
93
|
+
* Request a new verification (partner portal style)
|
|
94
|
+
*/
|
|
95
|
+
requestVerification(params: {
|
|
96
|
+
fullName?: string;
|
|
97
|
+
email?: string;
|
|
98
|
+
phone?: string;
|
|
99
|
+
documentType?: string;
|
|
100
|
+
}): Promise<ApiResponse<any>>;
|
|
101
|
+
/**
|
|
102
|
+
* Resend verification email
|
|
103
|
+
*/
|
|
104
|
+
resendVerificationEmail(verificationId: string): Promise<ApiResponse<any>>;
|
|
105
|
+
/**
|
|
106
|
+
* Resend webhook for a verification
|
|
107
|
+
*/
|
|
108
|
+
resendWebhook(verificationId: string): Promise<ApiResponse<any>>;
|
|
109
|
+
/**
|
|
110
|
+
* Admin: Create a new partner
|
|
111
|
+
*/
|
|
112
|
+
createPartner(params: {
|
|
113
|
+
name: string;
|
|
114
|
+
email: string;
|
|
115
|
+
password: string;
|
|
116
|
+
company?: string;
|
|
117
|
+
webhookUrl?: string;
|
|
118
|
+
}): Promise<ApiResponse<any>>;
|
|
119
|
+
/**
|
|
120
|
+
* Admin: List all partners
|
|
121
|
+
*/
|
|
122
|
+
listPartners(params?: {
|
|
123
|
+
limit?: number;
|
|
124
|
+
offset?: number;
|
|
125
|
+
search?: string;
|
|
126
|
+
status?: 'ACTIVE' | 'INACTIVE' | 'SUSPENDED';
|
|
127
|
+
}): Promise<ApiResponse<any>>;
|
|
128
|
+
/**
|
|
129
|
+
* Admin: Get partner by ID
|
|
130
|
+
*/
|
|
131
|
+
getPartner(partnerId: string): Promise<ApiResponse<any>>;
|
|
132
|
+
/**
|
|
133
|
+
* Admin: Update partner
|
|
134
|
+
*/
|
|
135
|
+
updatePartner(partnerId: string, params: {
|
|
136
|
+
name?: string;
|
|
137
|
+
company?: string;
|
|
138
|
+
webhookUrl?: string;
|
|
139
|
+
status?: 'ACTIVE' | 'INACTIVE' | 'SUSPENDED';
|
|
140
|
+
}): Promise<ApiResponse<any>>;
|
|
141
|
+
/**
|
|
142
|
+
* Admin: Delete partner
|
|
143
|
+
*/
|
|
144
|
+
deletePartner(partnerId: string): Promise<ApiResponse<any>>;
|
|
145
|
+
}
|
|
146
|
+
export declare const apiClient: IdVerifyApiClient;
|
|
147
|
+
//# sourceMappingURL=apiClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiClient.d.ts","sourceRoot":"","sources":["../../src/utils/apiClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API Client for ID Verify API
|
|
3
|
+
* Handles all HTTP requests to the ID Verify backend
|
|
4
|
+
* Supports both API key auth (for verification endpoints) and JWT auth (for partner endpoints)
|
|
5
|
+
*/
|
|
6
|
+
export class IdVerifyApiClient {
|
|
7
|
+
baseUrl;
|
|
8
|
+
apiKey;
|
|
9
|
+
jwtToken = null;
|
|
10
|
+
constructor(config) {
|
|
11
|
+
this.baseUrl = config?.baseUrl || process.env.ID_VERIFY_API_URL || 'http://localhost:3000';
|
|
12
|
+
this.apiKey = config?.apiKey || process.env.ID_VERIFY_API_KEY || '';
|
|
13
|
+
if (!this.apiKey) {
|
|
14
|
+
console.warn('[IdVerifyApiClient] No API key provided. Set ID_VERIFY_API_KEY environment variable.');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Make request with API key auth
|
|
19
|
+
*/
|
|
20
|
+
async requestWithApiKey(endpoint, options = {}) {
|
|
21
|
+
const url = `${this.baseUrl}${endpoint}`;
|
|
22
|
+
const headers = {
|
|
23
|
+
'Content-Type': 'application/json',
|
|
24
|
+
...(options.headers || {})
|
|
25
|
+
};
|
|
26
|
+
if (this.apiKey) {
|
|
27
|
+
headers['x-api-key'] = this.apiKey;
|
|
28
|
+
}
|
|
29
|
+
try {
|
|
30
|
+
const response = await fetch(url, {
|
|
31
|
+
...options,
|
|
32
|
+
headers
|
|
33
|
+
});
|
|
34
|
+
const data = await response.json();
|
|
35
|
+
return data;
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
return {
|
|
39
|
+
success: false,
|
|
40
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred'
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Make request with JWT auth
|
|
46
|
+
*/
|
|
47
|
+
async requestWithJwt(endpoint, options = {}) {
|
|
48
|
+
if (!this.jwtToken) {
|
|
49
|
+
return {
|
|
50
|
+
success: false,
|
|
51
|
+
error: 'Not authenticated. Please login first using partner_login tool.'
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
const url = `${this.baseUrl}${endpoint}`;
|
|
55
|
+
const headers = {
|
|
56
|
+
'Content-Type': 'application/json',
|
|
57
|
+
'Authorization': `Bearer ${this.jwtToken}`,
|
|
58
|
+
...(options.headers || {})
|
|
59
|
+
};
|
|
60
|
+
try {
|
|
61
|
+
const response = await fetch(url, {
|
|
62
|
+
...options,
|
|
63
|
+
headers
|
|
64
|
+
});
|
|
65
|
+
const data = await response.json();
|
|
66
|
+
return data;
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
return {
|
|
70
|
+
success: false,
|
|
71
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred'
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
// ===========================================================================
|
|
76
|
+
// API Key Auth Endpoints (Verification API)
|
|
77
|
+
// ===========================================================================
|
|
78
|
+
/**
|
|
79
|
+
* Create a new verification request
|
|
80
|
+
*/
|
|
81
|
+
async createVerification(params) {
|
|
82
|
+
return this.requestWithApiKey('/api/v1/verifications', {
|
|
83
|
+
method: 'POST',
|
|
84
|
+
body: JSON.stringify(params)
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Get verification by ID
|
|
89
|
+
*/
|
|
90
|
+
async getVerification(verificationId) {
|
|
91
|
+
return this.requestWithApiKey(`/api/v1/verifications/${verificationId}`);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Get verification result
|
|
95
|
+
*/
|
|
96
|
+
async getVerificationResult(verificationId) {
|
|
97
|
+
return this.requestWithApiKey(`/api/v1/verifications/${verificationId}/result`);
|
|
98
|
+
}
|
|
99
|
+
// ===========================================================================
|
|
100
|
+
// Public Endpoints (No Auth Required)
|
|
101
|
+
// ===========================================================================
|
|
102
|
+
/**
|
|
103
|
+
* Register a new partner account (public endpoint)
|
|
104
|
+
*/
|
|
105
|
+
async registerPartner(params) {
|
|
106
|
+
const url = `${this.baseUrl}/api/v1/partners/register`;
|
|
107
|
+
try {
|
|
108
|
+
const response = await fetch(url, {
|
|
109
|
+
method: 'POST',
|
|
110
|
+
headers: { 'Content-Type': 'application/json' },
|
|
111
|
+
body: JSON.stringify(params)
|
|
112
|
+
});
|
|
113
|
+
return await response.json();
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
return {
|
|
117
|
+
success: false,
|
|
118
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred'
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// ===========================================================================
|
|
123
|
+
// JWT Auth Endpoints (Partner API)
|
|
124
|
+
// ===========================================================================
|
|
125
|
+
/**
|
|
126
|
+
* Partner login - stores JWT token for subsequent requests
|
|
127
|
+
*/
|
|
128
|
+
async partnerLogin(email, password) {
|
|
129
|
+
const url = `${this.baseUrl}/api/v1/partners/login`;
|
|
130
|
+
try {
|
|
131
|
+
const response = await fetch(url, {
|
|
132
|
+
method: 'POST',
|
|
133
|
+
headers: { 'Content-Type': 'application/json' },
|
|
134
|
+
body: JSON.stringify({ email, password })
|
|
135
|
+
});
|
|
136
|
+
const data = await response.json();
|
|
137
|
+
// Check for token in multiple possible locations
|
|
138
|
+
const token = data.token || data.data?.token;
|
|
139
|
+
if (data.success && token) {
|
|
140
|
+
this.jwtToken = token;
|
|
141
|
+
console.error('[IdVerifyApiClient] Partner login successful, JWT token stored');
|
|
142
|
+
}
|
|
143
|
+
else if (data.success) {
|
|
144
|
+
console.error('[IdVerifyApiClient] Login response success but no token found. Response:', JSON.stringify(data));
|
|
145
|
+
}
|
|
146
|
+
return data;
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
return {
|
|
150
|
+
success: false,
|
|
151
|
+
error: error instanceof Error ? error.message : 'Unknown error occurred'
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Check if partner is authenticated
|
|
157
|
+
*/
|
|
158
|
+
isAuthenticated() {
|
|
159
|
+
return this.jwtToken !== null;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Get partner profile
|
|
163
|
+
*/
|
|
164
|
+
async getPartnerProfile() {
|
|
165
|
+
return this.requestWithJwt('/api/v1/partners/profile');
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Get partner verifications (all verifications for the logged-in partner)
|
|
169
|
+
*/
|
|
170
|
+
async getPartnerVerifications(params) {
|
|
171
|
+
const searchParams = new URLSearchParams();
|
|
172
|
+
if (params?.status)
|
|
173
|
+
searchParams.set('status', params.status);
|
|
174
|
+
if (params?.limit)
|
|
175
|
+
searchParams.set('limit', params.limit.toString());
|
|
176
|
+
if (params?.offset)
|
|
177
|
+
searchParams.set('offset', params.offset.toString());
|
|
178
|
+
if (params?.search)
|
|
179
|
+
searchParams.set('search', params.search);
|
|
180
|
+
const query = searchParams.toString();
|
|
181
|
+
return this.requestWithJwt(`/api/v1/partners/verifications${query ? `?${query}` : ''}`);
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Get partner verification by ID
|
|
185
|
+
*/
|
|
186
|
+
async getPartnerVerificationById(verificationId) {
|
|
187
|
+
return this.requestWithJwt(`/api/v1/partners/verifications/${verificationId}`);
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Get partner usage stats
|
|
191
|
+
*/
|
|
192
|
+
async getPartnerUsageStats() {
|
|
193
|
+
return this.requestWithJwt('/api/v1/partners/usage-stats');
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Get partner webhook logs
|
|
197
|
+
*/
|
|
198
|
+
async getPartnerWebhookLogs() {
|
|
199
|
+
return this.requestWithJwt('/api/v1/partners/webhooks');
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Request a new verification (partner portal style)
|
|
203
|
+
*/
|
|
204
|
+
async requestVerification(params) {
|
|
205
|
+
return this.requestWithJwt('/api/v1/partners/verifications/request', {
|
|
206
|
+
method: 'POST',
|
|
207
|
+
body: JSON.stringify(params)
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Resend verification email
|
|
212
|
+
*/
|
|
213
|
+
async resendVerificationEmail(verificationId) {
|
|
214
|
+
return this.requestWithJwt(`/api/v1/partners/verifications/${verificationId}/resend-email`, {
|
|
215
|
+
method: 'POST'
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Resend webhook for a verification
|
|
220
|
+
*/
|
|
221
|
+
async resendWebhook(verificationId) {
|
|
222
|
+
return this.requestWithJwt(`/api/v1/partners/verifications/${verificationId}/resend-webhook`, {
|
|
223
|
+
method: 'POST'
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
// ===========================================================================
|
|
227
|
+
// Admin Endpoints (API Key Auth - Partner Management)
|
|
228
|
+
// ===========================================================================
|
|
229
|
+
/**
|
|
230
|
+
* Admin: Create a new partner
|
|
231
|
+
*/
|
|
232
|
+
async createPartner(params) {
|
|
233
|
+
return this.requestWithApiKey('/api/v1/admin/partners', {
|
|
234
|
+
method: 'POST',
|
|
235
|
+
body: JSON.stringify(params)
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Admin: List all partners
|
|
240
|
+
*/
|
|
241
|
+
async listPartners(params) {
|
|
242
|
+
const searchParams = new URLSearchParams();
|
|
243
|
+
if (params?.limit)
|
|
244
|
+
searchParams.set('limit', params.limit.toString());
|
|
245
|
+
if (params?.offset)
|
|
246
|
+
searchParams.set('offset', params.offset.toString());
|
|
247
|
+
if (params?.search)
|
|
248
|
+
searchParams.set('search', params.search);
|
|
249
|
+
if (params?.status)
|
|
250
|
+
searchParams.set('status', params.status);
|
|
251
|
+
const query = searchParams.toString();
|
|
252
|
+
return this.requestWithApiKey(`/api/v1/admin/partners${query ? `?${query}` : ''}`);
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Admin: Get partner by ID
|
|
256
|
+
*/
|
|
257
|
+
async getPartner(partnerId) {
|
|
258
|
+
return this.requestWithApiKey(`/api/v1/admin/partners/${partnerId}`);
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Admin: Update partner
|
|
262
|
+
*/
|
|
263
|
+
async updatePartner(partnerId, params) {
|
|
264
|
+
return this.requestWithApiKey(`/api/v1/admin/partners/${partnerId}`, {
|
|
265
|
+
method: 'PATCH',
|
|
266
|
+
body: JSON.stringify(params)
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Admin: Delete partner
|
|
271
|
+
*/
|
|
272
|
+
async deletePartner(partnerId) {
|
|
273
|
+
return this.requestWithApiKey(`/api/v1/admin/partners/${partnerId}`, {
|
|
274
|
+
method: 'DELETE'
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
// Export singleton instance
|
|
279
|
+
export const apiClient = new IdVerifyApiClient();
|
|
280
|
+
//# sourceMappingURL=apiClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../src/utils/apiClient.ts"],"names":[],"mappings":"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"}
|
package/dist/worker.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ID Verify MCP Server - Cloudflare Worker
|
|
3
|
+
*
|
|
4
|
+
* Implements MCP protocol with SSE transport for Claude Desktop.
|
|
5
|
+
*/
|
|
6
|
+
export interface Env {
|
|
7
|
+
ID_VERIFY_API_URL: string;
|
|
8
|
+
ID_VERIFY_API_KEY: string;
|
|
9
|
+
}
|
|
10
|
+
declare const _default: {
|
|
11
|
+
fetch(request: Request, env: Env): Promise<Response>;
|
|
12
|
+
};
|
|
13
|
+
export default _default;
|
|
14
|
+
//# sourceMappingURL=worker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,GAAG;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;;mBA+RsB,OAAO,OAAO,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;;AAD5D,wBAuFE"}
|