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.
@@ -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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"}
@@ -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"}